Agent RecallAI コーディングエージェントのための永続メモリ
AI エージェントはセッションごとにすべてを忘れます
Agent Recall はコーディングエージェントに永続的な記憶を与えます。事実、人、決定をセッションをまたいで覚えています。オープンソース、ローカルファースト、MCP ネイティブです。
pip install 'agent-recall[mcp]'--- Agent Briefing: acme-project ---
Key People:
Alice — Lead Engineer, prefers async
Bob — Product Manager, owns roadmap
Recent Decisions:
API migration approved (Feb 12)
Auth service blocked — waiting on Alice
Active Context:
Sprint 14, 3 days remaining
Focus: auth service unblock積み上がるコンテキスト
記憶なし
> Alice とは誰ですか?
Alice についての文脈はありません。
すべてのセッションがゼロから始まります。
セッション 1 で事実を保存
create_entities: Alice (person)
set_slot: role = "Lead Engineer"
add_observation: "prefers async"
エージェントが学んだことを MCP ツール経由で保存します。
セッション 2 は文脈付きで開始
Agent Briefing 読み込み完了
Alice。リードエンジニア
非同期コミュニケーションを好む
2 月 12 日に API 移行が承認
文脈は積み上がります。すべてのセッションが前のセッションの上に乗ります。
仕組み
エージェントが事実を保存
エージェントは作業中に MCP ツールを呼び、エンティティ、観察、リレーションを保存します。9 つのツールで完全な CRUD に対応します。
SQLite に保存
すべてが WAL モードのローカル SQLite データベースに残ります。プロジェクトごとにスコープ化され、同じ人物でもスコープごとに別の文脈を持てます。
起動時にブリーフィング
次のセッションでは AI が生成したブリーフィングが自動で読み込まれます。重要人物、最近の決定、現在の文脈を、ダンプではなく要約してお届けします。
クイックスタート
1. インストール
pip install 'agent-recall[mcp]'
agent-recall init2. エディタに追加
.mcp.json (Claude Code、Cline) またはエディタ設定 (Cursor、Windsurf)
{
"mcpServers": {
"memory": {
"command": "python3",
"args": ["-m", "agent_recall.mcp_server"]
}
}
}3. 自動ブリーフィング用フック
.claude/settings.json。セッション開始時にブリーフィングを読み込みます。
{
"hooks": {
"SessionStart": [{
"hooks": [{
"type": "command",
"command": "agent-recall-session-start"
}]
}],
"PostToolUse": [{
"matcher": "mcp__memory__.*",
"hooks": [{
"type": "command",
"command": "agent-recall-post-tool-use"
}]
}]
}
}4. 確認
agent-recall statusDatabase: ~/.agent-recall/frames.db
Entities: 27
client: 11, person: 8, company: 1
concept: 2, entity: 3, topic: 2スコープ付きメモリ
同じ人物でもプロジェクトごとに別の文脈で扱えます。Alice は Acme では「Engineer」、BetaCorp では「Consultant」です。データはスコープ階層で分離されます。
AI ブリーフィング
データダンプではなく要約。147 件の事実を読み、Key People、現在のタスク、最近の決定を生成します。LLM は持ち込み可能です。
マルチエージェント対応
エージェンシー向けに設計。スコープ階層により、各エージェントが自分のスコープチェーン内で読み書きしつつ、ナレッジベースを 1 つに統合できます。
ローカルファースト
お使いのマシン上の SQLite。同時アクセス用に WAL モード対応。データはあなたのもの。クラウドもベンダーロックインもありません。
MCP ネイティブ
Model Context Protocol 上の 9 つのツール。MCP 互換クライアント向けに設計され、Claude Code、Cursor、Windsurf、Cline 用のテスト済み設定を提供します。
完全な履歴
バイテンポラル追跡。今の値だけでなく、いつどの値だったかも分かります。スロットごとに完全な時系列履歴を保持します。
コード例
Python API
from agent_recall import MemoryStore, ScopedView
with MemoryStore() as store:
alice = store.resolve_entity("Alice", "person")
store.set_slot(alice, "role", "Lead Engineer", scope="acme")
store.add_observation(alice, "Prefers async", scope="acme")
view = ScopedView(store, ["global", "acme"])
entity = view.get_entity("Alice")
print(entity["slots"]["role"]) # "Lead Engineer"
# 検索、履歴、トランザクション
results = store.search("engineer")
store.set_slot(alice, "role", "Staff Engineer", scope="acme")
history = store.get_slot_history(alice, "role")
with store.transaction():
bob = store.resolve_entity("Bob", "person")
store.set_slot(bob, "role", "PM")CLI
$ agent-recall set Alice role Engineer --type person
Alice.role = Engineer
$ agent-recall list --type person
Alice (person) Bob (person)
$ agent-recall entity Alice --scope global --scope acme
role: Lead Engineer (acme)
$ agent-recall logs Alice
[2026-02-26] Joined the team
$ agent-recall generate my-agent --force
Generated: ~/.agent-recall/context_cache/my-agent.mdエージェントが使える 9 つの MCP ツール
create_entitiesadd_observationscreate_relationssearch_nodesopen_nodesread_graphdelete_entitiesdelete_relationsdelete_observationsマルチエージェント YAML 設定
hierarchy:
agency:
- client-a
- client-b
briefing:
backend: cli
model: opus
adaptive: true
auto_discover: true
agents:
coordinator:
model: opus
output_budget: 12000
client-a:
template: client
context_files:
- docs/client-a-brief.mdLLM 持ち込み
from agent_recall import generate_briefing, LLMResult
def my_llm(prompt, model, timeout):
response = call_your_api(prompt)
return LLMResult(
text=response.text,
input_tokens=0,
output_tokens=0
)
generate_briefing(
"my-agent",
llm_caller=my_llm,
force=True
)なぜ agent-recall なのか
他のメモリソリューション (Mem0、Zep / Graphiti、LangMem) もあります。agent-recall が違うところは:
- ✓スコープ階層 · フラットな記憶ではありません。継承を伴うスコープチェーン。複数のクライアント、プロジェクト、入れ子の文脈で動くエージェントのために設計されています。同じ人物がプロジェクトごとに別の役割を持てます。
- ✓AI ブリーフィング · 生のデータダンプは機能しません。LLM が数百件の事実を構造化された実用的な文脈に要約し、セッション開始時に注入します。
- ✓ローカルファースト · SQLite ファイル 1 つ。クラウド、ベクトル DB、Docker、Neo4j は不要。データはあなたのマシン上にとどまります。
- ✓MCP ネイティブ · 能動的に保存するための指示を備えた 9 つのツール。MCP 互換クライアント向けに設計されています。
- ✓バイテンポラル · 古い値は削除ではなくアーカイブされます。任意の時点で何が真だったかを照会できます。
- ✓最小限の依存関係 · pyyaml と click のみ。MCP と Anthropic SDK は任意のエクストラです。
本番環境で生まれた
本番で 30 以上の AI エージェントを並列稼働させる実システムから抽出。週末プロジェクトではなく、日々の実稼働を支える実戦投入済みのインフラです。
321
テスト
12
モジュール
WAL
SQLite モード
30+
本番のエージェント
トラブルシューティング
- エージェントが事実を自動で保存しない
- MCP サーバーが接続されているか確認してください。エージェントは
create_entities,search_nodesなどを利用可能なツールとして表示するはずです。サーバーがエラーなく起動するかを確認:python3 -m agent_recall.mcp_server - ブリーフィングが空、または生成に失敗する
- データがあるか確認してください:
agent-recall statusでエンティティが表示されるはずです。デフォルトのcliバックエンドには Claude Code のインストールが必要です。apiバックエンドをANTHROPIC_API_KEY. - Windows: python3 が見つからない
- Windows では Python は通常
pythonでありpython3ではありません。MCP 設定の"command": "python".
技術スタック
エージェントに永続的な記憶を
オープンソース。ローカルファースト。MIT ライセンス。pip install ひとつで使えます。
pip install 'agent-recall[mcp]'