【LangChain Interrupt参加レポート】Uberが語る、LangGraphを用いた開発者向けエージェント開発「From Pilot to Platform」

2025年5月13日から5月14日にかけてサンフランシスコで開催されたAIエージェント開発のテックイベント「LangChain Interrupt」。Day 2では、AIエージェントの実用化に向けた具体的な取り組みが数多く紹介されました。

本記事では、UberのSourabh Shirhatti氏とMatas Rastenis氏によるセッション「From Pilot to Platform: Agentic Developer Products with LangGraph」の模様をお届けします。

1日に3,300万以上のトリップを処理し、数億行に及ぶ巨大なコードベースを抱えるUber。同社で5000人以上の開発者の生産性向上をミッションとする開発者プラットフォームチームが、どのようにAIエージェントを活用し、LangGraphをベースとした独自フレームワーク「Lang FX」を構築・運用しているのか。その具体的な製品事例と、そこから得られた貴重な学びが共有されました。

UberにおけるAI開発者ツールの戦略

セッションの冒頭、Sourabh Shirhatti氏はUberにおけるAI開発者ツールの戦略として、以下の3つの柱を挙げました。

  1. 製品とデックス (Products and Decks): 開発者の日常業務(テスト作成、コードレビューなど)を直接的に改善する製品開発。
  2. 横断的な派生物 (Cross cutting derivatives): 多くのソリューションで共通して必要となる基盤的なAI技術。適切な抽象化、フレームワーク、ツールを提供し、迅速な開発を支援。
  3. 意図的な技術移転 (Intentional tech transfer): 開発した製品から再利用可能な要素を抽出し、次の問題解決の障壁を下げる取り組み。

この戦略から生まれたのが、LangGraphとLangChainをUberのシステムに最適化させた独自フレームワーク「Lang FX」です。当初、複数の製品開発チームがエージェント的なアプローチで問題を解決しようとし、再利用可能なノード構築のニーズが高まったことから、LangGraphが最適な選択肢として採用され、Lang FXへと発展しました。

製品事例①:Validator - IDE内リアルタイムコード分析

Matas Rastenis氏が最初に紹介したのは、IDE内でコードのベストプラクティス違反やセキュリティ問題をリアルタイムに警告する「Validator」です。これはLangGraphエージェントを基盤とし、優れたIDE UXが提供されています。

ユーザーがコードを開くと、Validatorが問題を検知し、診断情報と共に修正案を提示。ユーザーは事前に計算された修正を適用したり、IDEのエージェントアシスタントに修正を依頼したりできます。

Matas氏は、Validator構築の重要なポイントとして「エージェントの抽象化により、中央のValidatorの下に複数のサブエージェントを構成できる」点を挙げました。 (The agent abstraction allows us to actually compose multiple sub agents under a central validator.)

例えば、LLMを活用してベストプラクティスに関するフィードバックを行うサブエージェントに加え、静的リンターの結果を処理する決定論的なサブエージェントも組み込まれています。これにより、lintの問題に対しても修正を提案できます。

Validatorは、1日に数千件の修正インタラクションを生み出し、開発者が問題を早期に発見・修正するのに貢献しているとのことです。

製品事例②:AutoCover - 高品質なテストコード自動生成

続いて紹介されたのは、高品質なテストコードを自動生成する「AutoCover」です。単にカバレッジを上げるだけでなく、ビジネスケースを考慮し、バリデーションやミューテーションテストも実施済みのテストを目指しています。

AutoCoverは、複数のエキスパートドメインエージェントを組み合わせて構築されており、前述のValidatorもその一部として再利用されています。これにより、生成されるテストコードの品質を保証しています。ユーザーはSourcegraphなどのツールからAutoCoverを呼び出し、ファイル全体や特定の箇所に対するテストコードを効率的に生成できます。

Lang FXプリミティブの展開とその他の製品

Sourabh Shirhatti氏は、これらの製品で培われたLang FXのプリミティブが、Uber社内の他のツールにも展開されている事例を紹介しました。

  • 社内アシスタントビルダー: Uberの知識に特化したカスタムチャットボットを構築できるプラットフォーム。セキュリティスコアボットなどがValidatorの知見を活用。
  • Picasso: 社内ワークフロー管理プラットフォーム。Genieと呼ばれる会話型AIがワークフロー自動化を支援。
  • U-Review: コードレビュー時にアンチパターンや改善提案を行うツール。Validatorやテストジェネレーターの技術を応用。

これらの事例は、一度構築したエージェントやツールが、形を変えて様々な場面で価値を生み出せることを示しています。

UberがLangGraph活用から得た学び

セッションの後半では、これらの取り組みから得られた技術的・戦略的な学びが共有されました。

技術的な学び

Matas Rastenis氏は、以下の3点を強調しました。

  1. 高性能なドメインエキスパートエージェントの重要性 特定のドメイン知識に特化したエージェントは、コンテキストをより良く理解し、高品質な出力を生み出します。例えば、テスト実行において、Uberのビルドシステムを深く理解したエージェントが、衝突なく複数のテストを実行し、正確なカバレッジレポートを生成します。
  2. 決定論的サブエージェントの有効性 問題を決定論的に解決できる場合は、LLMに頼るよりも安定した結果が得られます。Validatorにおける静的lint結果の活用がその一例です。
  3. エージェントの再利用による開発効率向上 ValidatorがAutoCoverに組み込まれたように、価値ある問題を解決するエージェントを作成し再利用することで、開発全体の効率が大幅に向上します。

戦略的な学び

Sourabh Shirhatti氏は、組織的な観点からの学びを2点挙げました。

  1. カプセル化がコラボレーションを促進する (Encapsulation boosts collaboration) 「LangGraphのようなよく考えられた抽象化があり、状態管理や並行処理などについて明確な方針がある場合、開発を水平方向にスケールさせることが可能になります。運用上のボトルネックを生み出すことなく、より多くの、より複雑な問題に取り組めます。」 (When there are well thought out abstractions like LangGraph and their opinions on how to do things like handle state management, how to deal with concurrency. It really allows us to scale development horizontally. It lets us tackle more problems and more complex problems without creating this operational bottleneck.) 実際に、AIエージェントやLangGraphの内部構造を知らないセキュリティチームが、Validatorのルールを作成し、セキュリティ向上に貢献できた事例が紹介されました。

  2. AIエージェント開発は既存システムの改善にも繋がる 「これは『エージェントシステムを構築すべきか、それとも既存のシステムを改善すべきか』という二者択一ではありません。通常、それは互いに助け合うことにつながります。」 (It's not a like arms your sides are should we build agentic systems, or should we improve our existing systems? It usually segues into like, helping each other.) エージェント開発の過程で、モック生成の効率化やビルドシステムの改善点などが見つかり、それらを修正することで、AIツールを利用しない開発者のエクスペリエンスも向上したとのことです。LangGraphでプロセスをモデル化することが、既存プロセスのボトルネック発見にも繋がったのです。

まとめ

Uberのセッションは、LangGraphによるAIエージェントを開発プロセスの中に組み込む例として、示唆に富むものでした。特に、高性能なドメインエキスパートエージェントを組み合わせることにより、現場のニーズにあった成果物生成が実現できているという点については、多くの学びがありました。