すべてのAIコーディングエージェントはコンテキストウィンドウの中で動作する。これは、一度に「見る」ことのできるテキストの有限な量のことだ。あなたのメッセージ、エージェントの返答、読み込んだファイル、実行したコマンドの出力などが含まれる。このウィンドウが埋まると、品質は不可解に感じられる形で低下する。エージェントは20分前にあなたが下した決定を忘れたり、すでに編集したファイルを読み直したり、いつのまにか自己矛盾を起こしたりする。数分を超えるどんなタスクでも、コンテキストの管理は出力品質を左右する唯一にして最大のレバーだ。以下は、それを意図的に行う方法だ。
ウィンドウが満杯だとなぜ問題なのか
ウィンドウが混み合ってきても、モデルは優雅に劣化してはくれない。2つのことが起こる。第一に、古いメッセージは端の方へと押しやられ、そこではモデルの注意が向きにくくなる。これは典型的な「lost in the middle(中間の見落とし)」問題だ。第二に、ほとんどのエージェントは空き容量が乏しくなると自動的に要約を行うが、切迫した状況で自動生成された要約は情報の欠落を伴う。あなたが気にしていたまさにその制約を落としてしまうかもしれない。解決策は、埋まるに任せて即興でしのがせるのではなく、エージェントが何を保持しているかを自分で制御し続けることだ。
ウィンドウがどれだけ埋まっているかを見張る
見えないものは管理できない。Claude Codeでは、/contextを実行すると現在の使用量がパーセンテージで表示される。実践者からの経験則として、複雑なタスクでは使用率60%あたりで手を打つのがよい。自動コンパクションが作動する約80%の目安より十分手前だ。CursorやCodexも、UI上で同様のインジケーターを表示する。この数字にときどき目をやるだけで、コンテキスト管理は漠然とした心配事から具体的なシグナルへと変わる。
チェックポイントでコンパクトする――ただ進み続けない
自然な区切り(機能が動く、テストが通る、バグが直る)に達したら、履歴を膨らませ続けるのではなく圧縮しよう。Claude Codeでは、/compactが全トランスクリプトをモデル生成の要約に置き換える。70,000トークンの会話がおよそ4,000トークンにまで減ることもある。重要なのは、何を残すかを誘導できる点だ。
/compact "Keep the API contract and the DB schema we agreed on. Summarize the debugging session — I only need the root cause, not every step."
まだ余裕があるうちに先回りしてコンパクトする方が、ぎりぎりで作動する自動要約よりも良い要約が得られる。要約を書く時点で、モデルが会話全体をまだ鮮明に想起できているからだ。
タスクを切り替えたらクリアする
/compactは同じ作業の流れを継続するためのものだ。/clearはそれを打ち切るためのものだ。無関係なことへ方向転換するとき――バックエンドの修正を終えてフロントエンドの機能へ移るとき――は、まっさらな状態から始めよう。古いコンテキストを持ち越しても役には立たない。トークンを浪費し、エージェントが前のタスクにパターンマッチしてしまうリスクを招くだけだ。クリアはコンテキストが「汚染」されたときの特効薬でもある。モデルが誤った前提に固執し、いくら訂正しても何度もそこへ戻ってしまう状態のことだ。
安定した知識はチャットではなくファイルに置く
同じことを何度も説明し直している自分に気づいたら――テストコマンド、命名規則、APIがどのディレクトリにあるか――その情報はそもそも会話の中に置くべきではない。エージェントが自動的に読み込むプロジェクトファイルに置こう。Claude CodeならCLAUDE.md、CodexなどならAGENTS.md、Cursorなら.cursorrulesだ。これらはセッションの開始時に読み込まれるので、エージェントは最初のメッセージからそれを把握しており、すべての/clearや/compactを生き延びる。ただし、内容は簡潔に保つこと。これはリクエストごとにトークンを消費するので、肥大したCLAUDE.mdはそれ自体が一種のコンテキストの無駄遣いになる。
エージェントには多くではなく、少なく与える
「すべてを渡しておこう」と10個のファイルを放り込む本能は裏目に出る。貼り付けたり@メンションしたりするファイル1つひとつが予算を消費し、モデルの注意を薄める。**厳選した1つのファイルは、たいてい10個より優れている。**最小限から始め、エージェントが実際に必要とするときにだけコンテキストを足そう。どのファイルが重要か分からないなら、ディレクトリ全体を先読みさせるより、まずエージェントにそれを探させるとよい。
雑然とした探索はサブエージェントに委任する
タスクの中には本質的に冗長なものがある――「決済APIを呼び出している場所をすべてコードベースから探す」といったものだ。これをメインのセッションで実行すると、検索の生の出力がウィンドウを氾濫させる。代わりに、それをサブエージェント(Claude CodeのTaskツール、または別のCursorエージェント)に委任しよう。サブエージェントは自分自身の隔離されたウィンドウで騒がしい探索を行い、結論――重要な3つのファイル――だけを返してくれるので、メインのコンテキストをきれいに保てる。
実践的なリズム
まとめると、健全な長時間セッションはこのようになる。
- 簡潔な
CLAUDE.mdから始め、エージェントにプロジェクトを把握させる。 - 各タスクの範囲を狭く絞り、それが触れるファイルだけを参照する。
- 30〜45分ごと、あるいは各マイルストーンの後に
/contextに目をやる。 - 各チェックポイントで、カスタム指示を添えて
/compactする。 - 無関係な作業へ切り替えた瞬間に
/clearする。
どれも特殊なものではない。これは、2時間のセッションを通じて切れ味を保つエージェントと、力強く始まったのに徐々に筋を見失っていくエージェントとの差であり、その代償は不可解な午後をデバッグに費やすことではなく、ほんの数秒の注意にすぎない。
SOURCES
Auto-generated by Vibe Coding Academy on July 1, 2026, grounded in the real sources linked above. We review for accuracy, but please verify time-sensitive details against the primary sources.
Build Blueprint · Creator
アイデアはありますか?あなたの AI エージェントが構築できる仕様を手に入れましょう。
任意のプロダクトを説明すれば、完全なビルド設計図が手に入ります — スタック、データモデル、画面、API、そして Claude Code や Cursor にそのまま貼り付けられるプロンプト。PDF にエクスポート可能。
設計図を開く ▸