AIセッションをまたいでコンテキストを維持する方法

AIセッションをまたいでコンテキストを維持する4つのレイヤー:CLAUDE.mdやAGENTS.mdのような指示ファイル、自動メモリ、セッションの再開、チームが読める共有作業記録

Aiden Flux

Aiden Flux

4 11月 2026

AIセッションをまたいでコンテキストを維持する方法

コーディングエージェントのセッションは、どれも空の状態から始まります。Claude Code の公式ドキュメントにもそう書かれています。セッションは毎回、まっさらなコンテキストウィンドウからスタートします。昨日伝えたことをツールが覚えているのは、会話の外側にある何かが引き継いでくれた場合だけです。つまり、AI セッションをまたいでコンテキストを維持する方法を身につけるというのは、ひとつの裏技を覚えることではありません。あるコンテキストが4つのレイヤーのどれに属するのかを見極め、セッションが終わる前にそこへ置いておくことなのです。

本記事では、この4つのレイヤーを順に解説します。起動時にツールが読み込む指示ファイル、ツール自身が書き残すノート、セッションの再開、そして最初の3つではカバーできない共有の作業記録です。最初の3つは Claude Code、Codex、Gemini CLI の機能です。4つ目が Sharkly の出番です。ゴール、議論、実行、承認を保持する Task こそ、他人が読める唯一のレイヤーだからです。チャットとタスク割り当てのどちらにすべきか迷っている方は、AI エージェントとチャットするか Task を割り当てるかのガイドが参考になります。

TL;DR

コンテキストがセッションをまたいで生き残る場所は4つあります。指示ファイル(CLAUDE.md、AGENTS.md、GEMINI.md)は、ツールが毎回守るべきルールを保持します。自動メモリは、ツールが学習した修正や好みを保持します。セッションの再開は、1人のユーザーの1台のマシン上の会話を引き継ぎます。作業記録、つまり説明・コメント・実行ログを伴う Task は、何が決定され、何が実行され、誰が承認したかを保持し、共有される唯一のレイヤーです。それぞれのコンテキストを適切なレイヤーに置けば、まっさらなコンテキストウィンドウは損失ではなくなります。

レイヤー1:起動時にツールが読み込む指示ファイル

指示ファイルとは、一度書いておけばツールが毎セッション読み込んでくれるコンテキストです。主要な CLI にはそれぞれ指示ファイルがあり、解決方法も似ています。

ツール ファイル 解決方法
Claude Code CLAUDE.md(プロジェクトまたは .claude/CLAUDE.md)、~/.claude/CLAUDE.md(ユーザー)、CLAUDE.local.md(個人用、gitignore 対象) 作業ディレクトリとその上位ディレクトリすべてから読み込み、ルートから下に向かって連結される。サブディレクトリのファイルはオンデマンドで読み込まれる
Codex AGENTS.md。グローバルスコープには ~/.codex/AGENTS.md、一時的な上書きには AGENTS.override.md を使用 Git ルートから下に向かって連結され、project_doc_max_bytes で上限が設定される。デフォルトは 32 KiB
Gemini CLI GEMINI.md。グローバルスコープには ~/.gemini/GEMINI.md を使用 グローバル、ワークスペース、ジャストインタイムでの検出。/memory show でマージされた結果を表示できる

このレイヤーを役立てるコツは2つあります。1つ目は、ファイルを短く保つことです。Claude Code のガイドラインでは、ファイルあたり200行未満が目安とされています。ファイルが大きくなるほど遵守率が下がるためです。2つ目は、毎回説明し直すことになる事実を書いておくことです。ビルドコマンド、規約、前回チャットに入力したルールなどが該当します。リポジトリにすでに AGENTS.md がある場合、@AGENTS.md だけを記述した CLAUDE.md がそれをインポートするので、両方のツールが1つのソースを読み込むことになります。このレイヤーの内容はすべて強制ではなくコンテキストです。Claude Code のメモリに関するドキュメントには、アクションをブロックするのは指示ではなくフックであると明記されています。

レイヤー2:ツール自身が書き残すノート

Claude Code の自動メモリは、存在自体を忘れられがちなレイヤーです。Claude は作業を進めながら、あなたの役割や好み、与えられた修正、コードからは導き出せないプロジェクトのコンテキスト、リポジトリ外の情報の場所などをノートとして保存します。保存先は ~/.claude/projects/<project>/memory/ で、MEMORY.md によってインデックス化されます。このファイルの最初の200行、または 25 KB が毎セッションの開始時に読み込まれます。トピックファイルはオンデマンドで読み込まれます。

押さえておくべき境界が3つあります。自動メモリはリポジトリ単位で、worktree 間では共有されます。マシンローカルなので、デスクトップで保存したノートはラップトップには存在しません。そして /compact を実行しても残ります。コンパクションが書き換えるのは会話であり、ディスク上のファイルではないからです。何が保存されたか確認するには /memory を実行します。無効にするには autoMemoryEnabled を false に設定するか、CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 をエクスポートします。

このレイヤーは、一度言えばずっと守ってほしい類のことに使いましょう。たとえば「常に pnpm を使う」「API テストにはローカルの Redis が必要」などです。チームメイトが必要とする決定事項をここに頼ってはいけません。これはあなた専用のものです。

レイヤー3:セッションの再開

必要なコンテキストが会話そのものである場合もあります。Claude Code はセッションをディスクに保存しています。claude --continue はカレントディレクトリの直近の会話を再開し、claude --resume <id-or-name> は特定のセッションを再開します。また --fork-session は新しいセッション ID を作成するので、チェックポイントから上書きせずに分岐できます。/clear する前に /rename でセッションに名前を付けておけば、後で見つけやすくなります。Codex には codex resume があり、カレントリポジトリの直近のチャットを再開できます。

再開にはコストが伴います。すべてのリクエストが会話全体を運ぶため、長く続いたセッションでは、一行の質問でも新しいセッションより多くの使用量を消費します。焦点を指定した /compact、たとえば /compact Focus on the migration plan は、詳細を引き換えにスペースを確保します。コンパクション後に残るのは要約と、指示ファイルが再読み込みする内容だけです。会話の中だけで伝えられ、要約に含まれなかったものは失われます。再開は昼休みをまたぐための橋として扱い、チームの記憶として扱わないようにしましょう。

レイヤー4:作業記録

最初の3つのレイヤーはどれも、木曜日にチームメイトが尋ねる質問には答えられません。火曜日にエージェントが何をしたのか、なぜそうしたのか、誰が承認したのか。指示ファイルはルールを保持します。自動メモリは1人の好みを保持します。再開されたセッションは1人のマシン上の1つの会話を保持します。決定、実行、承認には共有された記録が必要であり、その記録こそが Task です。

Sharkly では、Task に紐づいた実行には、Task のタイトルと説明、最近のコメントと実行のきっかけとなったコメント、エージェントの指示とスキル、その Task に設定されたリポジトリが含まれます。これがコンテキストの引き継ぎです。次の実行は、前回のセッションの記憶からではなく、Task から始まります。進捗、トレースイベント、結果は Task に返され、実行ログには、実行がなぜキューに入ったのか、いつ開始・終了したのか、ツール呼び出し、トリガー元、失敗の詳細が記録されます。

何をどこに置くかを決めるルールがプロダクトのドキュメントに2つあり、どちらも機能というより境界のルールです。スタンドアロンの Agent Chat セッションは作成者に属し、他のメンバーはアクセスできません。チームが結論を必要とするなら、Task の説明かコメントにコピーしましょう。また、Task 上のエージェントチャットはコメントではありません。Activity には表示されないため、そこで下された決定は、誰かが書き残さない限り見えません。Claude Code プロジェクト管理のウォークスルーでは、Task が issue からレビューまでの変更を担う様子を紹介しています。

もう1つ、引用する価値のある区別があります。これはまさに本記事が扱っている落とし穴だからです。Crew は Task ディレクトリの共有再利用を有効にできるため、後から参加したエージェントメンバーの実行は、同じ Computer 上の以前のメンバーのローカル変更を引き継ぎます。この設定が共有するのはファイルシステムの状態であり、前のエージェントのプロバイダーセッションではありません。ファイルは引き継がれますが、モデルの会話は引き継がれません。2番目のエージェントが1番目のエージェントの推論を必要とするなら、それは Task 上に置かれていなければなりません。

コンテキストの種類ごとに適切なレイヤーへ

コンテキストの種類 レイヤー 例
毎セッション守るべきルール 指示ファイル コミット前にテストスイートを実行する
修正や好み 自動メモリ npm ではなく pnpm を使う
未完成の探索 セッションの再開 昨日のデバッグの流れ
複数のエージェントが共有する再利用可能な手順 スキル リリースチェックリスト
ゴール、スコープ、受け入れ基準 Task の説明 構築中の要件
決定、エビデンス、レビューの指摘 Task のコメント なぜ選択肢 B が選ばれたか
何が実行され、いつ、どう終わったか 実行ログ 失敗したマイグレーションの実行

スキルが独立した行を持つのは当然です。スキルは、繰り返し適用すべきガイダンスのために、再利用可能な指示とサポートファイルをパッケージ化したものです。ローカルの Runtime ディレクトリで検出されたスキルは、組織にインポートできるため、1台のラップトップ上に留まることはありません。Sharkly のスキルのガイドではスコープとバインディングを、コーディングエージェントのスキルとは何かではファイル形式を解説しています。

コンテキストがあなたの働き方に関するものであれば、指示ファイルと自動メモリを使いましょう。コンテキストがチームが何を構築しているかに関するもので、他の誰かが読む必要があるかもしれないなら、Task を使いましょう。Sharkly は Claude Code、Codex、その他の実行ツールの代替ではありません。それらのツールが保持しない共有記録を追加するものです。

よくある質問

/compact で CLAUDE.md は失われますか? いいえ。プロジェクトルートの CLAUDE.md は、コンパクション後にディスクから再読み込みされます。会話の中だけで与えられた指示は失われる可能性があるので、ファイルに移しましょう。

自動メモリはチームと共有されますか? いいえ。ホームディレクトリ配下にリポジトリ単位で保存され、同期されることはありません。チームが見るべきコンテキストは、チェックインされた指示ファイルか Task に置きましょう。

Sharkly のエージェントは前回の実行を覚えていますか? 実行のたびに Task、最近のコメント、トリガーとなったコメントを受け取ります。これが持続的な記憶の形です。前回の実行のプライベートな会話は受け取りません。実行に含まれる内容についてはSharkly のエージェント解説をご覧ください。

MCP のメモリサーバーはどうですか? モデルがクエリできる5つ目のストアを追加するもので、コードベースの構造的な想起に役立ちます。ただし、誰が変更を承認したかは依然として記録されないので、作業記録の代替とするのではなく、併用しましょう。

関連記事

Jevとは何か?コーディングエージェントの上位に意思決定モデルをどう位置づけるか

Jevとは何か?コーディングエージェントの上位に意思決定モデルをどう位置づけるか

JevはTypeSafe AIの意思決定モデルです。状態を入力として受け取り、確率付きの型付き回答を出力します。その概要、3つの質問タイプ、そしてコーディングエージェントの作業をルーティングしたりレビューしたりするうえでどこに位置づけられるのかを解説します。

4 11月 2026

codebase-memory-mcp: 低コストな構造的想起と、それが保持しない記憶

codebase-memory-mcp: 低コストな構造的想起と、それが保持しない記憶

codebase-memory-mcpはあなたのリポジトリをナレッジグラフにインデックス化し、エージェントがgrepをしなくて済むようにします。実際の数値と見出しの数値の対比、そしてグラフには知り得ないこと。

4 11月 2026

Claude Squad vs Conductor vs tmux:DIYエージェント環境の比較

Claude Squad vs Conductor vs tmux:DIYエージェント環境の比較

並列AIコーディングエージェントの実行に向けて、Claude Squad、Conductor、tmuxを比較。それぞれの得意分野と、どこからSharklyにステップアップすべきかの境界線を紹介します。

4 11月 2026