Hanzoのベータに参加すると、有料プランが50%オフになります

Hanzo Brain:エージェントのためのローカルファースト知識グラフ

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

このページの内容

あなたのエージェントは賢いのに忘れっぽい。それを直しました。今日届けるのは Hanzo Brain です。単一のバイナリ、~/.hanzo/brain/brain.db にある単一の SQLite ファイル、そして TypeScript、Python、Rust、Go、C++ で同じアルゴリズム面です。markdown ファイルを ~/.hanzo/workspace/ に落とします。ブレインはそれを取り込み、型付きの辺を抽出し、ハイブリッド検索のために内容を索引します。言語モデルは呼びません。グラフは積み重なります。

これはすべての Hanzo ランタイムの記憶層です。ボット、MCP サーバ、Hanzo Node、そして自分のホストに埋め込むものすべてです。

ブレインとは何か

ブレインは一つのプロセスの中の三つのものです。

  1. ページ — スラグで番地づけされた内容で、どこからでも書け、ディスク上で監視されます。
  2. 辺 — 型付きの関係(mentions、attended、works_at、invested_in、founded、advises)で、書き込みのたびに正規表現と役割推論で抽出します。言語モデルは使いません。
  3. 事実 — (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 から読めば、読むのはサーバが書いたファイルです。

機能TSPythonRustGoC++
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 へ流す
vfsS3 のストリーミングブロック 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 ID でサインインしてください。

コメントを読み込み中…

続きを読む