Claude Codeのコンテキスト引き継ぎ:compact・clear・resumeと記録の検証
このトピックを深掘りする
SaaSの導入・連携
AIに仕事の続きを渡すために、会議の原文、未完了の宿題、確認できない項目をどう残すか。導入判断と連携実装を掘り下げる。
全7本中 2 本目。
次に読む記事
Dub conversion tracking:lead・sale APIとStripeの顧客対応
クリックIDを登録・売上へ対応させるDubの実装ガイド。Businessの利用条件、leadとsaleの必須項目、USD・JPYの金額、invoiceId、Stripe metadataを公式資料と資格情報なしのJSON生成例で確認する。
Dub webhook署名検証:raw bodyと再送の境界をNode.jsで確認する
登録通知を受け取り、raw bodyのHMAC-SHA256でDub-Signatureを検証する。lead.createdから次の作業に必要な項目を取り出す。資格情報なしのNode.js/Bun例で改変・JSON再整形・再受理を確かめ、Businessの条件と未検証の保存・実配信を示す。
Slackのhuddleを録り、毎晩22時にAIへ渡す:Circlebackの設定6か所
AIに仕事の続きを渡すためのCircleback運用記録。Slack huddle、22時の同期、元の発言と未完了ToDo、採用する条件を具体化。運用経験・公式仕様・ローカル試験の根拠も示す。
シリーズ全体の流れを見ながら、次に読む記事へ進めます。 初めての方はホームへ →
Claude Codeでコンテキストを引き継ぐときは、残っている作業、メモが参照するファイルの版、未決事項を残す。会話履歴だけでは、再開時にその情報を探し直すことがある。この記事では、HANDOFF.jsonとファイルの版を照合する小さな実行例を提案する。どちらもClaude Codeの組み込み機能ではなく、AIが記録に従うかは検証していない。
compact・clear・resumeを選ぶ
中断の理由に合う操作を選ぶ。次は2026年10月23日に確認したAnthropic公式資料の説明だ。
| 続けたいこと | 組み込みの操作 |
|---|---|
| 同じ作業を、短くした会話で続ける | /compact <instructions>で残したい点を指定して圧縮する |
| 別の作業を新しい文脈で始める | /clearで会話のコンテキストをリセットする |
| このディレクトリの直近セッションへ戻る | claude --continue |
| 保存済みのセッションを選ぶ | claude --resumeで選択画面を開く |
公式資料には、上限に近づいたときの自動圧縮と、指示を添えた手動圧縮がある。たとえば/compact 次の操作、未決事項、テスト結果を残すと指定できる。ただし、この依頼を書いたことは、情報が残った証拠にはならない。公式のベストプラクティス
圧縮済みの会話を再開すると、圧縮時の要約と残ったメッセージから続く。直近の圧縮で要約されたメッセージを、元のまま読み直す動作ではない。/clearのあとも保存済みセッションを再開できる。セッション管理の公式資料。編集を続ける前に、会話が説明する状態と現在のファイルを照合したい。
継続的な指示と今回の作業状態を分ける
公式資料は、セッションをまたぐ文脈としてCLAUDE.mdとauto memoryを説明している。また、これらの指示は強制される設定とは区別されている。繰り返し使う規約はプロジェクトの指示に置き、一件の中断作業は下の引き継ぎ記録に残す、という使い分けを提案する。メモリの公式資料
HANDOFF.jsonは当サイトが選んだ名前で、保存すれば特別に自動読込されるという保証はない。再開したセッションや新しいセッションに、ファイルを読むよう明示する。メモを短くするときも、未決の提案を承認済みへ変えない。会議で出た提案なら、出典と日付も未決事項の文に残す。発言の取得はCircleback MCPの設定記事で扱っている。
コピーして使う引き継ぎテンプレート
次の構造をコピーし、仮の値を実際の作業に置き換えて保存する。共有する記録に資格情報や非公開の原文を含めない。testEvidenceが空なら、この記録にはテストの証拠がない。
{
"version": 1,
"goal": "再試行回数の提案を確認する",
"file": {
"path": "retry.js",
"sha256": "64桁の小文字16進数に置き換える"
},
"pendingDecisions": ["再試行回数は担当者の承認待ち"],
"nextAction": "再試行のテストを読み、回数を担当者へ確認する",
"testEvidence": []
}記録を書く時点のファイルのバイト列からハッシュを求める。macOSならshasum -a 256 retry.jsで表示できる。上の仮値のままでは検証に通らない。テストを実行したら、次の形式で実際のコマンド、終了コード、確認日時をtestEvidenceへ追記する。下の値は形式を示す例だ。
{"command":"node --test retry.test.js","exitCode":0,"checkedAt":"2026-10-23T00:00:00Z"}日時と結果は過去の記録である。ハッシュが一致しても、記載したテストを実行した証明にはならず、依存関係や別ファイルの変更も分からない。現在の合格を報告する前には、関連するテストを再実行する。
ファイルの版の照合をオフラインで再現する
検証関数、デモ、記入済みの引き継ぎ、合成した対象ファイルの4ファイルを同じフォルダへ保存する。Node.js 22以降、またはBunで、どちらかを実行する。
node context-handoff-demo.mjs
# または
bun context-handoff-demo.mjsデモは同梱のサンプルだけを読み、メモリ上のコピーを変更して、次の結果を表示する。
{
"valid": "valid",
"changed": "changed-file",
"malformed": "invalid-handoff",
"missingData": "invalid-handoff",
"missingFile": "missing-file"
}検証関数は必須項目、呼出元が渡したファイル名、バイト列のSHA-256を照合する。JSON内のパスを開いたり、記録されたコマンドを実行したりしない。テストでは別のファイル名、項目の型の誤り、空の証拠欄も確認する。デモには通信、Claudeの呼出し、hook、ファイル書込がない。
validは、記録の形式が合い、渡したファイルのハッシュが一致したという結果だ。SHA-256は内容の意味、操作の権限、著者の真正性を検証しない。ファイルと記録の両方を書き換えられる人の改ざんも防がない。一つのファイルを調べる例なので、repository全体の版を証明するものでもない。changed-fileなら差分を読み、記録を見直してから更新する。通すためだけにハッシュを差し替えない。
次のセッションに読むよう依頼する
再開するか、新しいセッションを開くかを選んだあと、次のように依頼する。
編集前にHANDOFF.jsonと対象ファイルを読んでください。
記録した版と現在のファイルを照合してください。
異なる場合は、作業を続ける前に差分を説明してください。
pendingDecisionsは未決のまま残し、次の操作とテストの証拠を示してください。
不足する判断は確認し、このメモから承認を推測しないでください。これは運用の提案であり、AIが従った実績ではない。返答と記録を照合し、未決事項は担当者と決め、関連するチェックを再実行する。今回のオフライン実験が示すのは、検証関数が受理・拒否する条件までだ。
よくある質問
- Q. compactとclearとresumeは何が違いますか?
- /compactは会話を圧縮し、/clearはコンテキストをリセットします。claude --continueはこのディレクトリの直近セッションを再開し、claude --resumeは保存済みセッションの選択画面を開きます。圧縮済みの会話を再開しても、要約された元メッセージがすべて再読込されるわけではありません。
- Q. HANDOFF.jsonは自動で読み込まれますか?
- この記事が提案するファイル名で、Claude Codeの組み込み機能ではありません。特別な自動読込の保証はなく、再開したセッションや新しいセッションに読むよう明示します。AIが依頼に従うかは今回検証していません。
- Q. SHA-256が一致すれば作業を続けてよいですか?
- 一致が示すのは渡したファイルの版の照合だけです。意味・操作権限・著者の真正性やテスト実行を証明しません。未決事項を確認し、関連テストを再実行してから現在の結果を報告します。