1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeのmemory機能、4種類のタイプを整理してみた

1
Posted at

みなさん、こんにちは!
Claude Codeを日々使っていると、同じ説明を毎回のセッションで繰り返している場面に気づきます。
「このリポジトリのテストはモックを使わず実DBで行う方針」「リリース期限が近いので大きな変更は避けたい」といった情報は、コードを読むだけでは分からず、会話の中でしか出てこないものです。

Claude Codeには、こうした会話でしか得られない情報をセッションをまたいで覚えておく「memory」という仕組みがあります。今回はこのmemory機能について、覚える内容の種類、保存の仕組み、使う上での注意点を整理してみます。

AWS×Claude CodeによるIaC自動化と『AIエージェント統制アーキテクチャ』のウェブセミナーも開催予定ですので、最後のお知らせもご確認ください!

何のための機能か

通常、AIとの会話はセッションが終わると内容を忘れます。しかし実際の開発作業では、「このユーザーはPythonよりGoに詳しい」「テストはモックを使わず実DBで行う方針」といった、毎回同じ説明をし直すと非効率な情報が少なくありません。
memory機能は、そうした情報をファイルとして保存し、次回以降のセッションで自動的に参照する仕組みです。

保存や参照はAI側が会話の内容を見て判断します。ユーザーが「覚えておいて」と明示的に指示した場合はもちろん、指示がなくても会話の中で学んだ情報をAIが判断して保存することがあります。

保存場所

memoryはユーザーのローカル環境の専用ディレクトリに、Markdownファイルとして保存されます。プロジェクトのコード規約(CLAUDE.md等)とは別の仕組みで、コードそのものやgitの履歴からは分からない、ユーザーとのやり取りの中でしか得られない情報を対象にしています。

4種類のメモリタイプ

memoryが覚える内容は、次の4種類に分かれます。

タイプ 覚える内容 具体例
user ユーザーの役割・専門性・知識レベル Goに詳しくReactは初めて、といった前提
feedback AIの進め方への訂正・承認 「DBはモックせず実DBでテストして」等の指示
project 進行中の作業の背景(誰が・何を・なぜ) リリース期限や凍結期間などの制約
reference 外部システムへのポインタ バグ管理はLinearの特定プロジェクトを見る、等

それぞれ、どんな場面で保存されるのかを具体例で見ていきます。

user

ユーザーの役割・専門性・知識レベルに関する情報です。

「10年Goを書いてきたが、このリポジトリのフロントエンド(React)は初めて触る」と伝えると、以降のフロントエンドの説明はGoの類似概念に絡めて行われるようになります。

feedback

ユーザーがAIの進め方に対して行った訂正や承認に関する情報です。

「このテストでDBをモックするな。前回モックのテストが通ったのに本番のマイグレーションが壊れた」と伝えると、以降そのプロジェクトのテストでは実DBを使う方針が引き継がれます。対象になるのは訂正だけでなく、「その進め方でよかった」という承認も含みます。

project

進行中の作業の背景(誰が・何を・何のために・いつまでに、を含む)に関する情報です。

「モバイルチームのリリースブランチ切り出しのため、木曜以降は非緊急のマージを止める」と伝えると、以降の作業提案がその期限を踏まえたものになります。

reference

外部システムへのポインタに関する情報です。

「パイプラインのバグはLinearのINGESTプロジェクトで管理している」と伝えると、以降関連する話題が出たときにその場所を参照するよう促されます。

使う上でのポイント

  • 明示的に「覚えておいて」と頼まなくても、会話の内容次第でAIが自動的に保存することがあります
  • 逆に「忘れて」「今回は記憶を使わないで」と伝えると、その回はmemoryを参照しないよう振る舞います。ただしCLAUDE.mdやmemoryは強制設定ではなくコンテキストとして扱われる仕組みのため、常に確実に反映される保証はありません
  • 保存された内容は時間が経つと実態と食い違うことがあります。CLAUDE.mdやmemoryはあくまで参考情報として扱われるため、コードやファイルの現状と矛盾する古い記憶をそのまま鵜呑みにするとは限りません
  • コードの書き方やアーキテクチャなど、リポジトリを見れば分かる情報は対象外です。あくまで「会話でしか得られない情報」を対象にした仕組みです

auto memoryを使わないようにするには

会話から自動で保存される仕組み(auto memory)を止めたい場合、無効化する方法は3つあります。

  • セッション内で/memoryコマンドを開き、auto memoryのトグルをオフにする。ユーザー設定(~/.claude/settings.json)のautoMemoryEnabledに反映されます
  • 特定のプロジェクトだけ無効にしたい場合は、そのプロジェクトの設定ファイル(.claude/settings.json等)に次の記述を追加します

json { "autoMemoryEnabled": false }

  • 環境変数CLAUDE_CODE_DISABLE_AUTO_MEMORY=1を設定する方法もあります

無効化してもCLAUDE.md自体は別の仕組みとして残ります。CLAUDE.mdはユーザーが自分で書く指示ファイルで、auto memoryのようにAIが自動で書き足すものではなく、無効化する設定もなく毎回のセッションで読み込まれます。
「会話の中で得た情報を自動で覚えておいてほしくない」場合はauto memoryだけを止め、「決まったルールをはっきり指示したい」場合はCLAUDE.mdに書く、という使い分けになります。

おわりに

今回は、Claude Codeのmemory機能について、4種類のメモリタイプと保存の仕組みを整理してみました。

毎回同じ前提を説明し直す手間がなくなる一方、古い記憶が現状と食い違う可能性がある点には注意してください。会話の中で得た情報を活用する仕組みとして、ぜひ使ってみてください。

お知らせ:ウェブセミナー「AWS×Claude CodeによるIaC自動化と『AIエージェント統制アーキテクチャ』」

567da73d87e88d6e80cb977116634f8c4f57bd59.png
生成AIによるインフラコード(IaC)自動化が進む一方で、「AIが生成したコードの安全性」や「AIエージェントの挙動制御」に不安を感じていませんか。
ウェビナーでは、AWS × Claude CodeによるIaC自動化の実践事例をベースに、AIの行動を「人の監視」ではなく「仕組み」で自動制御する『AIエージェント統制アーキテクチャ』をご紹介します。
<こんな方におすすめ>

  • AWSなどのクラウド環境でIaC(Terraform / AWS CDK等)を運用・導入しているエンジニア
  • Claude CodeなどのAIエージェントをインフラ自動化に活用・検証したい方
  • AI生成コードのセキュリティ担保やガバナンス自動化の設計パターンに興味がある方

詳細

<開催日時>
11月10日(水) 12時~12時40分
<開催形態>
オンラインセミナー(Zoom使用予定・日時限定アーカイブ配信)
<参加料金>
無料
<お申込み方法>

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?