# コンテキストウィンドウ

> どのモデルにも、扱える量の上限があります。インジケーターはこの会話がそのうちどれだけを使っているかを、パネルは何がその容量を占めているかを示します。

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

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

## なぜ重要か

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

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

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

## 何が容量を占めているか

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

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

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

## 実測値と予測値

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

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

## リソース

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

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

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

1. **新しい[会話](/ja/docs/work/conversations/)を始めます**。最も効果的な方法です。新しいスレッドには、古いメッセージが一切含まれません。
2. その前に、**長く使う事実を[メモリ](/ja/docs/capabilities/memory/)や[プロジェクト](/ja/docs/capabilities/projects/)に移しておきます**。次のスレッドで説明し直す必要がなくなります。
3. **エージェントが使っていないツールの紐付けを解除します**。ツールの定義は、呼び出されるかどうかに関係なく、ステップごとに送り直されます。
4. **ウィンドウの大きいモデルを選びます**。モデルの選択メニューには、モデルごとのウィンドウのサイズが表示されます。これで余裕は生まれますが、話があちこちに逸れたスレッドがまとまるわけではありません。

<Aside type="tip" title="収まっていても、長いスレッドにはコストがかかります">
  1ステップのコストは、新しく書いた文だけではなく、コンテキスト全体にかかります。焦点を絞った2つの会話のほうが、3つの話題を行き来した1つの会話よりも、たいていは安く済み、回答も良くなります。
</Aside>

## 制限事項

- ウィンドウのサイズはモデルによって決まります。モデルを変えると上限も変わります。
- 切り詰めでは、古いメッセージから順に削除されます。要約して残すことはしません。
- 内訳は直前の実行を反映しています。その後に行った変更（ツールの紐付けやプロンプトの編集など）は、次の実行で反映されます。

## 関連項目

<CardGrid>
  <LinkCard
    title="会話"
    href="/ja/docs/work/conversations/"
    description="既存のスレッドを続けずに、新しいスレッドを始めるべきとき。"
  />
  <LinkCard
    title="メモリ"
    href="/ja/docs/capabilities/memory/"
    description="会話の中ではなく、会話をまたいで事実を持ち越す。"
  />
  <LinkCard
    title="モデルの選び方"
    href="/ja/docs/build/models/"
    description="ウィンドウのサイズと、モデルごとのトークン単価。"
  />
</CardGrid>
