こんにちは、LINEヤフー株式会社の井上 秀一です。私は2024年4月に新入社員としてLINEヤフー株式会社に入社し、現在は社内向け Kubernetes as a Service である FKE チームで開発業務に従事していて、Orchestration Development Workshop ギルドメンバーとしても活動しています。
Orchestration Development Workshopは、CTO から選抜されたエンジニアが集まり、現場の AI 活用の実践知識を横断的に持ち寄るコミュニティです。Orchestration Guildとは、Workshopで扱うテーマ提案、実践的ユースケースの共有、技術的観点での品質アドバイスなどを担当し、Orchestration Development Workshop の コンテンツが属人化せず、継続的に発展していくことを支える役割を担っています。
このテックブログでは、Orchestration Development Workshopで開催したワークショップ「Agent Development Kit(ADK)で学ぶ実践Context Engineering」の内容を紹介します。前回のワークショップ(#2)ではADKを使ったSingle/Multi-Agent開発と社内システムへの統合を扱いましたが、今回はAI Agentのコスト・精度問題を改善するためのContext Engineeringに焦点を当てます。
社内の現状と課題
AI Agentツールの普及と新たな問題
前回のワークショップ以降、社内ではClaude Code、Cline、ADKなどのAI Agentツールの活用が一層進みました。しかし、活用の拡大とともに、以下のような問題が顕在化してきました。
- コストの急増: AI Agentツールの利用拡大に伴い、Token消費量が想定以上に増加
- 期待通りの出力が得られない: プロンプトに指示を書いているにもかかわらず、AIが無視したり、重要な情報が抜け落ちたりする
- 会話が長くなると精度が低下: 長時間の対話で急に的外れな回答をするようになる
これらの問題に共通する主要な原因の一つは、LLMに渡すContext(文脈情報)の管理が適切に行われていないことにあります。
Token消費量が増加する背景
Token消費量が増加する主な要因は以下の通りです。
- 生成AIの利用人口増加: 社内でのAI活用が進み、利用者数が増加
- 試行錯誤: 所望の出力を得るまでの繰り返しでTokenを消費
- AI Agentの役割拡大: Single-AgentからMulti-Agentへ、単発タスクから長時間実行・複雑なタスクへとAgent活用の幅が広がり、Context量が大幅に増加
- MCPなどのTool連携: Tool定義自体がContextを消費
- Context Engineeringの浸透不足: 最適化手法がまだ十分に浸透していない
本ワークショップでは、これらの問題を改善するための体系的なアプローチとしてContext Engineeringを紹介し、ADKを題材に実践的な手法を学びます。
Context Engineeringとは
基礎概念の整理
Context Engineeringを理解するためには、まず3つの基礎概念を押さえる必要があります。
| 概念 | 説明 | わかりやすく言うと |
|---|---|---|
| Token | LLMが文章を理解・生成する際に内部で扱うテキストの最小単位 | 1文字・1単語のようなもの |
| Context | LLMに渡す全情報 | 会話の「中身」 |
| Context Window | 一度に処理できるTokenの上限 | 会話を入れる「器」のサイ ズ |

GPT-5などのLLMモデルは1M Token単位で課金され、入力と出力の総Token数に基づきます。Token数を意識しないと、知らないうちに高額な費用が発生するリスクがあります。
Context Rot(Contextの腐敗)
長時間実行するAgentでは、Context Rotと呼ばれる現象が発生します。これは、時間経過とともにContextが劣化する問題です。
- 情報の蓄積: 対話履歴や中間結果が増え続け、Context Windowを圧迫
- 関連性の低下: 古い情報が現在のタスクに無関係になっても、Context内に残り続ける
- 信号対雑音比の悪化: 重要な情報がノイズに埋もれ、AIの判断精度が低下
「プロンプトに書いてあるのにAIが無視する」「会話が長くなると急に変な回答になる」といった症状の多くは、このContext Rotが原因です。解決策はシンプルで、必要なContextだけをLLMに渡してあげることです。

Context Engineeringの定義
AI Agentが扱うContext(プロンプト、ツール、外部データ、メッセージ履歴等)を適切に設計・管理する最適化手法
具体的には、推論時(inference)にモデルに渡されるすべての情報を戦略的に選別・管理します 。管理対象は以下の3種類に分類できます。
- Static Context(静的Context): System Prompts、Tool Definitions
- Dynamic Context(動的Context): User Messages、Conversation History、RAGで取得した外部データ
- Long-horizon Context(長期Context): 長時間実行で蓄積される情報、Session State
核心原則
Context Engineeringには、Anthropicの記事を参考にした2つの核心原則があります。
原則1: Tokenは有限なリソース
"Find the smallest set of high-signal tokens"(最小限の高品質なTokenセットを見つける)
Context Windowには上限があり、Token数に比例してコストが増加し、不要な情報は精度を低下させます。
原則2: 多すぎず、少なすぎず、ちょうど良く
- 抽象度が高すぎると情報不足でAIが推測に頼り、精度が低下
- 抽象度が低すぎると詳細すぎてTokenを浪費し、コストが増加
- タスクに必要な情報だけを適切な粒度で提供することが理想
Prompt EngineeringとContext Engineeringの違い
| 観点 | Prompt Engineering | Context Engineering |
|---|---|---|
| 定義 | AIに何をするかを指示する技術 | AIが能力を最大限発揮できるよう、記憶と環境を設計・管理する技術 |
| スコープ | プロンプトの設計に集中 | プロンプト + ツール + データ + 履歴 |
| 適用場面 | 単発タスク、シンプルな分類・生成 |