auto-claude-memory について
Graphiti と組み込みの LadybugDB を使い、Auto-Claude のエージェントセッション間でコンテキストを保持するメモリシステムです。セマンティック検索とナレッジグラフに対応し、複数の LLM・埋め込みプロバイダーを選べます。
主な機能
- 01セッションをまたぐコンテキスト保持
- 02メモリのセマンティック検索
- 03エンティティと事実のナレッジグラフ
- 04複数の LLM・埋め込みプロバイダー
- 05組み込み LadybugDB ストレージ
- 06Python API とコマンドライン検索
活用シーン
- 01新しいセッションで過去のプロジェクト知見を取得
- 02保存済みエンティティと関係を検索
- 03エージェントの発見をエピソードとして保存
- 04Ollama でメモリをオフライン実行
MCP 対応
`GRAPHITI_MCP_URL` を設定すると、エージェントは MCP ツールでノードや事実を検索し、エピソードの追加・取得やエンティティ関係の確認を行えます。README には Graphiti MCP サーバーを単独で起動する方法も記載されています。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ adaptationio/ skrillz --skill auto-claude-memoryインストール後、Claude Code で/auto-claude-memoryを入力して読み込まれたか確認します。
同梱ファイルreferences/.env.example
詳細
Auto-Claude メモリシステム
セッションをまたいだコンテキスト保持を実現する、Graphiti ベースの永続メモリです。
概要
Auto-Claude は、組み込みの LadybugDB と Graphiti を使用してメモリを管理します。
- Docker 不要 - 組み込みグラフデータベース
- マルチプロバイダー対応 - OpenAI、Anthropic、Ollama、Google AI、Azure
- セマンティック検索 - セッションをまたいで関連するコンテキストを検索
- ナレッジグラフ - エンティティ間の関係と事実
アーキテクチャ
Agent Session
│
▼
Memory Manager
│
├──▶ Add Episode (new learnings)
├──▶ Search Nodes (find entities)
├──▶ Search Facts (find relationships)
└──▶ Get Context (relevant memories)
│
▼
Graphiti (Knowledge Graph)
│
▼
LadybugDB (Embedded Storage)
設定
メモリシステムを有効にする
apps/backend/.env で設定します。
# Enable Graphiti memory (default: true)
GRAPHITI_ENABLED=true
プロバイダーの選択
LLM と埋め込みプロバイダーを選択します。
# LLM provider: openai | anthropic | azure_openai | ollama | google | openrouter
GRAPHITI_LLM_PROVIDER=openai
# Embedder provider: openai | voyage | azure_openai | ollama | google | openrouter
GRAPHITI_EMBEDDER_PROVIDER=openai
プロバイダーの設定
OpenAI(最も簡単)
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=openai
GRAPHITI_EMBEDDER_PROVIDER=openai
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
OPENAI_MODEL=gpt-4o-mini
OPENAI_EMBEDDING_MODEL=text-embedding-3-small
Anthropic + Voyage(高品質)
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=anthropic
GRAPHITI_EMBEDDER_PROVIDER=voyage
ANTHROPIC_API_KEY=sk-ant-xxxxxxxx
GRAPHITI_ANTHROPIC_MODEL=claude-sonnet-4-5-latest
VOYAGE_API_KEY=pa-xxxxxxxx
VOYAGE_EMBEDDING_MODEL=voyage-3
Ollama(完全オフライン)
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=ollama
GRAPHITI_EMBEDDER_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_LLM_MODEL=deepseek-r1:7b
OLLAMA_EMBEDDING_MODEL=nomic-embed-text
OLLAMA_EMBEDDING_DIM=768
前提条件:
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Pull models
ollama pull deepseek-r1:7b
ollama pull nomic-embed-text
Google AI(Gemini)
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=google
GRAPHITI_EMBEDDER_PROVIDER=google
GOOGLE_API_KEY=AIzaSyxxxxxxxx
GOOGLE_LLM_MODEL=gemini-2.0-flash
GOOGLE_EMBEDDING_MODEL=text-embedding-004
Azure OpenAI(エンタープライズ)
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=azure_openai
GRAPHITI_EMBEDDER_PROVIDER=azure_openai
AZURE_OPENAI_API_KEY=xxxxxxxx
AZURE_OPENAI_BASE_URL=https://your-resource.openai.azure.com/...
AZURE_OPENAI_LLM_DEPLOYMENT=gpt-4
AZURE_OPENAI_EMBEDDING_DEPLOYMENT=text-embedding-3-small
OpenRouter(マルチプロバイダー)
GRAPHITI_ENABLED=true
GRAPHITI_LLM_PROVIDER=openrouter
GRAPHITI_EMBEDDER_PROVIDER=openrouter
OPENROUTER_API_KEY=sk-or-xxxxxxxx
OPENROUTER_LLM_MODEL=anthropic/claude-3.5-sonnet
OPENROUTER_EMBEDDING_MODEL=openai/text-embedding-3-small
データベース設定
# Database name (default: auto_claude_memory)
GRAPHITI_DATABASE=auto_claude_memory
# Storage path (default: ~/.auto-claude/memories)
GRAPHITI_DB_PATH=~/.auto-claude/memories
メモリ操作
メモリの仕組み
-
ビルド中
- エージェントがパターン、注意点、解決策を発見します
- メモリマネージャーが知見を抽出します
- 知見はナレッジグラフのエピソードとして保存されます
-
新しいセッション
- エージェントが関連するコンテキストを検索します
- メモリが関連する知見を返します
- エージェントは過去の学習内容を活用します
MCP ツール
GRAPHITI_MCP_URL が設定されている場合、エージェントは次のツールを使用できます。
| ツール | 用途 |
|---|---|
search_nodes | エンティティの概要を検索 |
search_facts | エンティティ間の関係を検索 |
add_episode | ナレッジグラフにデータを追加 |
get_episodes | 最近のエピソードを取得 |
get_entity_edge | 特定のエンティティ/関係を取得 |
Python API
from integrations.graphiti.memory import get_graphiti_memory
# Get memory instance
memory = get_graphiti_memory(spec_dir, project_dir)
# Get context for session
context = memory.get_context_for_session("Implementing feature X")
# Add insight from session
memory.add_session_insight("Pattern: use React hooks for state")
# Search for relevant memories
results = memory.search("authentication patterns")
メモリの保存
保存場所
~/.auto-claude/memories/
├── auto_claude_memory/ # Main database
│ ├── nodes/ # Entity nodes
│ ├── edges/ # Relationships
│ └── episodes/ # Session insights
└── embeddings/ # Vector embeddings
仕様ごとのメモリ
.auto-claude/specs/001-feature/
└── graphiti/ # Spec-specific memory
├── insights.json # Extracted insights
└── context.json # Session context
メモリの検索
コマンドライン
cd apps/backend
# Query memory
python query_memory.py --search "authentication"
# List recent episodes
python query_memory.py --recent 10
# Get entity details
python query_memory.py --entity "UserService"
メモリの動作例
セッションの例:
Session 1:
Agent: "Implemented OAuth login, discovered need to handle token refresh"
Memory: Stores insight about token refresh pattern
Session 2:
Agent: "Implementing user profile..."
Memory: "Previously learned about token refresh in OAuth implementation"
Agent: Uses learned pattern for profile API calls
ベストプラクティス
メモリを効果的に活用する
-
エージェントが自然に学習できるようにする
- メモリへの保存を強制しないでください
- エージェントが知見を自動的に抽出します
-
セマンティック検索を使う
- 自然言語で検索します
- メモリが関連する概念を見つけます
-
定期的に整理する
- 古くなった知見を削除します
- 誤った情報を更新します
プロバイダーの選択
| 用途 | 推奨 |
|---|---|
| 本番環境 | OpenAI または Anthropic+Voyage |
| 開発 | Ollama(無料、オフライン) |
| エンタープライズ | Azure OpenAI |
| 低予算 | OpenRouter または Google AI |
パフォーマンスのヒント
-
埋め込みモデルの選択
text-embedding-3-small:高速で、品質も良好ですtext-embedding-3-large:品質は高いですが、処理は遅くなります
-
LLM モデルの選択
gpt-4o-mini:高速で、コスト効率に優れていますclaude-sonnet:高品質な推論が可能です
-
Ollama の最適化
# Use smaller models for speed OLLAMA_LLM_MODEL=llama3.2:3b OLLAMA_EMBEDDING_MODEL=all-minilm OLLAMA_EMBEDDING_DIM=384
トラブルシューティング
メモリが動作しない
# Check if enabled
grep GRAPHITI apps/backend/.env
# Verify provider credentials
python -c "from integrations.graphiti.memory import get_graphiti_memory; print('OK')"
プロバイダーのエラー
# OpenAI
curl -H "Authorization: Bearer $OPENAI_API_KEY" https://api.openai.com/v1/models
# Ollama
curl http://localhost:11434/api/tags
# Check logs
DEBUG=true python query_memory.py --search "test"
データベースの破損
# Backup and reset
mv ~/.auto-claude/memories ~/.auto-claude/memories.backup
python query_memory.py --search "test" # Creates fresh DB
埋め込み次元の不一致
埋め込みモデルを変更する場合:
# Clear existing embeddings
rm -rf ~/.auto-claude/memories/embeddings
# Restart to re-embed
python run.py --spec 001
高度な使い方
カスタムメモリ統合
from integrations.graphiti.queries_pkg.graphiti import GraphitiMemory
# Create custom memory instance
memory = GraphitiMemory(
database="custom_db",
db_path="/path/to/storage",
llm_provider="anthropic",
embedder_provider="voyage"
)
# Custom operations
memory.add_entity("UserService", {"type": "service", "purpose": "auth"})
memory.add_relationship("UserService", "uses", "Database")
メモリ MCP サーバー
スタンドアロンのメモリサーバーを実行します。
# Start Graphiti MCP server
GRAPHITI_MCP_URL=http://localhost:8000/mcp/ python -m integrations.graphiti.server
関連スキル
- auto-claude-setup:初期設定
- auto-claude-optimization:パフォーマンスの調整
- auto-claude-troubleshooting:デバッグ
コメント
Markdown 対応