AI에게 예산을 부여하면 어떤 일이 벌어질까
요약
LLM에 실행 예산을 부여했을 때 모델의 행동 방식이 어떻게 변화하는지 탐구한 실험 결과입니다. 예산 제약이 주어지면 모델은 불필요한 기능을 추가하는 대신 요청된 사양을 완료하는 데 집중하며 효율성을 높입니다.
핵심 포인트
- 예산 제약은 모델이 무엇을 최적화할지 결정하는 핵심 요소임
- 예산 부여 시 불필요한 코드 생성이 줄어들고 작업 완료에 집중함
- Token Sensei는 런타임에서 토큰 사용량을 추적하여 예산을 강제함
- 모델은 예산 소진 시 체크포인트를 통해 남은 작업과 추가 예산을 요청함
Claude에게 예산을 부여했습니다. 그랬더니 그것이 만드는 방식이 바뀌었습니다.
지난 몇 주 동안 저는 LLM (Large Language Models)이 실행 예산 (execution budgets)을 가지고 작업할 수 있는지, 그리고 그러한 제약이 모델의 행동 방식을 바꾸는지 탐구해 왔습니다.
짧은 답변을 드리자면: 그렇습니다.
문제점
프런티어 모델 (frontier models)을 연구하는 연구자들은 모델들이 예산에 대해 지속적으로 과도하게 낙관적이라는 사실을 발견했습니다. 작업을 중단하고 사용자에게 조기에 알리는 대신, 성공 가능성이 낮은 작업에 계속해서 토큰 (tokens)을 소비합니다. 예산 인지 (budget awareness)를 구체적으로 목표로 하는 미세 조정 (fine-tuning)을 거친 후에도 보정 (calibration) 수치는 47%에 그쳤습니다.
이 문제는 학습만으로는 해결할 수 없습니다. 외부적인 강제 집행 (External enforcement)이 필요합니다.
시도한 내용
저는 Claude에게 고정된 토큰 예산이 있는 구현 작업을 부여하기 시작했습니다.
행동이 바뀌었습니다.
모델은 생각할 수 있는 모든 것을 구축하는 대신, 더 많은 예산을 요청하기 전에 요청된 사양 (specification)을 완료하는 데 집중했습니다.
REST API 작업에서 제약이 없던 Claude는 다음을 추가했습니다:
- JWT 인증 (요청되지 않음)
- 헬스 체크 (Health check) 엔드포인트 (요청되지 않음)
- 전체 테스트 스위트 (Full test suite) (요청되지 않음)
- nodemon 개발 의존성 (nodemon dev dependency) (요청되지 않음)
- URL 유효성 검사 미들웨어 (URL validation middleware) (요청되지 않음)
예산 400인 Token Sensei는 다음을 전달했습니다:
- API
- 그 외 없음
수치
세 가지 작업. 각 두 가지 조건. 동일한 모델 (claude-sonnet-4-5).
| 작업 | 제약 없음 (Unconstrained) | Token Sensei | 절감액 |
|---|---|---|---|
| Notes REST API | 3,584 토큰 | 2,578 토큰 | 28% |
| ... |
Bookmark Manager 작업이 가장 인상적입니다. 제약이 없는 모델은 응답 한도 (response ceiling)에 도달했을 때도 여전히 생성 중이었습니다. Token Sensei는 동일한 작업을 1,604 토큰 만에 완료하고 멈췄습니다.
Token Sensei의 작동 방식
- 작업과 예산을 설정합니다.
- 런타임 (runtime)이 출력을 스트리밍하고 정확한 토큰 사용량을 추적합니다.
- 예산이 소진되면 실행이 일시 중지됩니다.
- 체크포인트 (checkpoint)를 통해 무엇이 완료되었고 무엇이 남았는지 보여줍니다.
- 사용자가 결정합니다 — 계속하기 위해 대출을 승인하거나, 현재 존재하는 것을 배포합니다.
핵심 통찰: 예산은 단순히 모델이 얼마나 많이 생성할지를 제어하는 것이 아닙니다. 그것은 모델이 무엇을 최적화할지를 변화시킵니다. 제약 조건(Constraint) 하에서, 모델은 요청된 작업을 완료하는 것을 우선시합니다. 토큰 사용량 감소는 그 변화의 결과물이지, 목적이 아닙니다.
프로토콜 (The Protocol)
Token Sensei는 런타임(Runtime)이자 프로토콜(Protocol)입니다. LOAN_REQUEST 형식은 모델이 체크포인트(Checkpoint)를 어떻게 드러낼지 알려줍니다:
LOAN_REQUEST
완료됨: ✓ [생성된 작업 결과물]
남은 작업: • [남은 특정 항목들]
요청 예산: [필요한 최소치]
이 예산으로 완료될 항목: ✓ [특정 결과물들]
런타임은 추정치가 아닌, 제공업체(Provider)가 보고한 정확한 토큰 수를 사용하여 외부에서 예산을 강제합니다.
직접 시도해보기
git clone https://github.com/shouvik12/token-sensei
cd token-sensei
npm install
node server.js
localhost:3000을 여세요. 작업을 설정하고, 예산을 설정한 뒤 실행하세요.
MIT 라이선스입니다. dev.to 커뮤니티의 피드백을 기다립니다. 특히 체크포인트 UX가 적절하게 느껴지는지, 그리고 이 프로토콜이 런타임 외부에서도 사용할 만한 것인지 궁금합니다.
모든 AI 작업에는 예산이 있어야 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기