長いコンテキストがスケールしない理由
コストは線形に増加し、品質は低下します。また「lost-in-the-middle」により、長いプロンプトの中に埋もれた内容をモデルが忘れてしまいます。
「長いコンテキストがスケールしない理由」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。
大きければ常によいとは限らない
最新のモデルには、200k、1M、さらには2Mトークンという巨大なコンテキストウィンドウがあります。実際のメモリを構築する代わりに、「すべてをそのまま入れてしまおう」と考えたくなります。
しかし、その方法は本番環境では3つの理由で機能しません。
理由1:コスト
すべての呼び出しに含まれるすべてのトークンに料金がかかります。100kトークンのシステムプロンプトと1000ターンの会話では、入力トークンが合計1億トークンとなり、1セッションあたり数十ドルかかります。
プロンプトキャッシュは役立ちますが、コストをなくすことはできません。
理由2:レイテンシー
入力トークンを100k処理すると、最初のトークンが返るまでの時間に1〜3秒が加わります。チャットのUXでは、TTFTを500ミリ秒未満に抑えたいところです。
理由3:品質の低下
モデルは、長いプロンプトの中央にある内容への注意が薄くなります。これは、Liuらが2023年に報告した「lost-in-the-middle」効果です。
先頭や末尾の情報は正確に想起されますが、中央の情報は見落とされることがよくあります。
具体的なテスト
長い文書の異なる位置に固有の事実を挿入し、モデルにその内容を取り出すよう求めます。正答率は次のとおりです。
- 文書の先頭:95%
- 文書の末尾:90%
- 中央:50〜70%
長いコンテキストは評価用であり、本番用ではない
長いコンテキストは、1回限りのタスク(このコードベース全体を分析するなど)には便利ですが、継続的に稼働する本番エージェントには適していません。
本番環境では、検索を使って各ターンで関連する5%だけを注入してください。
長いコンテキストが役立つ場合
- コードベースの初期分析
- 1回の呼び出しで行う文書全体へのQ&A
- 2つの長い文書の比較
再実行を伴わないワンショットのタスクです。
長いコンテキストが問題になる場合
- 数百ターンに及ぶチャットボット
- 複数のテナントが共有するエージェント
- コストやレイテンシーが重要になるあらゆる場面
適切なアーキテクチャ
長時間稼働するエージェントでは、次のようにします。
- 最近のターンをプロンプトに含める(直近10〜20ターン)
- 古いターンを継続的な要約にまとめる
- 事実をベクトル化して長期メモリに保存する
- 各ターンで関連性の高い上位K件のメモリを検索する
ハイブリッドアプローチ
複数の手法を組み合わせます。
messages = [
{'role': 'system', 'content': PERSONA},
{'role': 'system', 'content': f'Conversation summary so far: {summary}'},
{'role': 'system', 'content': f'Relevant past facts: {retrieved_facts}'},
*last_n_turns,
]圧縮のトリガー
いつ圧縮するかを決めます。
- Nターンごと(シンプル)
- トークン数がしきい値を超えたとき(よりよい)
- モデルが忘れ始めたとき(最善ですが、検出が困難)
Lost in the Middle
「lost-in-the-middle」効果とは何でしょうか。
まとめ
コンテキストを最大まで使うことでメモリの問題を解決しようとしないでください。要約と検索を使って、各ターンで重要な情報を提示してください。
AI チューターと学ぶ AI Agents — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 60
- レッスン
- 239
よくある質問
「長いコンテキストがスケールしない理由」レッスンは無料ですか?
はい。「長いコンテキストがスケールしない理由」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。
「長いコンテキストがスケールしない理由」で何を学びますか?
コストは線形に増加し、品質は低下します。また「lost-in-the-middle」により、長いプロンプトの中に埋もれた内容をモデルが忘れてしまいます。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Agentsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「長いコンテキストがスケールしない理由」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Agentsレッスンでコードを書いて実行できますか?
はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- コンテキストウィンドウにおける短期記憶
- 長いコンテキストがスケールしない理由
- 圧縮としての要約
- シンプルなメモリストア(Key-Value)