長いコンテキストが失敗する理由
(dbreunig.com)- 最新の大規模言語モデルでは、100万トークンまで対応する長いコンテキストウィンドウが導入され、エージェント性能の飛躍的な向上への期待につながっている
- 実際には、長いコンテキストはより良い回答を生み出すわけではなく、むしろコンテキスト汚染、エラー、混乱、衝突などによってシステム障害を引き起こす
- コンテキスト汚染(Poisoning)、コンテキスト散漫(Distraction)、コンテキスト混乱(Confusion)、**コンテキスト衝突(Clash)**が代表的な問題である
- これらの問題は、特に多数の情報源、ツール連携、多段階推論などの複雑なフローにおいて、エージェントにより大きな影響を与える
- 今後の記事では、実践的な解決策と回避戦略が扱われる予定である
コンテキスト管理の重要性
- 最近の大規模フロンティアモデルは、100万トークンまで対応する長文コンテキストウィンドウを提供している
- 多くの人は、大きなウィンドウにすべてのツール、文書、指示を入力しても問題ないと期待している
- しかし実際には、コンテキスト過負荷がさまざまな失敗を招き、とりわけエージェント型アプリケーションでは致命的な問題として作用する
コンテキスト汚染 (Context Poisoning)
- コンテキスト汚染とは、幻覚(hallucination)や誤りがコンテキストに流入し、繰り返し参照される現象である
- Deep MindのGemini 2.5技術レポートでは、ゲーム中に誤ったゲーム状態が目標や要約セクションに残り、無意味な戦略や不可能な目標によってエージェントが誤った行動を繰り返す事例が説明されている
- このような汚染されたコンテキストは、一時的または長期的にエージェントの判断を曇らせる
コンテキスト散漫 (Context Distraction)
- コンテキスト散漫とは、コンテキストが長くなりすぎることで、モデルが学習時に身につけた内容よりもコンテキストに過度に集中してしまう現象である
- Gemini 2.5 Proの1M+トークンウィンドウでも、実際にはコンテキストが100,000トークンを超えると、モデルは過去の履歴を繰り返すばかりで、創造的な計画立案が難しくなる
- Databricksの研究では、Llama 3.1 405bの場合、32,000トークンですでに精度が急落することが確認されている
- このことは、極端に大きなウィンドウが現実的には要約(summarization)やファクト検索(retrieval)にしか有用でないことを示唆している
コンテキスト混乱 (Context Confusion)
- あまりに多くのツールや定義をコンテキストに入れると、モデルが不要または不適切なツール呼び出しなど、低品質な応答を生成する
- BerkeleyのFunction-Calling Leaderboardによれば、複数のツールが提供されるほど、すべてのモデルの性能が低下し、不要な呼び出しが頻繁に発生する
- GeoEngineベンチマーク論文では、Llama 3.1 8bモデルは46個のツールが与えられた状況では失敗したが、19個だけが与えられた場合には成功した
- コンテキストに入った情報は、モデルにとって必ず考慮しなければならない情報として認識されるため、不要なノイズが問題を引き起こす
コンテキスト衝突 (Context Clash)
- コンテキスト衝突とは、多段階で収集された情報やツールの説明の間に、互いに矛盾または競合する内容が存在する状態である
- MicrosoftとSalesforceの研究は、マルチターン会話においてこの現象が平均39%の性能低下につながることを示している
- これは、初期の応答で誤った前提が作られ、その後もその回答に過度に依存する構造のためである
- MCPなどの外部ツールと接続する際には、衝突のリスクが高まる
結論と展望
- 100万トークンコンテキストの登場は革新と見なされたが、実際には汚染、散漫、混乱、衝突といった新しい種類のエラーが増加している
- こうした問題は、特に複数情報の収集、段階的なツール連携、長い会話履歴が蓄積するエージェントシステムにとって致命的である
- 解決策としては、動的ツールローディング、コンテキスト分離など、さまざまな戦略が提案されうるが、続編の記事で具体的に扱われる予定である
次の記事: 「あなたのコンテキストを修正する方法」
まだコメントはありません。