feedback-memory について
feedback-memoryは、エージェントの下書きへの承認・編集・却下をローカルのPostgresに記録し、次の下書きに関連する修正を検索するMCPサーバーです。セッションをまたいで業務上のフィードバックを保持したい人向けです。
主な機能
- 01承認・編集・却下の記録
- 02類似タスクから修正を検索
- 03常時適用ルールと検索可能な記憶
- 04ローカルのPGliteとpgvectorを使用
- 05OpenAIの意味ベース埋め込みに対応
活用シーン
- 01返信の下書きにブランドのフィードバックを再利用
- 02新しいコメントに過去の配送修正を反映
- 03エージェントのセッション間で定番の好みを保持
MCP 対応
エージェントは下書き前に`recall_corrections`、レビュー後に`record_decision`を呼び出せます。ルールの追加、記憶の一覧表示、削除のツールも提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
自己学習型エージェントのセットアップ
AI エージェントにあなたのビジネスを記憶させ、あなたからの修正をすべて学習させるための、小さく実用的なパターンです。フレームワークは不要です。ブランド情報をまとめたフォルダー、既存のデータベース、フィードバックテーブルがあれば使えます。
私は韓国で、ひとりで営む教育事業にこの方法を使っています。エージェント(Claude Code、Codex)が投稿や返信の下書きを作成し、私はスマートフォンから承認、編集、却下します。その判断はすべてデータベースに記録され、次の下書きを作成する前に、その履歴が読み込まれます。
このリポジトリには、最小限のスキーマとプロンプトが含まれています。詳しい手順を説明した23ページの無料ガイドへのリンクは、ページ下部にあります。
このエージェントにひとつの目標を与えて72時間ビジネスを運営させた結果を、数字で紹介しています:DEVの事後分析。要約すると、問題は製品ではありませんでした。
1分で試す
ブラウザーで、インストール不要: https://ssap-pa.github.io/self-learning-agent-setup/ (Postgres + pgvector は PGlite、埋め込みモデル all-MiniLM-L6-v2 は Transformers.js を使用します。すべてブラウザー内のタブで動作し、API キーも不要です)。

ローカルで試す:
git clone https://github.com/ssap-pa/self-learning-agent-setup
cd self-learning-agent-setup/demo
npm install
npm run demo
インメモリの Postgres(PGlite + pgvector)を起動し、架空のキャンドルショップの3日分のフィードバック(編集1件、却下1件、通常の承認1件)を取り込んだ後、次の下書きの前にエージェントが読む内容を表示します。データベースも API キーも不要です。npm test を実行すると、同じ方法でテストが実行されます。
Day 3 new comment: "How long does shipping to Canada take for the lavender set?"
before drafting, the agent reads:
Feedback on similar past tasks (most similar first):
- task: "Do you ship to Canada? Love the lavender candle" -> edited to: "We do! Canada usually takes 5-7 days." (why: don't promise speed, give the real shipping time)
Day 3 new comment: "Could you gift wrap a candle for a birthday?"
before drafting, the agent reads:
Feedback on similar past tasks (most similar first):
- task: "Can you gift wrap the vanilla set for my mom?" -> rejected (why: we don't gift wrap, offer the gift note instead)
Day 3 new comment: "What wax do you use?"
before drafting, the agent reads:
(nothing yet: no feedback on anything similar)
デモでは単語をハッシュ化してテキストを埋め込むため、ここでいう「類似」とは、共通する単語があるという意味です。実際の埋め込みを使うには EMBED=openai OPENAI_API_KEY=... npm run demo を実行するか、pg を使って Loop を独自の Postgres / Supabase に接続してください。
Claude Code、Cursor、Claude Desktop(MCP サーバー)で使う
feedback-memoryは、同じループを基盤とする小さなMCP サーバーです。エージェントは下書きの前にrecall_correctionsを呼び出し、承認、編集、却下の後にrecord_decisionを呼び出します。すべては~/.feedback-memory内のローカルPostgres(PGlite + pgvector)に保存されるため、ホスティングは不要です。
Claude Codeをプラグインとして使う方法(最も簡単です)。セッションの開始時(および/clearの後やコンパクション後)に常設ルールが読み込まれ、フックによって各プロンプトに過去の修正のうち最も関連性の高いものが追加されます。そのため、Claudeがツールを呼び出さない場合でもルールが適用されます。
/plugin marketplace add https://github.com/ssap-pa/self-learning-agent-setup.git
/plugin install feedback-memory@ssap-pa
(GitHub用のSSHキーを設定している場合は、短縮形の/plugin marketplace add ssap-pa/self-learning-agent-setupも使えます。)
プラグインを使った実際の実行では、Claudeはツールを一度も呼び出さずに、新しい「カナダへの配送にはどれくらいかかりますか?」というコメントに、「お問い合わせありがとうございます。ラベンダーセットのカナダへの配送には通常、5〜7営業日かかります。」と回答しました。過去の編集から配送期間(理由:速さを約束しない)が反映され、保存済みルールによって感嘆符も使われませんでした。

Claude Codeで、MCP サーバーのみを使う場合:
claude mcp add feedback-memory -- npx -y github:ssap-pa/self-learning-agent-setup
Claude Desktopならワンクリックです。まずfeedback-memory.mcpbをダウンロードし、開きます。OpenAIキーの入力欄は任意です。
Cursor、またはClaude Desktopを手動で設定する場合(設定JSONのmcpServers内):
"feedback-memory": { "command": "npx", "args": ["-y", "github:ssap-pa/self-learning-agent-setup"] }
次に、たとえばCLAUDE.md/AGENTS.mdに2行追加して、エージェントに使用するタイミングを伝えます。
Before drafting anything I'll review, call recall_corrections with the task and follow what comes back.
When I approve, edit or reject your draft, call record_decision with my reason.

ツール:recall_corrections、record_decision、add_rule(常に最初に読み込まれる常設ルール)、list_memory、forget。意味による照合には、サーバーの環境変数にOPENAI_API_KEYを設定します(text-embedding-3-small)。設定しない場合は、オフラインで単語をハッシュ化します(軽い語幹処理を行うため、「shipping」は「ship」に一致します)。その場合は共通する単語のみが一致します。実行中のクライアントごとにデータベースフォルダーが1つ使われます(複数起動する場合はFEEDBACK_MEMORY_DIRを設定してください)。そのため、プラグインと独立したMCP サーバーの両方としてではなく、どちらか一方の方法でインストールしてください。npm testはstdio経由のエンドツーエンドテストを実行し、npm run bundleはClaude Desktop用のバンドルをビルドします。
役に立ったら、リポジトリにスターを付けていただけると、他の人にも見つけてもらいやすくなります。また、うまくいかなかった点を課題として報告していただければ、修正に役立ちます。
問題点
誰でも、あなたと同じモデルを利用できます。他の人が購入できないのは、次のものです。
- エージェントがあなたのビジネスについて知っていること
- エージェントに与えたすべての修正の記録
ほとんどの人はチャットでフィードバックを伝えますが、記録には残りません。次のセッションはゼロから始まり、「見事な花々」をまた10回目も修正することになります。
レイヤー1:ナレッジレイヤー(エージェントが知っていること)

| 種類 | 例 | 保存場所 |
|---|---|---|
| 定数 | ブランド、文体、顧客、創業者のストーリー | brand/フォルダー内のMarkdownファイル |
| 変数 | 価格、在庫、座席数、スケジュール | サイトのデータベース(最新の情報を読み込み) |
| 大量のナレッジ | レッスン、電子書籍、FAQ | 同じデータベース内(検索用に埋め込み、RAG) |
重要なルール:
- 自分についての情報はファイルに、今の状況についての情報はデータベースに保存します。 テキストファイル内の価格は古くなり、エージェントは先月のプロモーションを自信たっぷりに引用してしまいます。
- エージェントが言えるのは、管理ページに保存されていることだけです。 「残り3席」と言わせるには、座席数のフィールドが必要です。
- コードで強制します。
AGENTS.mdにしか記載されていないルールは無視される可能性があります。自動で実行されるプログラムは、データベースを直接呼び出して検索する必要があります。
レイヤー 2:学習ループ(どのように改善するか)

- 保存する。 承認(+1)、却下(−1)、編集(0、修正内容付き)のすべてを、それが評価する実行に関連付けて保存します。
- 候補を生成する。 繰り返し寄せられるフィードバックを、適用中のルールではなく、提案されたルールにします。
- 目標ごとの評価基準でスコアを付けます。
- 候補を現在の動作と比較します。
- 昇格させるか、破棄します。
実際にうまく機能させるために役立った、もう 2 つの詳細があります。
- ルールと記憶。 「口調がロボットのようです」は常に適用されます(ルール)。「葬儀の注文では、絵文字を使わない」は、状況が一致した場合にのみ適用されます(記憶)。繰り返し使われる記憶は、ルールに昇格します。
- 意味でフィードバックを検索する。 キーワード検索では、表現が異なるフィードバックを見つけられませんでした。埋め込みを使うと、類似した状況の修正を引き出せます。
そして人間が関わる部分です。Telegram ボットが各下書きを 承認/却下/編集 ボタン付きで私のスマートフォンに送り、ボタンを押すとボットのログだけでなく、学習データベースに記録されます。実際に記録されていることを確認してください。私の場合、最初は承認がひそかに保存されていませんでした。
内容
schema.sql:Postgres / Supabase のテーブル(状況と理由の埋め込みを含むruns、feedback、rules)と、pgvector を使った類似検索用のmatch_feedback()demo/loop.ts:約 100 行の TypeScript で書かれたコアループ。各判断を保存し、過去の類似タスクからフィードバックを取得して次のプロンプトに含めます。pgまたは PGlite で動作しますdemo/demo.tsとdemo/loop.test.ts:1 分間のデモとテストprompts.md:各レイヤーの構築と確認に Claude Code / Codex で使っているプロンプト
小さく始める
- 制限を低く設定して、1 つの目標に取り組みます(私の場合:2 週間、1 日に投稿 1 件、返信は最大 3 件)。
- 修正するところがなくなるまで、承認を必須にします。
- いいねではなく、購入や登録を測定します。
詳細
- 複数のマシンやチームで使いたい場合、またはスマートフォンから承認したい場合は? 無料のプラグインは、1 台のマシン上の 1 つのフォルダーに記憶を保存します。Self-Learning Agent Kit は、同じループを独自の Postgres / Supabase 上で実行するため、すべてのマシンとチームメンバーで 1 つの記憶を共有できます。また、スマートフォンから承認/編集/却下できる Telegram ボット(公開前にすべての操作が保存されます)、何度も寄せられる理由からルールを提案する機能、ライブラリ + CLI の Python 版と TypeScript 版、共有データベースを(OpenAI の埋め込みを使って意味で)読み取るフックを備えた MCP サーバーと専用の Claude Code プラグイン、エンドツーエンドのサンプル、28 件のテストも付属します(39 ドル):https://payhip.com/b/grc25
- 動画で学びたい場合は? エージェントを使ってこのシステムを構築する、無料の 22 分間のレッスンです(韓国語音声、英語字幕、アカウント不要):https://ssapable.com/courses/ai-agent?lang=en&utm_source=github&utm_medium=readme#free-preview
- 無料の実践ガイド(23 ページ、PDF): 実例と 7 日間の計画を含む、詳しい手順ガイドです:https://payhip.com/b/QHgfJ
- 書籍: Just Say "Do It" は、AI エージェントを使って 1 人でビジネスを運営するための 11 ステップの実践ガイドです(私の韓国語コースの英語版):https://payhip.com/b/xmZvu。米国太平洋時間の 10 月 4 日日曜日までは、価格を自由にお決めいただけます。0 ドルでも問題ありません。お読みいただけたら、このページへの率直なレビューが大きな励みになります。
- 自分のビジネスに合わせてセットアップしてほしい場合は? おまかせ自動化設計図:https://payhip.com/b/BzSRC
テキストと図(この README、prompts.md、img/)© 2026 AI SSAPABLE。CC BY-NC 4.0 のもとで共有されています。LICENSE の MIT License は、コード(schema.sql、demo/、docs/、mcp/、hooks/、bundle/、.claude-plugin/)に適用されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。