原題: Running a Software Factory Efficiently at Uber Scale
著者: Uday Kiran Medisetty
公開日: 2026年8月28日
ソースURL: Uber Blog
アーカイブ日: 2026-08-31
Uberでは今、AIツールがソフトウェア開発のあらゆる段階に組み込まれている。プルリクエストの70%以上がローカルまたはクラウド上のエージェントによるものだ。エンジニアはソフトウェア開発ライフサイクル全体で3,600個以上のエージェントスキルを構築し、1日に3万回以上のスキル実行が行われている。著者のウダイ・キラン・メディセッティ(UberのDistinguished Engineer)は、AI Engineer 2026カンファレンスで共有した「ソフトウェア・ファクトリー」のビジョンと、その構成要素・マネージドエージェント群を解説する。人間ではなく自動化されたマネージドエージェントが、コードレビュー、CI障害の自己修復、ビジュアル検証を伴うE2Eプルリクエストの完遂、オンコールアラートのトリアージ、バグのデバッグ、コードメンテナンスといったセッションを担う割合が増えている。
2026年2月から8月にかけて、週間アクティブユーザーは7倍、週間エージェントリクエストは9.4倍に成長した。一方でAIへの総支出は、4月以降は最適化の効果でほぼ横ばいに落ち着いている。この「利用は爆発、コストは横ばい」を支えたのが、本稿の主題であるコスト方程式と最適化レバーだ。
著者はエージェント利用を「最も特化した層から最も汎用的な層まで」の4層に整理する。上位の層ほどコスト・品質・モデル選択を制御できる。そしてどの層のエージェントセッションについても、コストを「価格/トークン、トークン/リクエスト、リクエスト/ターン」といった乗算の項に分解し、それぞれを独立に計測・最適化するというのが骨子だ。
計測は週次・月次で5つの観点から行う。ポートフォリオ(総コスト・ユーザー数・ツール別シェア)、ツール別ユニットエコノミクス(ユーザーあたりコスト、1,000リクエストあたりコスト、100万トークンあたりコスト、プロンプトキャッシュヒット率など)、モデル別エコノミクス(どのモデルリリースが実際に請求額を動かしたか)、ドライバー分解(採用→エンゲージメント→入力ワークロード→出力ワークロードの順にコスト変動を分解し、説明不能な残差を残さない)、そしてマネージドエージェントの成果(マージ済みPRあたりコスト、レビューあたりコスト、アラートあたりコストと、revert率・F1・MTTRといった品質指標)である。
最適化レバーは以下のように整理される。
価格/トークンについては、ベンダーが価格を決めるが「どのモデルをどのワークロードに使うか」は自分たちで決める。全マネージドエージェントで、そのワークロードにとってパレート最適なモデルを選ぶ。パレート最適とは「完了タスクあたりコスト・出力品質・モデル信頼性」のバランスだ。モデル選定は常に4ステップで行う。エージェントの実業務からベンチマークを作り、フロンティアもオープンウェイトも同じインターフェースで扱えるハーネスで実行し、パレート最適なものへ移り続ける。全PRのAIコードレビューを担うuReviewでは、既知バグを含む実際のPRからベンチマークを作り、精度・再現率・F1に加えてレビューあたりコスト・レイテンシ・タイムアウト・ノイズを採点した。モデル切り替えでF1を改善しつつコスト/PRを劇的に削減できたという。対話型インターフェースでは、セッション初期モデルとサブエージェントモデルの2つのデフォルトがトークン配分を左右し、特にサブエージェントのデフォルトを弱く安価なモデルにすることが最も効果的なレバーだと述べる。
トークン/リクエストについては、毎ターン会話履歴・プロジェクト文脈・ツール結果を再送するため、リクエストあたりペイロードを減らせばそれがセッション全体に複利で効く。デフォルトとして、100万トークン文脈のモデルでも40万トークンで自動圧縮を発動し、推論努力(reasoning effort)はMediumに標準化した。推論トークンは入力の数倍の料率で課金されるため、最も高価なトークンカテゴリの支出を直接削減できる。
プロンプトキャッシュは、プロバイダの読み書きの経済性に基づいて設計する。前文脈をキャッシュすれば再読込は標準入力レートの0.1倍で済むが、書き込みは5分キャッシュで1.25倍、1時間キャッシュで2倍のプレミアムがかかる。最適なTTLはターン間隔に依存し、Anthropicは5分と1時間、OpenAIは30分を提供する。
MCP(Model Context Protocol)は統一ゲートウェイ経由に集約し、内部・サードパーティSaaS含め1,000以上のMCPサーバーを一元管理する。標準MCPは全ツールスキーマを毎セッションにロードするため、100ツール以上を入れると初期プロンプトに5万〜7万トークンのスキーマオーバーヘッドが乗り、それが毎ターン再送される。対策は2つ。CLIツール解決は、モデルにシェルコマンドを実行させ、呼び出し時にゲートウェイのツールを動的解決してMCPスキーマをセッション文脈から排除する。ツール検索は、モデルが必要なツールをオンデマンドで検索・ロードさせ、文脈肥大を抑える。
コードモードは、ツールをシェルコマンドとして直接呼び、複数アクションを1スクリプトにバッチする。標準MCPでは1アクションごとにモデルターンを消費する(SQLクエリ1本で送信→2〜5回のステータスポーリング→取得)が、コードモードはPythonループに丸め込み、中間ポーリングをモデルの能動文脈から外す。実測では、SELECT 1で55%、COUNT(*)で58%、GROUP BYで71%、SHOW COLUMNSで59%、ワイドテーブルのSELECT *では約100%のトークン削減になった。バルクワークフローではN回のモデルターンが1スクリプトになり、削減効果は90%超に複利化する。25以上の事前ビルド済みコードモードスキルを主要MCPサーバーに展開している。
SaaS MCPは内部サーバーより難しく、ベンダーは全製品機能を公開するため、ワークスペーススイートは49ツール(約2.2万トークン)、メッセージングは34、プロジェクト追跡は46ものツールを1サーバーに詰め込む。2〜3サーバーをロードすると、編集対象ファイルより大きなスキーマをエージェントが背負うことになる。これもゲートウェイ経由のルーティングとCLI化、コードモードプラグインの専用スキルで対処した。
リクエスト/ターンについては、グラウンディングされていないエージェントは「安く」ではなく「遅く」失敗する。文脈窓を膨らませながら次々と場所を検索するからだ。事前に豊かな情報を与えることが検索オーバーヘッドを減らす最強のレバーとなる。Uberの巨大なコードベース(数億行)とデータエコシステム(数千テーブル)では、エージェントのターンの大半はコード生成ではなく情報探索に費やされる。そこで「AI Context Graph」を構築した。2,400万ノード・8,000万エッジ・86ノード型・117エッジ型からなる統合ネットワークで、サービス、エンジニアリングチーム、インシデントログ、PR、設計ドキュメント、デプロイ、データセット、テーブル利用履歴など30以上の内部システムを統合し、任意のエージェントが自然言語で問い合わせられる。
可視化と教育としては、ハーネスのステータス行にライブコストカウンターを置き、ユーザーごとに全ハーネスの消費を追跡する。厳格な上限を課す代わりに、50/80/100%時点のSlackナッジ、マネージャー承認によるティア昇格、コスト分解スキルなどを用意した。セッション分析ダッシュボードは実行時組み込みで、設定不要。ユーザーの全セッショントレースを分析し、16種類のアンチパターン(Opusで済むタスクをSonnetで、文脈窓の肥大、キャッシュ期限切れ、10万トークンのシステム指示プリロードなど)を検出し、それぞれに財務影響と対処を添える。
結論として著者は、AIコーディング費用の抑制は「十分に扱いやすいエンジニアリング課題だ」と断言する。単価を下げたりツールを格下げするのではなく、価値を生まない無駄なトークン消費を排除することで、利用を7倍に伸ばしながらユニットコストを全指標で下げ、品質を維持・改善できた。核心的な戦略転換は、対話型の開発者ワークフローから完全マネージドエージェントへの移行だ。SDLCワークロードをマネージド環境へ移すことで、モデルルーティング・実行ハーネス・運用コストを完全に制御できる。専用の評価ベンチマークとパレート効率的なモデルを備えた特化マネージドエージェント群を最適化する方が、数千人のエンジニアの個別ターミナルセッションを最適化するより本質的に安くスケールする。
本稿の価値は、生成AIコーディングの話題が「何ができるか」から「いくらかかるか」へ移る転換点を、世界有数の大規模導入事例の実データで記録した点にある。Uberは、利用の7倍成長と支出の横ばいを両立させるまでの具体的手順を、コスト方程式の項分解という一般化可能な枠組みで提示した。この「セッションコストを乗算の項に分解し、各項を独立に計測・最適化する」方法論は、コードベースの規模やチーム構成が異なっても転用可能だと著者自身が明記しており、抽象原則と社内実測値の両方を備えた稀有な一次資料になっている。
個々のレバーにも再現可能な発見が多い。プロンプトキャッシュのTTL経済性(5分1.25倍・1時間2倍の書き込みプレミアム対0.1倍の再読込)、コードモードによる55%〜約100%のトークン削減実測、40万トークンでの自動圧縮、サブエージェントのモデル格下げ、AI Context Graphによるグラウンディング——いずれも「高品質モデルを安く使う」のではなく「価値を生まないトークンを捨てる」という一貫した思想に貫かれている。この思想の転換こそが、単なるコスト削減tips集との差であり、5年後も参照される理由だろう。
一方で、本稿はあくまでUberという特異な環境(数億行のコードベース、統一MCPゲートウェイ、成熟した社内プラットフォーム)での報告であり、数値の多くは自社環境に依存する。ただし著者はその限界を自覚しており、「方法論は普遍的に適用可能だが、具体的な削減率は環境次第」と明記している。この誠実さが、一次資料としての信頼性を高めている。
AIエージェント、コスト最適化、プロンプトキャッシュ、コードモード、MCP、モデルルーティング、コンテキストグラフ、ソフトウェア工学、Uber、LLM