Hanzo Brain:エージェントのためのローカルファースト知識グラフ
どのランタイムからもエージェントが読む、一つの SQLite ファイルです。グラフ操作に言語モデルの往復はなく、書き込み時に FTS5 とベクトルと型付き辺の抽出を行います。

このページの内容
あなたのエージェントは賢いのに忘れっぽい。それを直しました。今日届けるのは Hanzo Brain です。単一のバイナリ、~/.hanzo/brain/brain.db にある単一の SQLite ファイル、そして TypeScript、Python、Rust、Go、C++ で同じアルゴリズム面です。markdown ファイルを ~/.hanzo/workspace/ に落とします。ブレインはそれを取り込み、型付きの辺を抽出し、ハイブリッド検索のために内容を索引します。言語モデルは呼びません。グラフは積み重なります。
これはすべての Hanzo ランタイムの記憶層です。ボット、MCP サーバ、Hanzo Node、そして自分のホストに埋め込むものすべてです。
ブレインとは何か
ブレインは一つのプロセスの中の三つのものです。
- ページ — スラグで番地づけされた内容で、どこからでも書け、ディスク上で監視されます。
- 辺 — 型付きの関係(
mentions、attended、works_at、invested_in、founded、advises)で、書き込みのたびに正規表現と役割推論で抽出します。言語モデルは使いません。 - 事実 —
(subject, predicate, object, ts, confidence)の組で、セッションをまたいで実時間に問い合わせできます。
ページは FTS5 の索引を持ちます。辺は (source, target, type) の上に主キーを持ちます。事実は識別子と時刻を持ちます。スキーマは頭に収まる短さです。
CREATE TABLE pages (slug TEXT PRIMARY KEY, content TEXT, frontmatter TEXT, updated_at TEXT);
CREATE VIRTUAL TABLE pages_fts USING fts5(content, content='pages', content_rowid='rowid');
CREATE TABLE edges (source TEXT, target TEXT, type TEXT, evidence TEXT, PRIMARY KEY (source, target, type));
CREATE TABLE facts (id TEXT PRIMARY KEY, subject TEXT, predicate TEXT, object TEXT, source TEXT, ts TEXT, confidence REAL);
それが契約のすべてです。どのバックエンドもそれを守ります。どのランタイムもバイト単位で同一のファイルを書きます。
言語モデルなしの抽出が重要な理由
言語モデルに基づく抽出器は、書き込みのたびにトークンと遅延とお金を焼きます。実行のあいだにずれを生み、グラフを非決定的にします。
ブレインは書き込み時に正規表現と役割推論で辺を抽出します。速く、無料で、同じ入力には毎回同じ辺を出します。"Alice founded Acme. She invested in Foobar," を取り込むと、こうなります。
people/alice -[founded]-> companies/acme
people/alice -[invested_in]-> companies/foobar
毎回です。どのランタイムでも。往復はありません。
その上に言語モデルの補強が欲しいなら、実体の曖昧性解消、主張の検証、要約は、決定的なグラフの上で自分のモデルを呼びます。グラフが土台です。言語モデルは任意の仕上げです。
一つのファイル。すべてのランタイム。
同じ brain.db が TypeScript、Python、Rust、Go、C++ で開きます。形式の翻訳も移行もありません。サーバで hanzobot/go から書き、ブラウザワーカーで @hanzo/bot-memory から読めば、読むのはサーバが書いたファイルです。
| 機能 | TS | Python | Rust | Go | C++ |
|---|---|---|---|---|---|
| BrainStore インタフェース | 対応 | 対応 | 対応 | 対応 | 対応 |
| SQLite(既定) | 対応 | 対応 | 対応 | 対応 | 対応 |
| FTS5 のハイブリッド検索 | 対応 | 対応 | トレイト | 対応 | 対応 |
| グラフリンク抽出器 | 対応 | 対応 | 対応 | 対応 | 対応 |
| レシピローダ | 対応 | 対応 | 対応 | 対応 | 対応 |
| 差し替え可能なバックエンド | 対応 | 対応 | 対応 | 対応 | 対応 |
公開時のランタイム横断テスト合計は 121 TS + 53 Python + 58 Go + 38 Rust (mcp) + 38 Rust (node) + 98 C++ = 406 件のテスト、すべて緑です。各ランタイムは同じ融合、同じ再順位付け(MMR)、同じ RRF、同じスラグ正規化、同じ辺抽出器を届けます。
MCP から問い合わせできる
ブレインは MCP を通して三つのツールとして開かれます。
brain.recall <entity>— ある実体についてこれまで主張されたすべての事実を、時刻つきで。brain.search <query>— FTS とベクトルのハイブリッドを RRF で融合し、任意で MMR 再順位付け。brain.ingest <slug> <content>— ページを書き、辺を自動抽出し、FTS を更新する。
Hanzo Node、Hanzo MCP サーバ、または hanzobot/* の上に組んだボットと話すエージェントは、これらのツールを無料で得ます。サイドカーも、追加サービスも、別に運用するデータベースもありません。
Go の単一バイナリの道では次のとおりです。
go install github.com/hanzobot/go/cmd/hanzo-bot@latest
hanzo-bot brain init # opens ~/.hanzo/brain/brain.db
hanzo-bot brain ingest people/alice.md
hanzo-bot brain recall people/alice
hanzo-bot brain search "founded"
Python では次のとおりです。
from hanzo_memory.graph_links import extract_edges
edges = extract_edges(slug="people/alice", content="Alice founded Acme.")
Rust では、hanzo-mcp の中に埋め込まれます。
use hanzo_mcp::brain::{extract_edges, slugify};
let edges = extract_edges("people/alice", "Alice is CEO of Acme.", Some("person"));
差し替え可能な保管、同じ契約
SQLite が既定です。ラップトップ上の最初の十万ページには足ります。それを超えたら、アプリケーションのコードを変えずに別のバックエンドを登録します。
| バックエンド | いつ |
|---|---|
sqlite | 単独、< 100K ページ |
qdrant | 大規模なベクトル ANN |
meilisearch | 大規模なキーワード FTS |
zapdb | 規範となる多言語ネイティブストア |
replicate | バックアップのため SQLite の WAL を S3 へ流す |
vfs | S3 のストリーミングブロック FS、大きさは無制限 |
postgres | マルチテナントのチーム配備 |
複数マシンにわたる SQLite 形の分散意味には、ZAP トランスポートと Quasar の合意と zapdb を使います。ブレインは同じままです。バイトが入ってバイトが出る契約は保たれます。
積み重なる記憶
ブレインの要点はデータベースではありません。仮定の転換です。エージェントは毎セッションを空白から始めません。一年前に書いた markdown はすでにグラフです。昨日の会話は辺と事実を生み、今日のセッションはそれにトークンを払わず問い合わせできます。二台のマシンの二人のエージェントは replicate の上で brain.db を共有し、同じ見方へ収束できます。
積み重なる記憶とはそういう意味です。グラフは育ち、モデルは安くなり、利用者は覚えている助手を見ます。
ブレインを手に入れる
- TypeScript の正本(ボットに同梱):
npm install -g @hanzo/bot && hanzo-bot serve - Python:
pip install hanzo-memory - Go の単一バイナリ:
go install github.com/hanzobot/go/cmd/hanzo-bot@latest - Rust:
hanzoai/nodeとhanzoai/mcpのワークスペースメンバー - C++:
hanzobot/cpp/include/hanzo/brain/にあるヘッダのみ
ソース: github.com/hanzoai/brain。ライセンス: MIT.
一つのファイル。五つのランタイム。グラフ操作に言語モデルの呼び出しはゼロ。設計としてローカルファースト。
続きを読む

Hanzo が AI エージェント基盤の形式証明を公開
エージェントの安全性、MCP プロトコル、PoAI コンセンサス、プラットフォーム運用のための、機械検査済み Lean 4 証明

完全な AI エージェントの積み重ね: モデル、計算、ツールを一つのプラットフォームに
Hanzo AI は、100 以上の AI モデル、クラウド計算、GPU アクセス、260 以上の MCP ツールを、一つの開発者アカウントにまとめた最初のプラットフォームを出します。

月額 $5 で AI エージェントを動かす。本日 Hanzo Bot を公開します
Hanzo Bot は、業界でいちばん安い AI エージェントのホスティングで始まります。$5/月から、無料クレジット付き、100 以上のモデルへの統合アクセス、そして H100 GPU は $3.48/時間です。