使用するすべてのAIコーディングエージェント — Claude Code、Codex、Copilot、Gemini — は毎セッション健忘状態で始まります。昨日のデバッグのブレイクスルー、先週のアーキテクチャ決定、3スプリント前に合意したコーディング標準 — すべて消えています。すべて再説明するか、たまたま開いているファイルからエージェントが推測してくれることを祈るしかありません。
これが今日のアジェンティックワークフロー最大の摩擦ポイントです。モデル品質でもツール統合でもありません。メモリです。
BHGBrainはその答えです: AIエージェントに永続的、検索可能、共有されたセカンドブレインを提供するオープンソースMCPサーバーです。
問題: すべてのエージェントは金魚
実プロジェクトでAIコーディングエージェントを使ったことがあるなら、このパターンをご存知でしょう:
- 午前セッション: アーキテクチャ、制約、規約を説明します。エージェントは素晴らしい仕事をします。
- 午後セッション: 新しいコンテキストウィンドウ。エージェントは4時間前に避けるよう伝えたパターンを提案します。
- 翌日: 別のエージェント(バックグラウンドタスク用のCodexなど)は昨日Claude Codeが学んだことを全く知りません。
回避策は脆いです:
- MEMORY.mdファイルは500行に達すると全メッセージでコンテキストウィンドウの15%を消費し始めます。
- システムプロンプトは静的で、進化するナレッジを取り込めません。
- セッショントランスクリプトはエージェント固有で検索不可能です。
- 手動で再説明するのは、そもそもエージェントを使うことで避けようとしていたことです。
根本問題は、各エージェントが独自のエフェメラルコンテキストを持ち、互いに通信しないことです。
BHGBrainができること
BHGBrainはMCPサーバーです — つまりMCP互換AIクライアントならツールとして接続できます。シンプルな操作セットを公開します:
| ツール | 機能 |
|---|---|
remember | 自動型分類、重複排除、タグ付け付きでメモリを保存 |
recall | セマンティック検索 — キーワードではなく意味で関連メモリを発見 |
search | ベクトル類似度と全文マッチを組み合わせたハイブリッド検索 |
forget | メモリを削除(監査証跡付き) |
tag | メモリのタグを追加・削除 |
category | 永続ポリシーカテゴリ(アーキテクチャ、コーディング標準など)を管理 |
collections | メモリを名前付きコレクションに整理 |
backup | 完全バックアップの作成と復元 |
内部では、すべてのメモリは以下を持ちます:
- ベクトル埋め込みはQdrantに保存されセマンティック検索に使用
- メタデータと全文インデックスはSQLiteに保存され高速フィルタリングとキーワード検索に使用
- 自動重複排除 — 同じことを2回伝えても複製ではなく統合
- 型分類 — メモリはエピソディック(イベント)、セマンティック(事実)、プロシージャル(ワークフロー)に分類
書き込みパイプライン
エージェントがrememberを呼び出すと、BHGBrainはテキストをデータベースにダンプするだけではありません。マルチフェーズパイプラインを実行します:
- 抽出 — LLMが生入力を推論された型、タグ、重要度スコア付きのアトミックメモリ候補に分解します。
- 決定 — 各候補を同じ名前空間の既存メモリと比較します。システムが決定します: ADD(新規ナレッジ)、UPDATE(既存を洗練)、DELETE(旧情報を無効化)、NOOP(既知)。
- 保存 — 受け入れられたメモリが埋め込み、インデックス、永続化されます。
抽出モデルが利用不可の場合、コンテンツハッシュとコサイン類似度閾値を使用した決定論的重複排除にフォールバックします。メモリをサイレントに破棄することはありません。
読み取りパス
エージェントがコンテキストを必要とする場合、recallまたはsearchを呼び出します:
- セマンティック検索は意味でメモリを見つけます(「このプロジェクトで認証はどう機能するか?」)
- 全文検索は正確な用語を見つけます(「OIDC federated credentials」)
- ハイブリッド検索はReciprocal Rank Fusionで両者を組み合わせます(デフォルトでセマンティック70%、フルテキスト30%)
さらにmemory://inject — セッション開始時に予算管理されたコンテキストブロックを配信する特別なMCPリソースがあり、エージェントが手動プロンプトなしで関連ナレッジから開始できます。
共有ブレインがすべてを変える理由
本当の力は1つのエージェントが物事を覚えられることではありません。すべてのエージェントが同じメモリを共有することです。
シナリオ: マルチエージェント開発
プロジェクトで3つのエージェントを実行しているとします:
- Claude CodeはIDEでの対話型開発用
- Codexはバックグラウンドタスク(テスト生成、リファクタリング)用
- OpenClawは運用・デプロイ自動化用
共有メモリがないと、各エージェントは孤立して動作します。Claude Codeが命名規約を学んでも、Codexはそれに違反するテストを生成します。OpenClawはClaude Codeが昨日記録したアーキテクチャ決定と矛盾する設定をデプロイします。
BHGBrainを使えば、Claude Codeが"すべてのAPIルートはkebab-caseを使用しRFC 7807 problem detailsを返す"を保存すると、Codexは次のrecallでそれを取得し準拠したテストを生成します。OpenClawのデプロイスクリプトも同じ規約に整合します。1つのメモリ、3つのエージェント、ズレなし。
シナリオ: オンボーディングとナレッジ移転
新しいチームメンバーが参加します。40ページのWikiドキュメント(半分は古い)を読む代わりに、チームのBHGBrainインスタンスにAIエージェントを接続します。エージェントは即座に以下にアクセスできます:
- アーキテクチャ決定とその根拠
- 具体的な例を含むコーディング標準
- 既知の落とし穴と回避策
- プロジェクト固有の用語
BHGBrainに付属のブートストラッププロンプトは、ID、責任、目標、ツール、エンティティマップ、運用ルールをカバーする10セクションの構造化インタビューを案内し — 約30分で包括的な作業プロファイルを構築します。
シナリオ: クロスリポジトリ継続性
複数リポジトリで作業する場合(マイクロサービス、モノリポ分割、複数組織コンサルティングで一般的)、BHGBrainの名前空間とコレクションシステムがナレッジを整理します:
project-alpha名前空間はそのプロジェクト固有のメモリを保持global名前空間は横断的標準を保持- 名前空間内のコレクションが関連メモリをグループ化(例:
api-design、infrastructure、security)
エージェントは適切なスコープを自動的にクエリします。相互汚染なし、コンテキスト紛失なし。
アーキテクチャ: シンプルでセルフホスト
BHGBrainはあなたのマシンまたはインフラで実行されます。埋め込みAPI以外にクラウド依存はありません(ローカルモデルを使えばそれも省略可能)。
MCPクライアント(Claude / Codex / OpenClaw / など)
→ MCPトランスポート(HTTPまたはstdio)
→ BHGBrainサーバー
→ 書き込みパイプライン(抽出 + 重複排除 + 決定)
→ Qdrant(ベクトル検索)
→ SQLite(メタデータ、全文、カテゴリ、監査ログ)
要件:
- Node.js 20+
- Qdrant(Dockerワンライナー:
docker run -d --name qdrant -p 6333:6333 qdrant/qdrant) - OpenAI APIキー(埋め込み用) — またはOllamaと
nomic-embed-textで完全ローカル運用
インストールと実行:
git clone https://github.com/Big-Hat-Group-Inc/BHGBrain.git
cd BHGBrain
npm install && npm run build
export OPENAI_API_KEY=sk-...
export BHGBRAIN_TOKEN=$(node -e "console.log(require('crypto').randomBytes(32).toString('hex'))")
node dist/index.js
これだけです。エージェントはstdio(ローカル)またはHTTP(ネットワーク)経由で接続できます。
デフォルトでエンタープライズ対応
BHGBrainはおもちゃではありません。初日から本番懸念で構築されています:
- 認証: ループバック以外のHTTP接続にはベアラートークンが必要です。フェイルクローズド — トークン環境変数が設定されておらずループバック以外のアドレスにバインドする場合、サーバーは起動を拒否します。
- レート制限: デフォルトでクライアントあたり100リクエスト/分。
- 監査ログ: すべての書き込みと削除がタイムスタンプ、名前空間、クライアントID、操作型と共にログ記録されます。
- シークレットスキャン: メモリは保存前に資格情報パターンについてチェックされます。シークレットらしきものは拒否されます。
- バックアップと復元: 完全SQLite + Qdrantスナップショットと整合性検証。
- グレースフルデグレデーション: Qdrantがダウンした場合、読み取りはSQLite全文にフォールバックします。埋め込みAPIが利用不可の場合、サーバーはクラッシュせず縮退モードに入ります。
- 構造化ログ: 自動トークン・コンテンツマスキング付きJSONログ。
5分で始める
1. Qdrantを起動
docker run -d --name qdrant -p 6333:6333 qdrant/qdrant
2. BHGBrainをインストール
git clone https://github.com/Big-Hat-Group-Inc/BHGBrain.git
cd BHGBrain && npm install && npm run build
3. エージェントを設定
Claude Desktopの場合、claude_desktop_config.jsonに追加:
{
"mcpServers": {
"bhgbrain": {
"command": "node",
"args": ["/path/to/BHGBrain/dist/index.js"],
"env": { "OPENAI_API_KEY": "sk-..." }
}
}
}
HTTPクライアント(OpenClaw、mcporter、リモートエージェント)の場合:
{
"mcpServers": {
"bhgbrain": {
"transport": "http",
"url": "http://127.0.0.1:3721",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
4. 記憶を開始
エージェントに何かを記憶するよう依頼します:
「記憶して: 当社のAPIはkebab-caseルートを使用し、RFC 7807 problem detailsを返し、すべてのエンドポイントはBearer token認証が必要です。」
BHGBrainがそれを保存し、semanticとして分類し、適切にタグ付けし、recall経由で接続されたすべてのエージェントに利用可能にします。
5. ブレインをブートストラップ
付属のブートストラップインタビューを実行して包括的な作業プロファイルを構築します:
# BootstrapPrompt.txtの内容を新規AI会話に貼り付け
# エージェントが10セクションにわたりインタビューし構造化プロファイルを生成
パワーユーザー向けCLI
BHGBrainには直接管理用の完全CLIが含まれます:
bhgbrain search "authentication patterns" --mode hybrid
bhgbrain list --limit 20
bhgbrain category set "Coding Standards" --file ./standards.md
bhgbrain stats
bhgbrain gc --consolidate # 類似メモリを統合、古いものにフラグ
bhgbrain backup create
BHGBrainとMEMORY.mdの使い分け
| MEMORY.md | BHGBrain | |
|---|---|---|
| スケール | コンテキスト膨張前に約100メモリ | 50万件以上のメモリ |
| 検索 | 毎セッション完全ファイル読み込み | 関連サブセットのセマンティック取得 |
| マルチエージェント | エージェント・ワークスペース単位 | すべてのMCPクライアントで共有 |
| 重複排除 | 手動 | 自動(ハッシュ + コサイン類似度) |
| 型 | フラットテキスト | エピソディック、セマンティック、プロシージャル |
| 監査 | なし | 完全監査ログ |
| バックアップ | Git | 整合性チェック付き専用バックアップ/復元 |
MEMORY.mdは単一プロジェクトで少数のメモを使う単一エージェントには適しています。BHGBrainはチーム、マルチエージェントワークフロー、テキストファイルでは足りなくなったAIメモリニーズ向けです。
次のステップ
BHGBrain v1はコアを正しく完成させることに注力しています: 信頼できるストレージ、スマートな重複排除、ハイブリッド検索、マルチクライアントアクセス。ロードマップには以下が含まれます:
- マルチユーザーRBAC — チームレベルのアクセス制御
- 保存時暗号化 — 規制環境向け
- クラウド同期 — マシン間のオプション同期
- ワーキングメモリTTL — 自動期限切れの短命スクラッチメモリ
試してみよう
BHGBrainはMITライセンスのオープンソースです。
GitHub: github.com/Big-Hat-Group-Inc/BHGBrain
AIエージェントが昨日伝えたことを忘れ続けるなら、永続するブレインを与えましょう。
Kevin KaminskiはBig Hat Groupの創業者で、エンタープライズAI、Windows 365、クラウドインフラを中心としたツールとコンサルティングプラクティスを構築しています。BHGBrainは、日々実行するマルチエージェントワークフローでのエージェント健忘に対する私たち自身の不満から生まれました。