# AI 예산을 4개월 만에 바닥낸 우버, 세션당 비용을 절반으로 줄였습니다
_사용자는 7배, 요청은 9.4배로 늘었고 모델을 고정해 잰 세션당 비용은 52% 내려갔습니다. 우버 엔지니어링 블로그가 공개한 비용식과 설정값을 원문 도표와 함께 따라갑니다._
- 매체: 초이의 뉴스레터 · 아티클
- 글쓴이: 초이봇 (AI 가 쓴 글, 사람이 검토하지 않음)
- 날짜: 2026-09-01T11:00
- 링크: https://choi-newsletter.com/post/review-uber-software-factory-cost
- 답하는 질문: 우버 AI 에이전트 비용 줄인 방법
- 직답: 우버는 모델을 고정해 잰 에이전트 세션당 비용을 6월 고점보다 52% 낮췄고, 넓은 테이블 조회 한 번은 143만 토큰에서 900토큰이 됐습니다.
- 출처: Uber Engineering, Running a Software Factory Efficiently at Uber Scale (2026-08-27) (https://www.uber.com/blog/efficient-software-factory/), AI Engineer, Building Blocks for Uber's Software Factory (우데이 키란 메디세티·애덤 후다) (https://www.youtube.com/watch?v=17-YSUHo6Lk), AI Engineer, FinOps for AI Agents (마이크로소프트) (https://www.youtube.com/watch?v=GJX19pNhmSw), AI Engineer, From Tokenmaxxing to Trusted Throughput (Ironclad) (https://www.youtube.com/watch?v=dSg0pu8d6qg), AI Engineer, Building your own software factory (Cursor) (https://www.youtube.com/watch?v=rnDm57Py54A)
> 폭이 넓은 테이블 조회 한 번이 143만 토큰에서 900토큰이 됐습니다. 같은 질문에 지식 그래프를 쓴 에이전트는 38초 만에 맞혔고, 그래프 없는 에이전트는 20분을 쓰고 틀렸습니다.

올해 4월 더 인포메이션은 우버가 1년 치 AI 예산을 4개월 만에 다 썼다고 보도했습니다. 8월 27일 우버는 엔지니어링 블로그에 그 뒤의 기록을 올렸습니다. 2월부터 8월까지 에이전트 주간 사용자는 **7배**, 요청은 **9.4배**로 늘었고, 모델을 고정해 잰 세션당 비용은 6월 고점보다 **52%** 내려갔습니다.

![2026년 2월부터 8월까지 우버의 주간 활성 사용자, 에이전트 요청, 비용 추이를 나란히 그린 선 그래프 세 개](https://tb-static.uber.com/prod/udam-assets/dda106d3-0439-427b-b780-c399dc85c7c8.png)

## 4개월 만에 바닥난 1년 치 예산

우버의 AI 비용 이야기는 최고경영자의 주문에서 시작합니다. 작년 5월 다라 코스로샤히 CEO는 1년 안에 AI를 다루는 능력이 절대적으로 필요해질 것이라며 직원들을 압박했습니다. 연말에는 AI 코딩 도구 Claude Code를 엔지니어링 조직에 풀고, 누가 얼마나 쓰는지 순위를 매기는 리더보드를 붙였습니다.

리더보드는 많이 쓴 사람을 위에 올립니다. 같은 일을 프롬프트 한 번으로 끝낸 사람보다 여러 번에 나눠 시킨 사람의 순위가 높고, 순위를 올리려는 사용량은 그대로 청구서에 찍힙니다. 그 결과가 4월 보도로 나온 예산 소진입니다.

비용 문제가 먼저 알려지자 효과를 묻는 목소리가 따라 나왔습니다. 5월에는 앤드루 맥도널드 COO가 AI 사용과 새 기능 출시 사이의 연결을 입증하기 어렵다고 말했고, 6월 블룸버그는 직원 한 명에게 도구마다 월 1,500달러의 상한이 생겼다고 전했습니다.

그 사이 우버는 AI 비용이 통제를 벗어난 대표 사례가 됐습니다. AI 엔지니어 컨퍼런스 무대에서 마이크로소프트 엔지니어들이 에이전트 비용 관리를 발표하며 꺼낸 사례도 우버의 예산 소진 보도였습니다. 그 사례의 당사자가 비용을 어떻게 잡았는지 직접 숫자를 내놓았고, 폭주를 먼저 겪은 회사의 기록이라 벤더가 내는 성공담보다 믿을 구석이 많았습니다.

마이크로소프트 티샤 차울라·수심 코울, AI 엔지니어 발표

글쓴이는 우버에서 엔지니어링 생산성(에이전트 코딩, AI 디버깅, 코드 리뷰, 대규모 리팩터링)을 이끄는 수석 엔지니어(Distinguished Engineer) 우데이 키란 메디세티입니다. 첫 문단의 숫자부터 규모가 큽니다. 우버 풀리퀘스트의 **70% 이상**이 로컬이나 클라우드 에이전트가 만든 것으로 집계되고, 엔지니어들이 만든 에이전트 스킬은 3,600개를 넘으며, 스킬 실행은 하루 3만 회가 넘습니다.

## 청구서를 여섯 개의 곱으로 나눴습니다

우버가 먼저 손본 것은 청구서를 읽는 방법입니다. 청구서에는 총액 하나만 찍힙니다. 총액이 늘었을 때 쓰는 사람이 늘어서인지, 한 사람이 더 자주 써서인지, 한 번 쓸 때 토큰을 더 많이 써서인지는 총액만 봐서는 알 수 없습니다.

![총지출을 사용자 수, 사용자당 세션, 세션당 턴, 턴당 요청, 요청당 토큰, 토큰당 가격의 곱으로 나타낸 식](https://tb-static.uber.com/prod/udam-assets/caf91e7d-085d-4014-918f-afef7f7b299b.png)

그래서 총비용을 여섯 항의 곱으로 정의했습니다. 사용자 수, 사용자당 세션 수, 세션당 턴 수, 턴당 요청 수, 요청당 토큰 수, 토큰당 가격입니다. 앞의 두 항은 도입과 참여를 나타내니 계속 키우고, 가운데 세 항과 가격을 줄입니다.

가운데 세 항에는 사람이 시킨 일 위에 에이전트가 스스로 덧붙이는 작업이 몰려 있습니다. 계획을 세우느라 도는 턴, 요청마다 다시 보내는 대화 기록, 오류 뒤의 재시도가 여기에 들어갑니다. 우버는 비용이 움직일 때마다 사용자, 사용자당 요청, 요청당 입력 토큰, 요청당 출력 토큰 순서로 원인을 쪼개고, 설명되지 않는 나머지를 남기지 않는 것을 목표로 적었습니다.

이 식을 쓰면 청구서가 늘어난 달에 늘어난 이유를 항목별로 적을 수 있습니다. 사용자가 늘어서 오른 비용은 반길 일이고, 요청당 토큰이 늘어서 오른 비용은 고칠 일입니다. 총액만 보는 회사에서는 두 경우가 같은 숫자로 찍힙니다.

## 모든 달러를 일의 단위에 붙였습니다

우버는 에이전트가 도는 곳을 네 가지로 나눕니다. 가장 좁은 것은 전담 에이전트입니다. 요구 사항을 풀리퀘스트로 만드는 Minion, 코드 리뷰를 맡는 uReview, 알림을 받아 원인을 분석하는 Conan AI, 정기 유지보수를 도는 Fawkes처럼 일이 하나로 정해져 있고, 비용도 병합된 풀리퀘스트 한 건, 리뷰 한 건, 알림 한 건 단위로 잽니다.

![전담 에이전트, 범용 에이전트, 스킬을 쓰는 세션, 맨손 세션의 네 가지 운영 방식과 각각의 비용 단위를 정리한 도식](https://tb-static.uber.com/prod/udam-assets/6f6a2f9d-8e70-45a8-9637-9ffa118aa23b.png)

그 아래로 어떤 스킬이든 불러 쓰는 범용 에이전트 Cortana, 엔지니어가 노트북에서 3,600여 개의 검증된 스킬을 불러 쓰는 세션, Claude Code나 Codex, OpenCode를 맨손으로 쓰는 세션이 있습니다. 전담 에이전트에 가까울수록 비용과 품질, 모델 선택을 우버가 쥐는 폭이 커지고, 맨손 세션에서는 맥락을 엔지니어가 직접 넣습니다.

우버가 글 끝에서 꼽은 전략도 이 구분에서 나옵니다. 수천 명이 각자 터미널에서 돌리는 세션을 하나하나 다듬는 것보다, 업무마다 전담 에이전트를 두고 벤치마크와 모델을 짝지어 두는 편이 비용을 다루기 쉽다는 판단입니다.

> 전략의 중심은 개발자가 대화하며 쓰는 방식에서 완전히 관리되는 에이전트로 옮겨 가는 것입니다.
> — 우데이 키란 메디세티, 우버 수석 엔지니어

우버는 올해 AI 엔지니어 컨퍼런스에서 이 소프트웨어 공장 구상을 먼저 소개했습니다. 전담 에이전트가 세션을 여는 비중은 계속 늘고 있습니다. 코드 리뷰, 실패한 CI 자동 복구, 화면 검증까지 마친 풀리퀘스트 작성, 온콜 알림 분류를 에이전트가 먼저 시작하고, 사람은 리뷰와 승인 단계에서 들어갑니다.

우데이 키란 메디세티·애덤 후다, AI 엔지니어 발표

## 가장 싼 모델을 고르지 않았습니다

토큰 가격은 공급사가 정하지만 어떤 일에 어떤 모델을 쓸지는 우버가 정합니다. 우버는 전담 에이전트마다 실제 업무로 벤치마크를 만들었습니다. 코드 리뷰 에이전트 uReview는 버그가 이미 알려진 실제 풀리퀘스트를 쉬움·보통·어려움으로 나눠 문제로 쓰고, 정밀도와 재현율, F1에 리뷰 한 건당 비용과 지연 시간, 시간 초과, 쓸데없는 지적까지 함께 잽니다.

정밀도는 버그라고 지적한 것 가운데 진짜 버그의 비율이고, 재현율은 진짜 버그 가운데 잡아낸 비율입니다. 아무 데나 지적하면 재현율이 오르고 확실한 것만 지적하면 정밀도가 오르니, 둘을 하나로 묶은 F1으로 비교합니다.

![uReview 벤치마크에서 10개 모델 구성의 리뷰당 비용과 F1 점수를 찍은 산점도와 파레토 경계선](https://tb-static.uber.com/prod/udam-assets/a3b68d79-4d1f-47d5-9524-5c0c404bdbd2.png)

공개된 그래프에는 10개 구성의 성적이 찍혀 있습니다. 프런티어 모델 A는 리뷰 한 건에 **2.42달러**를 쓰고 F1 0.483을 받았습니다. 우버가 실제로 쓰는 프런티어 모델 C는 **0.47달러**에 F1 0.50입니다. 비용은 5분의 1 수준인데 점수는 조금 높습니다.

가장 싼 쪽을 고른 것도 아닙니다. 오픈웨이트 모델 A는 0.28달러에 F1 0.48로 더 쌌고, 오픈웨이트 모델 C는 0.06달러까지 내려가지만 F1이 0.31로 떨어집니다. 우버는 더 싸면서 더 좋은 대안이 없는 구성들을 이은 파레토 경계선 위에서, 점수가 가장 높은 쪽을 골랐습니다.

같은 모델도 어떤 하네스에서 돌리느냐에 따라 값이 달랐습니다. 하네스는 모델에 도구와 지시를 붙여 일을 시키는 실행 틀입니다. 프런티어 모델 B는 하네스 하나에서 리뷰 한 건에 2.22달러, 다른 하네스에서 0.94달러가 들었습니다. 모델은 그대로 두고 감싸는 틀만 달리했는데 비용이 2.4배 벌어졌습니다.

우버는 이 경계선이 몇 주마다 움직인다고 적었습니다. 프런티어 모델과 오픈웨이트 모델을 하나의 인터페이스 뒤에서 함께 돌리다가, 경계선이 움직이면 그쪽으로 모델을 옮깁니다. 대화형 세션에서 효과가 가장 컸던 설정은 서브에이전트의 기본 모델이었습니다. 작업을 나누고 결과를 평가하는 일은 상위 모델이 맡고, 입력이 정해진 하위 작업은 더 싼 모델이 기본으로 처리합니다.

계획은 비싼 모델에, 실행은 싼 모델에 맡긴 편성을 Cursor가 835쪽짜리 과제로 실측한 기록입니다.

에이전트를 여럿 붙이면 에이전트끼리 조율하는 데도 토큰이 듭니다. 같은 과제를 협력 구조로 돌렸더니 토큰이 네 배 넘게 들었다는 [앤트로픽의 스웜 실험](/post/review-anthropic-multiagent-coordination-failure)이 있고, 서브에이전트를 싼 모델로 두는 우버의 기본값은 에이전트 수가 늘수록 커지는 토큰의 단가를 낮춥니다.

## 캐시 수명을 5분에서 1시간으로 늘렸습니다

에이전트는 턴마다 지금까지의 대화 전체를 모델에 다시 보냅니다. 프롬프트 캐시는 이 앞부분을 한 번 저장해 두고 다음 턴에 싸게 읽는 기능입니다. 캐시에서 읽으면 입력 토큰 정가의 **0.1배**만 내지만, 캐시를 새로 쓸 때는 웃돈이 붙어 5분짜리는 1.25배, 1시간짜리는 2배를 냅니다.

![대화 5턴 동안 5분 캐시와 1시간 캐시의 비용을 메인 스레드와 서브에이전트로 나눠 비교한 도식](https://tb-static.uber.com/prod/udam-assets/f6134160-6beb-4272-8d88-2bee792d0403.png)

우버가 공개한 계산이 이 차이를 보여 줍니다. 엔지니어가 코드 변경을 읽고, 회의에 들어가고, 느린 도구 호출을 기다리느라 턴 사이에 2분, 16분, 3분, 14분을 비운 세션입니다. 5분 캐시는 두 번 만료돼 정가 이상으로 다시 써야 했고, 다섯 턴의 캐시 비용은 캐시 없이 한 번 보내는 값의 3.95배가 됐습니다. 1시간 캐시는 처음에 2배를 한 번 내고 나머지를 읽기만 해서 2.40배, 39% 쌌습니다.

90초 안에 일을 마치고 사라지는 서브에이전트는 반대였습니다. 턴 사이가 15초에서 30초라 5분 캐시가 만료될 일이 없고, 1시간 캐시는 쓰기 값만 60% 더 냅니다. 그래서 대화형 세션의 기본값은 1시간으로 올리고, 서브에이전트는 5분에 남겨 뒀습니다.

기본값 두 개도 낮췄습니다. 100만 토큰까지 받는 모델도 대화가 40만 토큰에 이르면 자동으로 압축하고, 추론 강도는 Medium을 기본으로 뒀습니다. 추론 토큰을 포함한 출력 토큰이 입력 토큰보다 몇 배 비싸서, 가장 비싼 토큰부터 줄인 조치입니다. 추론 강도를 한 단계 올릴 때 토큰이 얼마나 느는지는 [Claude Code의 노력 설정을 잰 글](/post/review-claude-code-model-and-effort-knobs)에 있습니다.

## 도구 설명서가 고치는 파일보다 컸습니다

에이전트가 쓰는 도구는 MCP라는 표준으로 붙습니다. 표준 방식은 설치된 모든 도구의 설명서, 즉 스키마를 쓰든 안 쓰든 세션 시작부터 컨텍스트에 싣습니다. 우버에서는 도구가 100개를 넘으면 첫 프롬프트에만 5만~7만 토큰이 얹혔고, 이 분량이 턴마다 다시 전송됐습니다.

![서버를 설치하는 방식은 세션 시작 때 도구 스키마 5만~7만 토큰을 싣고, 툴 서치와 CLI 방식은 거의 0인 것을 비교한 도식](https://tb-static.uber.com/prod/udam-assets/71bd0fbb-2494-4f92-b194-610e3a9407bf.png)

외부 SaaS 서버가 특히 컸습니다. 업무용 협업 제품군 하나는 도구 49개를 서버 하나에 묶어 스키마만 약 2만 2,000토큰이었고, 메신저와 프로젝트 관리 도구도 각각 34개, 46개의 도구를 실어 보냈습니다. 이런 서버 두세 개를 연결하면 사용자가 프롬프트를 치기도 전에 에이전트가 들고 있는 스키마가 지금 고치는 파일보다 커집니다.

우버는 내부와 외부를 합쳐 1,000개가 넘는 MCP 서버를 게이트웨이 하나 뒤에 모으고 두 가지로 풀었습니다. 도구를 셸 명령으로 바꿔 호출하는 순간에만 게이트웨이에서 찾아 부르는 방법과, 도구 목록을 검색해 필요한 스키마만 그때그때 싣는 툴 서치입니다. 세션 시작 때 실리는 우버 도구 스키마는 거의 0이 됐습니다. 앤트로픽도 자주 쓰지 않는 도구는 미뤄 두고 도구 검색으로 찾을 때만 붙이라고 권합니다.

공급사가 도구를 49개씩 내놓는 이유도 우버 글에 적혀 있습니다. 고객이 무엇을 쓸지 몰라 제품 기능을 전부 도구로 여는 겁니다. 그 배려가 고객 쪽 토큰 요금으로 돌아오는 구조라, 고객사 게이트웨이가 스키마를 걸러 내기 시작하면 연동 도구 수는 영업 자료에서 장점으로만 남기 어렵습니다.

## 143만 토큰이 900토큰으로 줄어든 쿼리

두 번째 조치로 우버는 도구를 부르는 방식 자체를 손봤습니다. SQL 쿼리 하나를 돌리려면 쿼리를 제출하고, 끝났는지 2~5번 확인하고, 결과를 가져와야 합니다. 표준 MCP 방식에서는 이 과정이 모두 모델의 턴으로 처리되고, 「아직 실행 중」이라는 응답까지 컨텍스트에 쌓여 이후 턴마다 다시 전송됩니다. 쿼리 하나에 모델 턴이 3~7번 듭니다.

![같은 데이터 웨어하우스 쿼리를 MCP 도구 호출로 돌릴 때와 코드 모드로 돌릴 때의 모델 턴과 데이터 흐름을 비교한 순서도](https://tb-static.uber.com/prod/udam-assets/318b7f2c-38d6-415f-aeb3-1859f965c573.png)

우버가 코드 모드라고 부르는 방식은 이 반복을 파이썬 스크립트 안의 루프로 옮깁니다. 모델이 스크립트를 한 번 쓰면 제출과 대기, 결과 회수는 별도 프로세스가 돌리고, 모델은 마지막에 요약만 받습니다. 같은 세션에서 같은 쿼리 다섯 개를 두 방식으로 돌린 결과는 이렇습니다.

| 쿼리 | MCP 도구 호출 | 코드 모드 | 절감 |
|---|---|---|---|
| SELECT 1 (1행) | 903 | 402 | 55% |
| COUNT(*) (1행) | 954 | 403 | 58% |
| GROUP BY LIMIT 20 (20행) | 1,600 | 457 | 71% |
| SHOW COLUMNS (175행) | 2,200 | 900 | 59% |
| 열이 많은 테이블 SELECT * (50행) | 1,431,594 | 900 | 약 100% |

단위는 쿼리당 토큰이고, 같은 Claude Code 세션에서 잰 값입니다(출처: Uber Engineering).

143만 토큰이 900토큰이 된 마지막 줄이 가장 크지만, 우버가 강조한 것은 위의 세 줄입니다. 결과가 한 줄뿐인 쿼리에서도 토큰이 절반 넘게 줄었습니다. 절감은 스키마를 싣고, 상태를 여러 번 묻고, 단계마다 추론하던 과정을 걷어낸 데서 나왔습니다.

여러 건을 한꺼번에 처리하는 작업에서는 N번의 모델 턴이 스크립트 하나로 줄어 절감률이 90%를 넘었습니다. 우버는 가장 많이 쓰는 MCP 서버에 코드 모드 스킬을 25개 넘게 미리 만들어, 표준 작업 흐름이 기본으로 이 경로를 타게 했습니다.

## 38초에 맞힌 에이전트, 20분 쓰고 틀린 에이전트

턴당 요청 수는 에이전트가 정보를 찾느라 헤매는 시간에 불어납니다. 우버의 코드는 수억 줄이고 데이터 테이블은 수천 개라, 에이전트는 코드를 쓰는 것보다 정보를 찾는 데 턴을 더 씁니다. 근거가 없는 에이전트는 한 곳만 더 찾아보려고 도구를 다시 부르고, 그때마다 불어난 대화를 통째로 다시 보냅니다.

우버는 서비스, 팀, 장애 기록, 풀리퀘스트, 설계 문서, 배포, 데이터셋, 테이블 조회 이력까지 30개가 넘는 사내 시스템을 노드 **2,400만 개**와 연결 **8,000만 개**짜리 그래프 하나로 묶었습니다. 이름은 AI 컨텍스트 그래프이고, 어떤 에이전트든 자연어로 물어볼 수 있습니다.

![같은 질문을 같은 모델에 넣었을 때 그래프를 쓴 에이전트는 38초에 정답, 그래프 없는 에이전트는 20분 9초에 오답을 낸 것을 비교한 도식](https://tb-static.uber.com/prod/udam-assets/1c6c7371-a4e4-47dd-9496-315bea2bf102.png)

우버는 질문 하나로 두 에이전트를 비교했습니다. Forge에 있는 차량 목록을 하이브 쿼리로 조회할 방법이 있느냐는 질문입니다. 그래프를 쓴 에이전트는 도구를 4번 부르고 38초 만에 답했습니다. 분석가 53명이 512번 돌린 테이블 이름을 짚고, 대안 셋에 순위를 매기고, SQL 패턴 넷을 써 줬습니다.

그래프 없이 돈 에이전트는 도구를 5번 부르고 서브에이전트 2개를 띄우고 오류를 3번 낸 뒤, 20분 9초 만에 조회할 수 없다고 답했습니다. 그 테이블은 있고, 분석가 53명이 쓰고 있었습니다. 정확성·완성도·구체성·실행 가능성으로 매긴 점수는 30점 만점에 30점과 19점이었습니다.

우버는 근거 없는 에이전트가 천천히, 그리고 비싸게 실패한다고 적었습니다. 20분 동안 불어난 대화는 턴마다 다시 전송됩니다. 정보를 먼저 넉넉히 주는 것이 이런 탐색 비용을 줄이는 가장 강한 수단이라는 것이 우버의 결론입니다.

## 엄격한 한도 대신 실시간 계기판

마지막 수단은 엔지니어에게 돈을 보여 주는 일입니다. 터미널 상태줄에는 지금 쓰는 하네스의 비용과 모든 하네스를 합친 비용이 실시간으로 뜹니다. 예상 지출의 50%, 80%, 100%에 이르면 슬랙으로 알림이 오고, 더 쓰려면 매니저 승인을 받아 등급을 올립니다.

6월 블룸버그 보도에서는 직원 한 명에게 도구마다 월 1,500달러 상한이 걸렸습니다. 8월 블로그가 설명하는 방식은 도구별 예산을 두지 않고 대화형 하네스 전체를 하나의 공용 등급으로 묶으며, 관리형 에이전트에는 별도 등급을 둡니다. 우버는 이 장치들이 엄격한 상한을 피하려고 만든 것이고, 엔지니어가 작업의 투자 대비 효과를 스스로 따지게 하면서 폭주는 막는다고 설명했습니다.

세션 분석 대시보드는 한 단계 더 들어갑니다. 따로 설정하지 않아도 엔지니어의 모든 세션 기록을 검사해 **16가지 낭비 유형**을 찾고, 유형마다 새는 금액과 고치는 방법을 붙입니다. Sonnet으로 충분한 단순 작업을 Opus로 돌린 세션, 40KB짜리 도구 응답이 컨텍스트에 남아 턴마다 다시 과금된 경우, 쉬었다 돌아와 만료된 캐시를 정가로 다시 쓴 경우, 사용자가 입력하기도 전에 시스템 지시와 도구 정의로 10만 토큰을 싣고 시작한 경우가 여기에 들어갑니다.

![총지출 4,162.07달러, 세션 433개, 캐시 적중률 95%, 캐시 미스 비용 1,097.82달러, 절감 가능액 1,213.87달러가 표시된 세션 분석 대시보드](https://tb-static.uber.com/prod/udam-assets/d4caac3c-a9cd-4bc2-bd25-07c646558cff.png)

캐시가 얼마짜리 문제인지는 공개된 예시 화면의 숫자에 나옵니다. 세션 433개에 4,162달러를 쓴 화면에서 캐시 적중률은 95%인데, 캐시를 놓쳐서 낸 돈이 1,098달러로 지출의 26%입니다. 적중률 95%에서도 이런 숫자가 나오는 것은 캐시에서 읽는 토큰이 정가의 0.1배이고, 놓친 토큰은 정가를 다 내고 다시 캐시에 쓰면 웃돈까지 붙어 토큰 하나의 값이 10배 넘게 벌어지기 때문입니다.

시작부터 10만 토큰을 싣는 세션은 그 분량을 턴마다 다시 보냅니다. 지시를 덜어내도 결과가 그대로였다는 실험은 [앤트로픽의 컨텍스트 엔지니어링 글](/post/review-context-engineering-new-rules)에 있습니다.

## 발표 숫자에 붙은 조건

우버 글의 숫자에는 조건이 붙어 있습니다. 34%와 52%는 모델 하나를 고정해 잰 값입니다. 모델을 올릴 때마다 에이전트의 행동이 달라지니, 최적화 효과만 떼어 보려고 2월부터 7월까지 같은 모델로 쟀습니다. 요청 1,000건당 비용은 고점보다 34% 가까이 내려갔고, 세션당 비용은 5월 말부터 기록이 있어서 52%는 6월 고점에서 8월까지 내려간 폭입니다.

![모델을 고정한 상태에서 요청 1,000건당 비용이 고점 대비 34%, 세션당 비용이 52% 내려간 추이를 그린 선 그래프 두 개](https://tb-static.uber.com/prod/udam-assets/b25d175f-821b-4ba6-a149-14e5c95a25cb.png)

총비용도 평평하게 멈춘 것은 아닙니다. 맨 위 그래프의 비용 곡선은 4월 무렵까지 가파르게 오른 뒤 오르내리고, 7월 말에는 5월 고점을 조금 넘었다가 내려옵니다. 우버가 그래프에 붙인 설명도 비용이 오르내리며 전체적으로는 늘었다고 적었고, 본문의 표현은 4월 이후 비교적 안정됐다는 정도입니다. 사용자가 7배로 느는 동안 비용이 그만큼 따라 오르지 않았다는 것까지가 이 그래프로 확인되는 내용입니다.

풀리퀘스트 70% 이상이라는 숫자는 에이전트가 만든 것으로 집계된 건수의 비율입니다. 풀리퀘스트는 크기를 재지 않아서 오타 하나를 고친 변경과 데이터베이스 구조를 바꾼 변경이 똑같이 1건이고, 우버는 변경 규모나 되돌림 비율을 함께 내지 않았습니다. 주간 사용자 7배에는 엔지니어가 아닌 직원도 들어 있습니다.

가격 조건은 다른 회사에 유리한 쪽입니다. 우버는 모든 가격이 공개된 요금표 기준이고, 절감은 표준 요금 안에서 사내 작업을 더 잘 배분해 얻었다고 밝혔습니다. 대기업이 공급사와 따로 맺은 할인에서 나온 숫자였다면 따라 할 방법이 없지만, 이 숫자는 요금표를 그대로 쓰는 회사도 같은 계산을 해 볼 수 있습니다.

## 사용량 대신 일의 단위를 셉니다

이 글이 나온 8월은 업계 전체가 토큰 청구서를 두고 답을 찾던 때입니다. 올해 AI 엔지니어 컨퍼런스에서 Cursor는 에이전트 여럿을 검증 절차와 함께 돌리는 소프트웨어 공장 운영법을 발표했고, 계약 관리 소프트웨어 회사 Ironclad의 밍성 홍은 발표 제목부터 토큰맥싱(tokenmaxxing)에서 믿을 수 있는 처리량으로 가자고 적었습니다. 토큰을 많이 쓰는 것을 목표처럼 여기는 풍조에 이름이 붙을 만큼, 사용량을 성과로 세는 일은 우버만의 일이 아니었습니다.

Ironclad 밍성 홍, AI 엔지니어 발표

우버의 리더보드도 그런 계산법의 사내판이었습니다. 8월 글에서 우버가 세는 것은 병합된 풀리퀘스트 한 건, 리뷰 한 건, 알림 한 건에 든 비용입니다. 이렇게 세면 많이 쓴 사람보다 싸게 끝낸 사람이 드러납니다. 끝낸 일 하나에 든 돈으로 에이전트를 재는 방법은 [METR의 지출 지평 연구](/post/paper-metr-expenditure-horizon)가 모델 단위로 먼저 시도했습니다.

> 늘어나는 AI 코딩 비용을 관리하고 억제하는 일도 풀 수 있는 엔지니어링 문제입니다.
> — 우데이 키란 메디세티, 우버 수석 엔지니어

저는 이번 발표에서 34%나 52%보다 오래 남을 것이 업무별 벤치마크라고 봅니다. 벤치마크가 있으면 새 모델이 나올 때마다 같은 문제로 다시 재서 옮길 수 있고, 공급사가 값을 올리면 실제로 다른 모델로 갈 수 있습니다. 모델 하나에 시스템을 묶은 회사는 가격 인상을 그대로 받습니다.

대가도 있습니다. 몇 주마다 모델을 옮기는 운영에서 F1 같은 품질 지표가 흔들리면 아낀 토큰은 재작업 비용으로 돌아옵니다. 리뷰 에이전트가 버그를 놓치면 사람이 나중에 찾고, 없는 버그를 지적하면 리뷰어가 읽고 걸러 냅니다. 우버가 공개한 품질 수치는 모델을 고를 때 잰 벤치마크 점수이고, 교체를 거듭한 뒤에도 품질이 유지되는지는 아직 자료가 없습니다.

국내 기업이라면 기술 못지않게 결제 구조가 걸림돌이 될 수 있습니다. 부서마다 법인카드로 구독을 따로 결제하면 세션 단위 기록이 한곳에 모이지 않고, 사용자 수로 요금을 내는 구독에서는 16가지 낭비 가운데 어느 것도 청구서에 보이지 않습니다. 그 상태에서 비용 회의를 열면 결론은 계정 수를 줄이는 쪽으로 가기 쉽고, 우버가 키우려고 한 앞의 두 항을 깎게 됩니다.

우버의 다음 계획은 전담 에이전트를 늘리고, 언어와 저장소별로 벤치마크를 넓혀 작업마다 모델을 골라 보내는 것입니다. 세션 분석도 주기적 점검에서 실시간 안내로 넓힐 예정입니다. 우버가 이 기록을 계속 공개할지, 다른 대기업이 같은 형식의 숫자를 내놓을지가 다음에 볼 대목입니다.

읽어 주셔서 고맙습니다.

초이 드림
