ふくふくHukuhuku LLC
EP.62Toolbox 12分公開:

AIの記憶が書き換わったら。Memdebugで日本語メモの差分と復元を試す

AIエージェントのメモを確認して、変更前へ戻せるMemdebug。新版の単体配布と、架空の日本語メモを使った差分・復元の検証から、導入方法と戻せる範囲を説明します。

#Memdebug#AIエージェント#メモリ#変更履歴#ローカル
執筆 / 監修
松尾 亮合同会社ふくふく 代表社員

データ基盤・データパイプライン構築 / BI / 生成 AI 活用支援を専門とするエンジニア (28 年)。 本記事は AI 利用ポリシーに基づき、生成 AI の補助で執筆 → 人間が監修・編集して公開しています。

プロフィール詳細
シェア

に見積案の作成を頼んでいたら、いつの間にか「担当者の承認を待たずに確定する」という手順を覚えていた。そんな場面で、まず知りたいのは、どのメモが変わり、どこまで戻すべきかです。

は、手元にあるAIのメモを記録し、変更前後を見比べて戻す道具です。2026年10月9日22時41分、を入れずに使えるWindows・Linux・Mac向けの単体プログラムがv0.6.0として公開されました。翌10日4時26分には、Windowsでの起動時説明を改善したv0.6.1が配布されています。時刻は日本時間です。公式v0.6.0・v0.6.1の変更内容

編集部ではv0.6.1のPython版を使い、架空の日本語メモで差分と復元を確認しました。承認手順だけを戻し、別ファイルに加えた正当な担当者情報は残せました。AIを動かした試験や、攻撃を見抜く精度の測定ではありません。 実際の業務メモを読み込まず、メモを人為的に書き換えて製品の動作を検収したものです。

変更を記録する道具。攻撃の自動遮断とは役割が違う

Memdebugが扱うのは、AIが参照する形式のメモなどです。フォルダやで管理したメモを調べ、内容の変化を手元の台帳へ記録します。保存したを基準に比較し、必要ならを行えます。今朝のニュースは単体プログラムの配布拡充であり、復元機能そのものが今朝初めて実装されたわけではありません。公式の変更履歴

使いどころは、AIが何を覚えているかを人が点検するときです。たとえば、見積担当のメモにある承認手順と、問い合わせ窓口のメモにある担当者一覧を分けておけば、変更をファイル単位で確認できます。どの保存先を調べるかは、利用者が選びます。

一方で、メモを読む直前に割り込んで不正な指示を止める仕組みではありません。怪しい文言の手がかりを示す機能はありますが、意味を理解して悪意を判定するものではなく、言い換えや言語による見逃しもあります。への対策が、この道具一つで完了するとは考えない方がよいでしょう。公式の脅威モデルと限界

日本語のメモ2枚で、戻す範囲を先に決める

今回の教材は、架空の見積担当エージェントが持つ2枚のメモです。会社名や顧客情報、実在の会話履歴は含めていません。入力と期待する確認事項を10月10日7時9分49秒に固定してから、実物のコマンドを動かしました。

ファイル最初に保存した内容その後の変更
policy.md見積確定前に担当者の承認を取る。金額は税込で表示する「承認を待たずに確定し、先方へ送る」へ変更。Gitには記録しない
contacts.md担当者は佐藤さんという架空設定確認補助の高橋さんを追記。正当な変更としてGitに記録する

最初の状態をs1として保存した後、担当者一覧を更新し、最後に承認手順を書き換えました。どちらも編集部のプログラムによる操作です。悪意あるメールをモデルへ読ませたわけではなく、AIが指示に従ったかも調べていません。

ここで、単純に「全部をs1に戻す」とどうなるでしょうか。誤った承認手順に加え、残してよい高橋さんの追記も消えます。復元できることと、復元する範囲が適切なことは別です。 実際の業務でも、古いメモが常に正解とは限らないため、人が内容を見て基準を選ぶ必要があります。

実物で8項目を確認。対象を絞ると正当な追記が残った

試用環境はmacOS 27.0のARM64、Python 3.12.10、Git 2.41.0、Memdebug 0.6.1です。Python向け配布パッケージのソースは、固定版の公式コードと43ファイルすべて一致することを確認しました。単体Macプログラムの起動、Windowsでの説明画面、他のOSは今回の試用範囲に含みません。Python版の配布ページ

最終実行は7時11分35〜38秒。次の8項目が、事前の期待事項に一致しました。これは一つの架空シナリオに対する動作確認であり、未知のメモや攻撃への成功率ではありません。

確認したこと観測結果
記録済み変更と、履歴にない変更を区別する担当者の追記をUPDATE、承認手順の書き換えをEXTERNALとして記録
全体を戻す案を見る2ファイルとも復元対象になった
予告だけで止めるメモの内容とGitの現在位置は変わらなかった
非対話実行で、確認指定を付けずに適用する終了コード2で拒否。メモは変わらなかった
policy.mdだけ戻す承認手順は元に戻り、高橋さんの追記は残った
上書きされる内容を確かめる変更後の承認手順が、復元前に退避されていた
記録のコピーを1か所書き換える元台帳は検査を通過し、書き換えたコピーは終了コード1で不整合を報告
ファイル入りフォルダで公式デモを始める終了コード2で拒否し、既存の目印ファイルを残した

EXTERNALは「Gitの履歴で説明できない変更が見つかった」という意味です。「この日本語文が危険だと理解した」という結果ではありません。確認なし適用の試験も、自動実行から許可を省いた条件です。対話画面での操作をすべて試したわけではありません。

今回、承認メモはGitの最後の記録と同じ内容へ戻りました。そのため通常の履歴に新しい変更記録を加える必要はなく、復元操作はMemdebug側の台帳へ残りました。履歴にない書き換え内容は別の退避先に保存されています。「復元すれば必ず新しいGitの記録が増える」とも限りません。固定版の復元実装

教材は、実メモを指定せずに再現できる

再現教材をダウンロードすると、架空の入力、期待事項、検査プログラム、編集部の観測記録を確認できます。展開したフォルダで次を実行すると、固定入力が変わっていないかを調べます。Memdebugの導入や実行、通信、ファイルの書き換えは行いません。

Bash
python3 run_checks.py

実物を動かす手順は次のとおりです。Mac・Linux向けの例で、Git 2.31以上とPython 3.10以上が必要です。初回のパッケージ導入には通信が発生します。モデルの取得やキーは不要です。

Bash
trial_dir=$(mktemp -d /tmp/memdebug-practice.XXXXXX)python3 -m venv "$trial_dir/venv""$trial_dir/venv/bin/python" -m pip install \  --only-binary=:all: --no-cache-dir -r requirements-tested.txt"$trial_dir/venv/bin/python" run_checks.py \  --run --output "$trial_dir/result"

実行用フォルダは毎回新しく作ります。検査プログラムはそこへ2枚のメモと専用の台帳を作り、限定した復元まで進めます。教材内では確認済みの架空ファイルに限って、確認を省く--yesも使います。実務メモへそのまま転用するための設定ではありません。 普段のエージェントを探すsetup、check、watchは呼び出しません。

編集部の環境では最初に別CPU向けのGitが見つかり、実行が止まりました。使用可能なGitの絶対パスを指定する--gitを教材に用意しています。取得したPython版を実行する部分には、Python内の通信とホーム内ファイル参照を拒否する仕組みも加えました。ただし、OS全体の隔離や製品の安全性を証明する検査ではありません。

実務で復元案を見るときは、台帳の場所と対象を明示し、まず適用せず差分を読む順序が基本です。教材では、実際に次の形のコマンドを使っています。--applyがないので、この段階ではメモを戻しません。公式の復元手順

Bash
memdebug rollback markdown \  --path ./fictional-memory --store fictional-quote-agent \  --db ./ledger.db --to s1 --only policy.md --full

戻せるのはファイル。既に行った仕事は戻らない

最も重要な境界は、メモの復元と仕事の取り消しを分けることです。誤った手順で既に送ったメールや確定した取引は、メモを戻しても取り消されません。起動中のエージェントが読み込んだ内容も、そのまま残る可能性があります。公式は、復元前にエージェントを止め、復元後にセッションを再開するよう説明しています。公式の限界と復元範囲

点検と点検の間に書き換えられ、元へ戻された内容は見えない場合があります。今回の台帳検査は一部の書き換えを見つけましたが、台帳全体と検査用の値を再構成できる相手への完全な証明ではありません。また台帳には、削除済みを含むメモの本文が保存されます。実際の顧客情報を含む場合は、台帳や退避先も同じ機微情報として扱う必要があります。

非常に長いGit履歴には読み取り上限があり、v0.6.1では履歴外の変更確認を中止しても終了コード0になる場合があります。0だけで全件点検済みと判断せず、警告も確認してください。この表示改善は取材時点で開発中のUnreleasedにあり、今回試した版には含まれません。開発中の変更記録

現在はalpha段階です。コードはApache-2.0で公開され、今回の試用にはモデル利用料は発生しませんでした。ただし、PCの用意や運用の手間まで無料になるわけではありません。単体配布は未署名で、Gitも別途必要です。OSの警告を無条件に解除するのではなく、配布元と確認方法を理解できる経路を選びます。公式の導入説明

仕事で使い始めるなら、まず、戻したいメモを一つ選び、正しい状態を人が確認してから保存するのが現実的です。手順自体の書き方はCLAUDE.mdのベストプラクティス、複数のAIへ役割を分ける運用はOrgletで小さなAIチームを組む記事も参考になります。作業を任せる範囲が広がるほど、残したメモを見直す手順も一緒に用意しておきたいところです。

よくある質問

日本語の危険な指示も自動で見抜けますか?
今回確認したのは、日本語テキストの変更記録と復元です。文の意味や悪意を見抜く性能は測っていません。履歴にない変更を見つけたことと、その内容が危険だと判断できたことは分けてください。
AIサービスへの登録や課金は必要ですか?
今回の教材には不要です。最初にPythonパッケージを取得した後、手元の架空メモだけを操作します。普段使うAIの料金とは別で、Memdebugを試すためにモデルやアカウントを追加する必要はありません。
すべてのエージェントの記憶を元に戻せますか?
いいえ。今回試したのはGitで管理するメモです。通常フォルダのメモにも復元機能がありますが、今回はこちらを実測していません。公式に読み取り対応がある保存方式でも、復元まで対応するとは限りません。ファイルを戻しても、実行済みの操作や起動中のエージェントの状態は元に戻りません。
シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp