2달러 예산이 왜 4달러가 됐나

AI 게이트웨이 Portkey는 요청, API 키, 팀, 프로젝트별로 지출을 구분하고, 오픈소스 LLM 프록시 LiteLLM은 가상 키마다 예산 상한을 설정한다. 정교한 기능이지만, 두 도구가 비용을 추적하는 단위는 요청이나 자격 증명에 머문다. 하나의 업무가 시작되어 끝날 때까지 이어지는 모델 호출, 도구 사용, 재시도, 서브에이전트 실행을 하나의 ‘런’으로 묶어 보기는 어렵다.

Microsoft TokenOps 팀의 첫 실험에서도 이 문제가 드러났다. 리서치 에이전트와 요약 에이전트가 서로 다른 프로세스에서 실행되면서 각각 비용을 0부터 계산했다. 런 전체의 예산 상한은 2달러였지만, 실제로는 두 에이전트가 각각 2달러씩 쓸 수 있었다. 결과적으로 지출 가능한 금액은 4달러로 늘어났다.

개별 호출의 비용이 정상 범위에 있어도 런 전체의 비용은 급증할 수 있다. 에이전트가 매 단계에서 이전 대화와 작업 이력을 다시 입력하기 때문이다. 예를 들어 단계마다 입력 이력이 1,000토큰씩 늘어나는 20단계 루프를 생각해 보자. 겉으로는 2만 토큰처럼 보이지만, 실제 누적 입력량은 1,000부터 20,000토큰까지의 합인 21만 토큰이다.

이 때문에 비용을 추적하고 통제하는 기준도 개별 호출에서 런 전체로 옮겨가고 있다. 관측 데이터 표준인 OpenTelemetry의 생성형 AI 규격은 전체 실행을 invoke_agent 스팬 트리로 표현하고, 그 아래에 모델 호출인 chat과 도구 호출인 execute_tool을 연결한다. 2026년 6월 기준으로 아직 1.0 이전 규격이지만, VS Code Copilot, OpenAI Codex, Claude Code는 이미 이런 형태의 트레이스를 내보낸다. 이제 비용을 누구에게 귀속할지, 어디에서 상한을 적용할지를 판단하려면 요청 하나가 아니라 런 전체를 봐야 한다.


체크포인트는 비용을 되돌리지 못한다

예산 상한에 도달했다고 모든 후속 호출을 즉시 차단하면, 운영자가 해제할 때까지 실행이 멈춘다. 이때 거의 완료된 정상 실행까지 중단되면 이미 사용한 토큰은 결과로 이어지지 못한다. 따라서 TokenOps는 먼저 다음 호출의 방향을 조정하고, 강제 정지는 최후의 수단으로 사용한다.

체크포인트가 있더라도 이미 발생한 비용을 되돌릴 수는 없다. 에이전트 오케스트레이션 프레임워크 LangGraph 계열의 체크포인트(실행 중간 상태를 저장해 두는 지점)는 중간 데이터만 저장할 뿐, 진행 중인 실행 자체를 보존하지 않기 때문이다. 프로세스 종료 후 실행을 재개하면 체크포인트 다음 노드부터 다시 처리해야 하며, 모델과 도구 호출에도 비용이 새로 발생한다.

깨진 검색 결과가 반복 호출을 유발하도록 구성한 browser-use, MetaGPT 시나리오 27회에서 조향의 효과를 확인했다. 완료된 실행의 평균 비용은 0.068달러에서 0.014달러로 약 79% 감소했고, 총비용도 1.839달러에서 0.388달러로 줄었다. 예산 안에서 완료된 실행은 18건(67%)에서 26건(96%)으로 늘었다.


80%에서 비용 경로를 바꿔라

비용이 상한의 80%에 도달하면 선제적으로 개입한다. 호출 전에는 다음 세 가지 조치를 적용한다.

  • cost_guard: 런당 한 번 더 저렴한 모델로 전환하고 프롬프트를 축약한다. 이후에는 추가 정보를 수집하기보다 이미 확보한 정보로 답하게 한다.
  • tool_output_cap: 큰 도구 출력은 별도로 저장하고, 본문에는 전체 내용 대신 저장 위치를 가리키는 핸들만 반환한다.
  • pre_call_worst_case: 다음 호출에서 발생할 수 있는 최대 출력 비용이 남은 예산을 초과한다면, 호출 전에 출력 토큰 한도를 낮춘다.

정책을 판단하는 부분과 실제로 집행하는 부분도 분리해야 한다. 정책은 실행 경로 밖에서 미리 계산하고, 호출 직전에는 공유 원장의 로컬 사본을 확인하는 가벼운 래퍼만 거치게 한다.

이때 예산 원장을 프로세스별 카운터로 관리해서는 안 된다. 프로세스마다 별도의 원장을 가지면 2달러 상한이 두 프로세스에서 각각 적용되어 사실상 4달러로 늘어날 수 있다. 따라서 모든 에이전트가 하나의 런 원장을 함께 읽고 갱신해야 한다.

에이전트 자체에 중단 시점의 판단을 맡기는 것도 신뢰하기 어렵다. 에이전트의 예산 인지 능력을 측정하는 BAGEN 벤치마크에서는 일반적인 문제 해결 능력과 예산 인지 능력의 상관계수가 0.35에 그쳤다. 상위 모델조차 성공 가능성이 낮은 작업을 일찍 포기하기보다 계속 비용을 쓰는 경향을 보였다. 학습 후에도 남은 예산 구간을 정확히 파악한 비율은 약 47%였다.

반면 실패할 가능성이 큰 실행을 조기에 종료하는 것만으로도 토큰 사용량을 28~64% 줄일 수 있었다. 다만 비용 상한이 보장하는 것은 지출 한도뿐이다. 제한된 비용 안에서 실제로 정답을 얻었는지까지 판정해 주지는 않는다.


출처


#에이전트#AI 경제