powered by TechFeed
表示モード
Deep Dive

InstagramがAIネイティブUI設計に刷新 — Jetpack Compose移行でコード量半減、トークンコストも33%削減

10月16日、Sergio De Simoneが「Instagram Modernized Its UI with an AI-Native Architecture, Cutting Token Costs by 33%」と題した記事を公開した。InstagramがAndroid UIをJetpack Composeへ移行し、AIエージェントが扱いやすい「AIネイティブアーキテクチャ」を構築することでトークンコストを33%削減した取り組みは、「AIにコードを書かせやすい設計とは何か」という問いに対する実践的な回答として注目に値する。

10月16日、Sergio De Simoneが「Instagram Modernized Its UI with an AI-Native Architecture, Cutting Token Costs by 33%」と題した記事を公開した。InstagramがAndroid UIをJetpack Composeへ移行し、AIエージェントが扱いやすい「AIネイティブアーキテクチャ」を構築することでトークンコストを33%削減した取り組みは、「AIにコードを書かせやすい設計とは何か」という問いに対する実践的な回答として注目に値する。


「AIに書かせやすいコード」を設計する、という発想の転換

この事例の核心は、単なるUIフレームワーク移行ではない。AIエージェントがコードを書く際の「最小抵抗経路」を、正しい実装に向けて設計するという考え方だ。

InstagramのエンジニアはAndroid DirectのUIを、従来のAndroid ViewシステムからJetpack Composeへ移行した。その過程で得た最大の教訓がこれだ:

AIエージェントは自然と最小抵抗の経路をたどる。だから設計は、その経路が正しく高品質なコードへつながるようにし、悪い設計判断は表現しにくく、コストが高くなるようにすべきだ。

つまり、AIに個々のコンポーネントを移行させる「場当たり的なアプローチ」ではなく、アーキテクチャ自体を「AIが正しく実装しやすい構造」にすることが重要だという。AIツールが最小抵抗経路を取ることで生じる「微妙なバグ、技術的負債、パフォーマンスの劣化」を防ぐためだ。

具体的には、以下の2点を重視している:

  • 状態管理の境界、予測可能な振る舞い、開発パターンを明確にすることで、AIが正しい実装を自然に選べる構造にする
  • コンテキスト依存を最小化する——コードベース固有の知識を前提とせず、確立されたベストプラクティスや一般的なパターンを使うことで、AIがより信頼性の高い結果を出せるようにする

移行結果:コード量半減、コストも大幅削減

この方針のもとで実施したJetpack Compose移行の結果は以下の通りだ:

指標 改善幅
UIコード量 50%削減
AIエージェントの実行時間 35%短縮
エージェントセッションあたりのトークンコスト 33%削減
エンジニアとエージェント間のやりとり回数 32%削減

移行は既存の機能開発を止めずに進められた。AI支援ワークフローを標準化し、チーム全体でアーキテクチャの一貫性を保つことも徹底した。


パフォーマンス計測の落とし穴

移行で最大の課題となったのが、パフォーマンスの退行をどう検知するかだ。チームが注目した本番指標は3つ:Time to Interact(画面が操作可能になるまでの時間)、Time to Fully Load(全コンテンツが読み込まれるまでの時間)、スクロールパフォーマンス(スクロールの滑らかさ)。

これらはすべて本番環境でのランタイム計測であり、移行済みのCompose UIとレガシーUIをA/Bテストで比較できる仕組みを整えた。

一つの重要な知見は、画面全体をComposeに移行し終えるまで、パフォーマンスを正確に評価できないという点だ。レガシーのViewが一部でも残っていると、計測値が歪む。このため、Compose UIコンポーネントはRecyclerViewとLazyColumnの両方に対応しつつ、実行時にフィーチャーフラグで切り替えられる設計にした。最終的には、レガシーのRecyclerViewをComposeネイティブのLazyColumnに置き換えている。

また、Composeはアプリセッションごとに一度だけランタイムウォームアップコストが発生する仕組みのため、他のCompose画面はそのコストを再度払わずに済む。結果として、アプリ全体の起動パフォーマンスにも波及的な改善が見られた。


Jetpack Composeの採用がAIコーディング支援との相性の観点からも語られ始めている点は、今後のAndroid開発の方向性を示す事例として参考になる。Googleの公式ブログもあわせて参照されたい。

詳細はInstagram Modernized Its UI with an AI-Native Architecture, Cutting Token Costs by 33%を参照していただきたい。