Stateless Agent Memory Engine (SAME) について
Stateless Agent Memory Engine (SAME)は、AIコーディングエージェント向けのローカル優先メモリサーバーです。Markdownノートを索引化し、セッション間で決定事項や引き継ぎを保持しながら、出典と古い情報を追跡します。MCP経由で複数のコーディングツールから利用できます。
主な機能
- 01セッションをまたぐ永続メモリ
- 02出典追跡と古いノートの検出
- 03ノートとVaultの横断検索
- 04決定事項の記録とセッション引き継ぎ
- 05ローカルSQLite保存とキーワード検索へのフォールバック
- 06PIIスキャンとファイル保護
活用シーン
- 01セッション開始時にプロジェクトの文脈を復元
- 02コーディング中に決定事項や関連ノートを検索
- 03情報を使う前に古くなっていないか確認
- 04複数エージェントによる共有ファイルの上書きを防止
MCP 対応
SAMEは、ノート、決定事項、引き継ぎ、Vaultの健全性を検索・管理する19個のツールをMCPクライアントに提供します。stdioと、Bearerトークン認証付きのStreamable HTTPエンドポイントに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
12掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| blockers | string | はい | 阻害要因や未解決の質問 |
| pending | string | はい | 残っている作業 |
| summary | string | はい | 今回のセッションで完了した内容 |
詳細
SAME — AI コーディングエージェント向けの永続メモリ
AI はセッションが終わるたびにすべてを忘れてしまいます。SAME がそれを解決します。
SAME は、あらゆる AI コーディングツールに永続メモリを提供します。Claude Code、Cursor、Windsurf、Codex CLI、Gemini CLI — どこでも使える単一のメモリレイヤーです。Markdown のメモをインデックス化し、関連するコンテキストを自動的に提示して、決定事項や引き継ぎを記録するため、AI は中断したところから作業を再開できます。
単一のバイナリ。完全ローカル。クラウドなし。テレメトリなし。Mac、Linux、Windows、Raspberry Pi に対応しています。
インストール
# macOS / Linux
curl -fsSL https://statelessagent.com/install.sh | bash
# Windows (PowerShell)
irm https://statelessagent.com/install.ps1 | iex
または npm 経由でインストールできます(すべてのプラットフォームに対応):npm install -g @sgx-labs/same
npm 経由でインストールしましたか? npx same@latest または npm update -g @sgx-labs/same で更新できます。
動作を見る
same demo
Indexing 5 sample notes...
Searching: "authentication decision"
1. decisions/auth-strategy.md (score: 0.94)
"We chose JWT with refresh tokens for..."
2. notes/api-security.md (score: 0.87)
"Auth middleware validates tokens at..."
Asking: "what did we decide about authentication?"
Based on your notes, you decided to use JWT with refresh
tokens (decisions/auth-strategy.md). The API middleware
validates tokens at the gateway level (notes/api-security.md).
No accounts. No API keys. Everything runs locally.
クイックスタート
# 1. Point SAME at your project
cd ~/my-project && same init
# 2. Test search
same search "authentication decision"
# 3. Done. Your AI now has memory.
# Start Claude Code, Cursor, or any MCP client.
same init を実行すると、フックと MCP ツールが自動的にセットアップされます。セッションを開始するたびに、AI が関連するコンテキストを取得します。
主な機能
-
AI がすべてを記憶 -- 決定事項、引き継ぎ、コンテキストがセッションをまたいで保持されます。ターミナルを閉じても、プロジェクトを切り替えても、翌日に戻ってきても、何も失われません。
-
メモリの整合性 -- 出所(メモの由来)を追跡し、ソースファイルの変更を検出して、古くなった知識にフラグを付けます。古いメモは検索結果で自動的に順位が下がります。
same healthを実行すると、ボールト全体の信頼状態を確認できます。 -
二層メモリ -- LLM を使って、メモから個別の事実を抽出します。事実は独立して検索でき、検索結果でソースとなるメモの順位を引き上げます。事実が無関係な会話に埋もれていても、適切な回答を見つけられます。
-
ストリーミング可能な HTTP トランスポート --
same web --mcpを実行すると、Bearer トークン認証を備えた HTTP MCP エンドポイントが有効になります。標準入出力を使わずに、Open WebUI、LobeChat、その他の HTTP MCP クライアントから接続できます。 -
お使いのツールで動作 -- Claude Code、Cursor、Windsurf、またはあらゆる MCP クライアント向けの 19 個の MCP ツールを提供します。エディターを離れることなく、検索、決定事項の保存、引き継ぎの作成ができます。
-
チームでも安全 -- 同じコードベースで複数の AI エージェントを使っても、互いの作業を妨げません。ファイルの申告、プッシュ保護、作成者の追跡が組み込まれています。
-
すぐに専門知識を活用 -- 厳選された 870 件以上のメモを収録した、17 個の事前構築済みナレッジボールトを提供します。コマンド一つでインストールできます。AI は数秒でドメイン知識を利用できます。
-
知識をつなげる -- 決定事項、ファイル、メモの関連性を確認できます。「これに依存しているものは?」と尋ねれば、実際の回答が得られます。SQLite を利用しています。
セキュリティとチーム
SAME には、PII スキャンとプッシュ保護が組み込まれています。
- PII スキャン -- コミット前のフックが、メールアドレス、API キー、シークレット、個人データが git に送られる前に検出します。誤検出を確認するワークフローを備え、ブロックリストを設定できます。
- プッシュ保護 -- 複数エージェント間のファイル申告により、AI エージェント同士が互いの作業を上書きするのを防ぎます。作成者を記録するアドバイザリーロックを備えています。
- 監査ログ -- すべてのガードスキャン、許可の判断、上書きが記録されます。
- プライバシー階層 --
_PRIVATE/はインデックス化されません。research/はインデックス化されますが、コミットされません。メモの扱いは、あなたのルールで決められます。
same guard settings set push-protect on # enable push protection
same guard scan # run PII scan manually
仕組み
Your Notes (.md) --> Embeddings --> SQLite --> Your AI Tool
(local or (search (Claude Code,
cloud) + rank) Cursor, etc.)
Markdown のメモは埋め込みベクトル化され、SQLite に保存されます。AI がセッションを開始すると、SAME がフックまたは MCP を通じて関連するコンテキストを提示します。決定事項は抽出され、引き継ぎが生成されます。次のセッションは、前のセッションが終了したところから再開できます。
Ollama がなくても問題ありません。 SAME はキーワード検索(SQLite FTS5)を使い、外部依存関係なしで動作します。後から Ollama を追加すると、same reindex で即座にセマンティック検索にアップグレードできます。
SAME を選ぶ理由
| SAME なし | SAME あり |
|---|---|
| 毎回のセッションで最初からすべて説明し直す | AI が前回の続きから再開する |
| 「JWT を使うと決めませんでしたか?」 | 決定事項が自動的に提示される |
| 「このメモは今も正確ですか?」 | 信頼状態が古くなったナレッジにフラグを付ける |
| ターミナルを閉じるとコンテキストが失われる | 引き継ぎでセッションを復元できる |
| メモをチャットにコピー&ペーストする | 出典を示す引用付きの same ask |
| タスクの途中でコンテキストが圧縮される | ピン留めしたメモは圧縮後も残る |
数値で見る SAME
| 指標 | 値 |
|---|---|
| Recall@5 | 内部評価(68 件)で、キーワード検索 100%、セマンティック検索 84%。保留データでは、盲検 30 件で Recall@5 90%(eval/METHODOLOGY.md を参照) |
| MRR | キーワード検索 0.65、セマンティック検索 0.62 |
| プロンプトのオーバーヘッド | <200ms |
| バイナリサイズ | 約14MB |
| セットアップ時間 | 2 分未満 |
AI ツールに追加する
Claude Code(推奨)
same init # installs 6 hooks + MCP automatically
Cursor/Windsurf/任意の MCP クライアント
MCP の設定(.mcp.json、Cursor の設定など)に追加します。
{
"mcpServers": {
"same": {
"command": "npx",
"args": ["-y", "@sgx-labs/same", "mcp", "--vault", "/path/to/your/notes"]
}
}
}
19 個の MCP ツールをすぐに利用できます。Ollama がなくても動作します(キーワード検索にフォールバック)。
コンテキストを失わずに Claude Code と Cursor を切り替えられます。メモリはそのまま引き継がれます。
ツールの互換性
Claude Code はフックを通じて、完全に自動化された引き継ぎに対応しています。Cursor、Windsurf、Codex CLI、Gemini CLI は MCP ツール(検索、保存、決定事項、グラフ)をすべて利用できますが、引き継ぎは手動で開始する必要があります。ほかのエディターでも引き継ぎを自動化できるよう、現在対応を進めています。
MCP サーバー
| ツール | 機能 |
|---|---|
search_notes | ナレッジベース全体をセマンティック検索します |
search_notes_filtered | ドメイン/タグ/エージェントのフィルターを使って検索します |
search_across_vaults | 複数の Vault を横断して検索します |
get_note | パスを指定してメモの全内容を読み込みます |
find_similar_notes | 関連するメモを見つけます |
get_session_context | ピン留めしたメモ+最新の引き継ぎ+Git の状態を取得します |
recent_activity | 最近更新されたメモを表示します |
save_note | メモを作成または更新します |
save_decision | プロジェクトの決定事項を構造化して記録します |
create_handoff | セッションの引き継ぎを作成します |
reindex | Vault を再スキャンしてインデックスを再作成します |
index_stats | インデックスの健全性と統計情報を表示します |
mem_consolidate | LLM を使って関連するメモを統合します |
mem_brief | オリエンテーション用のブリーフィングを生成します |
mem_health | 信頼性の分析を含む Vault の健全性を表示します |
mem_forget | 検索結果からメモを除外します |
mem_restore | mem_forget を取り消し、メモを検索対象に戻します |
mem_list_suppressed | 除外されたメモを一覧表示します |
save_kaizen | 出所情報とともに改善項目を記録します |
SeedVaults
あらかじめ構築されたナレッジ Vault です。1 つのコマンドでインストールできます。
same seed list # browse available seeds
same seed install claude-code-power-user # install one
| Seed | メモ数 | 内容 |
|---|---|---|
same-getting-started | 18 | SAME 自体について学ぶための、誰でも使える入門資料 |
claude-code-power-user | 50 | Claude Code のワークフローと運用パターン |
ai-agent-architecture | 56 | エージェントの設計、オーケストレーション、メモリ戦略 |
api-design-patterns | 56 | REST、GraphQL、認証、レート制限など |
typescript-fullstack-patterns | 55 | フルスタック TypeScript のパターンとベストプラクティス |
engineering-management-playbook | 59 | エンジニアリングのリーダーシップとチーム管理 |
personal-productivity-os | 117 | GTD、タイムブロッキング、習慣化の仕組み |
security-audit-framework | 61 | セキュリティレビューのチェックリストとフレームワーク |
さらに 9 種類あります。GitHub で全 17 種類の Seed をご覧ください。
プライバシー
すべてのデータはお使いのマシン内に保持されます。SAME は、次の3階層のプライバシー構造を作成します。
| ディレクトリ | インデックス化 | コミット | 用途 |
|---|---|---|---|
| お使いのノート | はい | 任意 | ドキュメント、決定事項、調査 |
_PRIVATE/ | いいえ | いいえ | API キー、認証情報 |
research/ | はい | いいえ | 戦略、分析 |
テレメトリーはありません。クラウドもありません。パストラバーサルはブロックされます。設定ファイルは所有者のみがアクセスできる権限で書き込まれます。
その他
CLI の完全なリファレンス
| コマンド | 説明 |
|---|---|
same init | プロジェクト用に SAME をセットアップします |
same demo | サンプルノートを使って SAME の動作を確認します |
same tutorial | 7つの実践的なレッスン |
same ask <question> | 質問して、引用付きの回答を得ます |
same search <query> | ノートを検索します |
same search --all <query> | すべてのボルトを横断して検索します |
same status | SAME が追跡している内容を確認します |
same doctor | 診断チェックを実行します |
same claim <path> --agent <name> | 複数エージェント向けのファイル所有権を設定します |
same pin <path> | セッションに常にノートを含めます |
same graph stats | ナレッジグラフの診断情報を表示します |
same web | ローカルのウェブダッシュボードを開きます |
same seed list | 利用可能なシードボルトを一覧表示します |
same seed install <name> | シードボルトをインストールします |
same vault list|add|remove|default | 複数のボルトを管理します |
same guard settings set push-protect on | プッシュ保護を有効にします |
same consolidate | 関連するノートを統合してナレッジサマリーを作成します |
same brief | AI が生成する導入ブリーフィング |
same health | 信頼性と出所の分析を含むボルトの健全性スコア |
same stale | ボルト内の古いノートをすべて一覧表示します |
same search --trust stale | 信頼状態で検索結果を絞り込みます |
same search --type decision | コンテンツの種類で検索結果を絞り込みます |
same ignore | .sameignore のパターンを表示・管理します |
same facts | 抽出されたファクトを表示、検索、管理します |
same config set <key> <value> | CLI から設定値を指定します |
same brief --no-llm | LLM を使わずに構造化ブリーフィングを作成します |
same tips | ボルトの整理とセキュリティに関するベストプラクティス |
same reindex [--force] | 検索インデックスを再構築します |
same repair | データベースをバックアップして再構築します |
same update | 最新バージョンに更新します |
same completion [bash|zsh|fish] | シェル補完 |
設定
SAME は same init で生成される .same/config.toml を使用します。
[vault]
path = "/home/user/notes"
handoff_dir = "sessions"
decision_log = "decisions.md"
[embedding]
provider = "ollama" # "ollama", "openai", "openai-compatible", or "none"
model = "nomic-embed-text"
[memory]
max_token_budget = 800
max_results = 2
サポートされている埋め込みモデル:nomic-embed-text(デフォルト)、snowflake-arctic-embed2、mxbai-embed-large、all-minilm、text-embedding-3-small(OpenAI)など。
設定の優先順位(上ほど優先):CLI フラグ > 環境変数 > 設定ファイル > デフォルト値
その他のインストール方法
# Docker
git clone --depth 1 https://github.com/sgx-labs/statelessagent.git
cd statelessagent && docker build -t same .
# Build from source (requires Go 1.25+)
git clone --depth 1 https://github.com/sgx-labs/statelessagent.git
cd statelessagent && make install
トラブルシューティング
まず same doctor を実行してください。20項目以上のチェックを行い、問題を知らせます。
「No vault found」 -- ノートフォルダー内で same init を実行するか、VAULT_PATH=/path/to/notes を設定してください。
「Ollama not responding」 -- SAME は自動的にキーワード検索に切り替えます。curl http://localhost:11434/api/tags でテストしてください。
フックが実行されない -- same setup hooks を実行して再インストールしてください。same status で確認できます。
データベースの問題 -- same repair を実行してバックアップと再構築を行ってください。
SAME と代替製品の比較
| | SAME | mem0 | Letta | CLAUDE.md | |---|:---:|:---:|:---:|:---:| | セットアップ | 1 コマンド | pip + 設定 | pip または Docker | ファイルを編集 | | 実行時の依存関係 | なし | Python + ベクトル DB | Python + SQLAlchemy | なし | | オフライン | 完全対応 | デフォルトでは非対応 | ローカルモデルで対応 | はい | | クラウド必須 | いいえ | デフォルトでは必須 | いいえ | いいえ | | テレメトリー | なし | デフォルトで有効 | はい | なし | | MCP ツール | 19 | 9 | クライアントのみ | なし | | メモリの完全性 | 来歴 + 信頼性 | なし | なし | なし | | ナレッジグラフ | 組み込み | Neo4j が必要 | なし | なし | | ツール間のメモリ共有 | はい | API のみ | いいえ | Claude のみ | | Pi での動作 | はい(約14MB) | いいえ | いいえ | はい |評価方法
105 件の調整ケースを使った内部評価です。保留検証:30 件のブラインドテストケースで Recall@5 が 93.3%(eval/METHODOLOGY.md を参照)。
| 指標 | 値 | データセット |
|---|---|---|
| Recall@5(キーワード) | 100% | 内部(68 件) |
| Recall@5(セマンティック) | 84% | 内部(68 件) |
| MRR(キーワード) | 0.65 | 内部(68 件) |
| Recall@5 | 90% | 保留(30 件のブラインドケース) |
すべての評価では合成 vault データを使用しています。ユーザーデータは使用していません。
リンク
コントリビューション
コントリビューションを歓迎します。Issue を作成するか、ディスカッションを始めてください。
git clone https://github.com/sgx-labs/statelessagent.git
cd statelessagent
make build && make test
セキュリティ関連の報告については、SECURITY.md をご覧ください。
サポート
ライセンス
BSL 1.1。個人利用、教育利用、趣味での利用、研究、評価目的であれば無料で利用できます。2030-02-02 に Apache 2.0 に切り替わります。LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。