見出し画像

Claude Codeは毎回「初対面」から始まる セッションをまたいでも文脈を保つメモリー術

Claude Codeを日常的に使っていると、必ずぶつかる壁がある。新しいセッションを開くたびに、Claudeは前回の作業内容をまったく覚えていない状態からスタートするという点だ。昨日直したバグの原因も、今朝決めた設計方針も、何も引き継がれない。毎回同じ説明を最初からやり直すのは、地味だが確実に時間を奪われる作業だ。

海外の開発者コミュニティでは、この「記憶の断絶」を解決するための工夫が、ここ数ヶ月でかなり体系化されてきている。特別なツールを追加するというより、テキストファイルの置き方や更新の仕方を工夫するだけというのがポイントで、今日からでも真似しやすい。

そもそも何が失われているのか


Claude Codeにはもともと2つの仕組みが用意されている。1つは自分で書く「CLAUDE.md」というファイルで、プロジェクトのルールや前提知識を明示的に書いておくものだ。もう1つは「Auto Memory」と呼ばれる仕組みで、Claude自身がユーザーからの指摘や好みを学習して、自動的にメモを取っていく機能になっている。

この2つはどちらもセッション開始時に読み込まれる。ただし問題は、セッションの「途中」で積み上がっていく情報だ。作業中に交わした細かい判断や、その場で直した不具合の原因、途中で変更した方針などは、会話履歴の中にしか存在しない。長いセッションでは、あるタイミングで会話が自動的に要約される「compact」という処理が走るが、この要約では大まかな流れは残っても、具体的な数値や個別の修正内容が失われがちだという指摘が複数の開発者ブログで共通して挙げられている。

つまり、あらかじめ決めておいたルールは引き継がれるのに、作業中にリアルタイムで生まれた細かい文脈は、セッションが切り替わった瞬間に消えてしまう。ここが多くの人がつまずくポイントになっている。

3種類のファイルで役割を分けるという発想


海外の開発者が実践している方法に共通しているのは、目的ごとにファイルを分けるという考え方だ。1枚の巨大なメモに全部詰め込むのではなく、それぞれ役割の違う小さなファイルを複数用意し、セッションの冒頭でまとめて読み込ませる。

具体的には、おおよそ次のような構成がよく使われている。

まず、直近の作業状況をまとめておく「今の状態」ファイル。何に取り組んでいて、次に何をする予定なのか、まだ手をつけていないタスクは何かを簡潔に書いておく。セッションを再開した瞬間、このファイルさえ読めば「昨日の続き」から作業を始められるようにするのが狙いだ。

次に、思いついたことや判断の理由をメモしておく「日々のメモ」ファイル。なぜその実装方法を選んだのか、どんなエラーに遭遇してどう解決したのかといった経緯を、都度書き足していく。あとから振り返ったときに、同じ失敗を繰り返さずに済むという効果がある。

そして、人間の判断や承認を待っている項目をまとめておく「保留事項」ファイル。AIが勝手に進めていい部分と、必ず確認を挟むべき部分を分けておくことで、セッションをまたいでも「あれ、これって確認待ちだったっけ」と迷わずに済む。

なぜこの分け方が効くのか


このアプローチが理にかなっているのは、Claude Codeがそもそも「決まりごと」と「積み上がる知識」を別々に扱う構造になっているからだ。公式のドキュメントでも、CLAUDE.mdは行動を導くためのもの、Auto Memoryはユーザーの訂正や好みから学ぶためのものと、明確に役割が分けて説明されている。

海外の開発者による解説記事では、これらの標準機能だけではカバーしきれない「セッション内で積み上がる作業の詳細」を補うために、独自のファイル構成を追加する手法が紹介されている。要約処理が走る前に生の情報をディスクに書き出しておき、それを次のセッションの冒頭で読み込む、という2段構えの設計だ。要約によって失われがちな「具体的な数値」や「個別の対処法」を、要約とは別ルートで保存しておくというのが工夫のポイントになっている。

今日から試すなら


大掛かりな仕組みを作らなくても、考え方だけ真似ることはすぐにできる。プロジェクトのフォルダに、役割の違う数枚のマークダウンファイルを用意し、作業の節目ごとに更新する習慣をつけるだけでいい。セッションを始めるときに、Claudeへ「まずこのファイルを読んでから始めて」と伝えるひと言を添えるだけで、引き継ぎの精度はかなり変わってくる。

ファイル名や構成は厳密に決まっているわけではなく、各自が自分の作業スタイルに合わせてアレンジしている。大事なのは、①今の状況、②判断の経緯、③保留中の確認事項、という3つの性質が違う情報を、なんとなく1つのメモにまとめず、意図的に分けて管理するという発想そのものだ。

Claude Code自身にも、セッションごとの要約を自動保存する「Session Memory」という機能が用意されている。過去のセッションで何をしていたかを、新しいセッションの冒頭で参考情報として提示してくれる仕組みだ。ただしこれはあくまで背景知識としての参照であり、明示的な指示として扱われるわけではない。だからこそ、確実に引き継ぎたい情報については、自分の手で管理するファイルを併用するのが安心だという声が多い。

どこまで書き込むかのさじ加減


実際にこの方法を試してみると、次に悩むのは「どこまで細かく書くか」というバランスだ。何でもかんでも書き残そうとすると、今度はファイル自体が肥大化してしまい、セッションの冒頭で読み込むだけでトークンを大量に消費してしまう。ある開発者のブログでは、CLAUDE.mdの目安として300行以内に収めることが推奨されており、「Claudeが放っておいたら間違えそうなこと」だけに絞り込むべきだと述べられている。プロジェクトの技術構成のように、コードを見れば分かることをわざわざ書く必要はない、という指摘は納得感がある。

同じことは「今の状態」ファイルにも当てはまる。長々とした経緯をすべて残すのではなく、次のセッションが読んだ瞬間に迷わず動き出せる程度の情報量に絞るのがコツだ。逆に「日々のメモ」ファイルは多少長くなっても構わない。むしろ、なぜその判断をしたのかという背景情報は、後から見返したときに一番価値が出てくる部分なので、丁寧に書き残しておく価値がある。

チームで使う場合の注意点


個人の開発だけでなく、チームでClaude Codeを使う場合は、もう一段階配慮が必要になる。組織全体で強制したいルールについては、個人が除外できない「管理ポリシー」としてCLAUDE.mdを設定する仕組みも用意されているという。逆に言えば、チームの規約とは別に、個人の作業メモとして先述の「今の状態」「日々のメモ」「保留事項」のようなファイルを併用する、という2層構造で運用している開発者も多いようだ。組織のルールと個人の作業ログを同じファイルに混ぜてしまうと、誰がどの情報をどう使えばいいのか分かりにくくなるため、この切り分けは覚えておいて損はない。

まとめ


AIが賢くなればなるほど、逆に「何を覚えさせておくか」という設計の巧拙が、作業効率を大きく左右するようになってきている。Claude Codeの記憶の仕組みを理解した上で、自分なりのメモファイルを育てていく。地味な工夫だが、積み重なるほど効果を実感しやすい部類のテクニックだと思う。まずは今取り組んでいるプロジェクトに、1枚だけ「今の状態」ファイルを作ってみるところから始めてみてほしい。

参照元

Claude Code Docs - How Claude remembers your project:https://code.claude.com/docs/en/memory
Prompts Daily - The Claude Code memory stack that survives /compact:https://promptsdaily.substack.com/p/the-claude-code-memory-stack-that
DEV Community - How to Build Persistent Memory Into Claude Code Agents:https://dev.to/whoffagents/how-to-build-persistent-memory-into-claude-code-agents-cross-session-identity-that-actually-works-41h4

#ClaudeCode #AI活用術 #生成AI #プログラミング #開発効率化 #AIエージェント #海外AIニュース #実践ガイド #Anthropic #コーディング効率化 #AIツール活用 #エンジニア向け #生産性向上 #AI開発

いいなと思ったら応援しよう!