コンテキストウィンドウ
モデルが1回のリクエストで読めるテキストの量は決まっています。これがモデルのコンテキストウィンドウです。エージェントが必要とするものは、すべてこの中に収まらなければなりません。指示、メモリ、呼び出せるツール、あなたとの会話、そして添付ファイルです。
入力欄にはこのウィンドウがどれだけ埋まっているかが表示され、コンテキストパネルには何がそれを埋めているかが表示されます。
ウィンドウが埋まるにつれて、2つのことが悪化します。
- 古いメッセージが切り詰められます。長いスレッドの冒頭が、エージェントから見えなくなります。
- ステップごとのコストが上がります。実行のステップごとにコンテキスト全体が送り直されるため、重い会話は、遅くて高くつく会話になります。
「最初に話したことを忘れた」ように見えるエージェントは、ほとんどの場合、記憶が壊れているのではなく、ウィンドウがいっぱいになっているだけです。
何が容量を占めているか
Section titled “何が容量を占めているか”パネルでは、ウィンドウを次の区分に分けて表示します。
| 区分 | 内容 |
|---|---|
| システム指示 | endue がすべての実行に共通して与える枠組み |
| アイデンティティ | エージェントの名前、性格、プロフィール |
| エージェント指示 | 現在のリビジョンのシステムプロンプト |
| 指示スキル | 内容がコマンドではなく、常に適用される指針として働くスキル |
| メモリ | この会話に関連するメモリ |
| ツール定義 | エージェントが呼び出せるすべてのツールのスキーマ |
| 会話メッセージ | あなたとエージェントがやり取りした内容 |
| 添付メディア | 添付ファイル。メッセージとは別に数えます |
ツールはさらに細かく分けて表示されます。スキル、コネクター、組み込みツールのグループ、デバイスのそれぞれについて、定義を提示するだけでどれだけの量を使うか、そして直前の実行で何回呼び出され、その結果がどれだけの量になったかがわかります。これで、「このツールは提示するだけで高くつく」のか、「このツールが大量の結果を返した」のかを見分けられます。
実測値と予測値
Section titled “実測値と予測値”最初の実行の前には測れるものがないため、表示される数値は次のリクエストに含まれる量の予測値です。実行の後は、そのリクエストに実際に含まれていた量になります。
いま見ているのがどちらなのかは、パネルに表示されます。予測値が後の実測値と異なるのは正常です。エージェントが、事前には予測できなかったメモリやツールの結果を取り込むことがあるためです。
パネルには、この会話で読み込まれた添付ファイルの一覧も表示されます。1つ選ぶと、その添付ファイルが付いていたメッセージまでスクロールします。長いスレッドで「さっきのスクリーンショット」を探すには、これが一番早い方法です。
ウィンドウがいっぱいになったら
Section titled “ウィンドウがいっぱいになったら”効果の大きい順に、おおよそ次のとおりです。
- 新しい会話を始めます。最も効果的な方法です。新しいスレッドには、古いメッセージが一切含まれません。
- その前に、長く使う事実をメモリやプロジェクトに移しておきます。次のスレッドで説明し直す必要がなくなります。
- エージェントが使っていないツールの紐付けを解除します。ツールの定義は、呼び出されるかどうかに関係なく、ステップごとに送り直されます。
- ウィンドウの大きいモデルを選びます。モデルの選択メニューには、モデルごとのウィンドウのサイズが表示されます。これで余裕は生まれますが、話があちこちに逸れたスレッドがまとまるわけではありません。
- ウィンドウのサイズはモデルによって決まります。モデルを変えると上限も変わります。
- 切り詰めでは、古いメッセージから順に削除されます。要約して残すことはしません。
- 内訳は直前の実行を反映しています。その後に行った変更(ツールの紐付けやプロンプトの編集など)は、次の実行で反映されます。