コンテンツにスキップ

コンテキストウィンドウ

Markdown で表示

モデルが1回のリクエストで読めるテキストの量は決まっています。これがモデルのコンテキストウィンドウです。エージェントが必要とするものは、すべてこの中に収まらなければなりません。指示、メモリ、呼び出せるツール、あなたとの会話、そして添付ファイルです。

入力欄にはこのウィンドウがどれだけ埋まっているかが表示され、コンテキストパネルには何がそれを埋めているかが表示されます。

ウィンドウが埋まるにつれて、2つのことが悪化します。

  • 古いメッセージが切り詰められます。長いスレッドの冒頭が、エージェントから見えなくなります。
  • ステップごとのコストが上がります。実行のステップごとにコンテキスト全体が送り直されるため、重い会話は、遅くて高くつく会話になります。

「最初に話したことを忘れた」ように見えるエージェントは、ほとんどの場合、記憶が壊れているのではなく、ウィンドウがいっぱいになっているだけです。

パネルでは、ウィンドウを次の区分に分けて表示します。

区分内容
システム指示endue がすべての実行に共通して与える枠組み
アイデンティティエージェントの名前、性格、プロフィール
エージェント指示現在のリビジョンのシステムプロンプト
指示スキル内容がコマンドではなく、常に適用される指針として働くスキル
メモリこの会話に関連するメモリ
ツール定義エージェントが呼び出せるすべてのツールのスキーマ
会話メッセージあなたとエージェントがやり取りした内容
添付メディア添付ファイル。メッセージとは別に数えます

ツールはさらに細かく分けて表示されます。スキル、コネクター、組み込みツールのグループ、デバイスのそれぞれについて、定義を提示するだけでどれだけの量を使うか、そして直前の実行で何回呼び出され、その結果がどれだけの量になったかがわかります。これで、「このツールは提示するだけで高くつく」のか、「このツールが大量の結果を返した」のかを見分けられます。

最初の実行の前には測れるものがないため、表示される数値は次のリクエストに含まれる量の予測値です。実行の後は、そのリクエストに実際に含まれていた量になります。

いま見ているのがどちらなのかは、パネルに表示されます。予測値が後の実測値と異なるのは正常です。エージェントが、事前には予測できなかったメモリやツールの結果を取り込むことがあるためです。

パネルには、この会話で読み込まれた添付ファイルの一覧も表示されます。1つ選ぶと、その添付ファイルが付いていたメッセージまでスクロールします。長いスレッドで「さっきのスクリーンショット」を探すには、これが一番早い方法です。

ウィンドウがいっぱいになったら

Section titled “ウィンドウがいっぱいになったら”

効果の大きい順に、おおよそ次のとおりです。

  1. 新しい会話を始めます。最も効果的な方法です。新しいスレッドには、古いメッセージが一切含まれません。
  2. その前に、長く使う事実をメモリやプロジェクトに移しておきます。次のスレッドで説明し直す必要がなくなります。
  3. エージェントが使っていないツールの紐付けを解除します。ツールの定義は、呼び出されるかどうかに関係なく、ステップごとに送り直されます。
  4. ウィンドウの大きいモデルを選びます。モデルの選択メニューには、モデルごとのウィンドウのサイズが表示されます。これで余裕は生まれますが、話があちこちに逸れたスレッドがまとまるわけではありません。
  • ウィンドウのサイズはモデルによって決まります。モデルを変えると上限も変わります。
  • 切り詰めでは、古いメッセージから順に削除されます。要約して残すことはしません。
  • 内訳は直前の実行を反映しています。その後に行った変更(ツールの紐付けやプロンプトの編集など)は、次の実行で反映されます。