
lna-lab/distill-kura
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
エージェントの長期メモリを蒸留: 意味でリコール, 証拠によってゲートを書き込みます, エージェントモードごとの1つのkura. DeepSeekハーネスプラグインとMCPサーバーとして出荷します.
概要
つまり、書き込みは証拠によってゲートされ、1つのサーバーは、エージェントモードごとに複数の別の思い出を保持することができますので、モードを切り替えると、エージェントが覚えているものを切り替えます。 DeepSeek Harness プラグイン、他のホスト、HTTP サービス、および Python ライブラリの MCP サーバーとして出荷します。 標準ライブラリのみ; ベクトルデータベース、埋め込みなし、フレームワークなし。 エージェントの長期記憶を殺し、反対側から殺す2つの失敗。 「SSDインフェレンスチップス」に関する質問は、「SSD ティアオフ2.6Tモデルを実行する」と題するメモリを持つ単語を共有しません。 単語検索は何も戻りません。エージェントはどこにも答えます。 ここでの修正は埋め込まれていませんが、認識: インデックス全体(メモリごとに1行ずつ、認識トリガーとして書かれています)は1つのプロンプトに行き、質問に負担する小さなモデル名になります。 ~500 のメモリのインデックスは 6k のトークンの周りにあります。 — 近代的なコンテキストウィンドウの割合が少なく、プレフィックスキャッシュに座っています.
概要(AI 翻訳)
蒸留される代理店の長期記憶、蓄積されていない。 meaning によるリコール作業、書き込みは evidence によってゲートされ、1つのサーバーは保持できます 複数の別々の思い出 — エージェントモードごとに1つ — モードを切り替える エージェントは覚えています。
DeepSeekハーネスプラグインとして出荷 他のホスト、HTTP サービス、および Python ライブラリの MCP サーバー。 スタンダード ライブラリのみ; ベクトルデータベース、埋め込みなし、フレームワークなし。
お問い合わせ
なぜこれが存在しているのか
エージェントの長期記憶を殺し、反対側から殺す2つの失敗。
キーワードで検索すると、必要なことを見逃すことができます。 「SSDインフェレンス」に関する質問 破片「 は、SSD 層を離れた 2.6T モデルを実行する」* と題するメモリと単語を共有しません。 しかし、彼らは同じ主題です。 単語検索は何も戻りません。エージェントはから答えます どこでも。 ここでの修正は埋め込まれていませんが、 recognition: インデックス全体(1行) メモリごとに、認識トリガーとして書かれている) 1つのプロンプトと小さなモデルに 質問に何を耐えているかの名前。 〜500の思い出のインデックスは6kトークンの周りにあります。 現代のコンテキストウィンドウの割合が少なく、プレフィックスキャッシュに座っています。
**全ての毒物は店舗に与えます.
このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。
README
以下は原文 README の抜粋です。原文を見る。
蒸留蔵 — distill-kura
A long-term memory for agents that is distilled, not accumulated. Recall works by meaning, writing is gated by evidence, and one server can hold several separate memories — one per agent mode — so switching mode switches what the agent remembers.
Ships as a DeepSeek Harness plugin, an MCP server for any other host, an HTTP service, and a Python library. Standard library only; no vector database, no embeddings, no framework.
┌── recall ──────────────────────────────────────────────┐
│ question → names a memory? → deterministic hit ~2 ms│
│ else → whole index in one prompt → picked slugs │
│ → walk [[links]] → the neighbourhood ~0.4 s│
└────────────────────────────────────────────────────────┘
┌── distil ──────────────────────────────────────────────┐
│ journal → classed evidence → candidates → GATE │
│ → new? → composed → draft → judged → poured │
└────────────────────────────────────────────────────────┘
Why this exists
Two failures kill an agent’s long-term memory, and they kill it from opposite sides.
Retrieval by keyword misses the thing you needed. A question about “SSD inference chips” shares no word with a memory titled “running the 2.6T model off an SSD tier” — yet they are the same subject. Word search returns nothing; the agent answers from nowhere. The fix here is not embeddings but recognition: the entire index (one line per memory, written as a recognition trigger) goes into one prompt, and a small model names what bears on the question. An index of ~500 memories is around 6k tokens — a few percent of a modern context window, and it sits in the prefix cache.
Writing everything poisons the store. An agent asserts something; a naive distiller records the assertion as a fact; the next agent reads it back as ground truth and repeats it with more confidence. That loop is self-reinforcing, and prompt instructions do not stop it — measured, not assumed. So the write path is gated by deterministic Python: every candidate memory must carry quotes that exist character-for-character in the raw material, tagged with where they came from.
| class | what it is | what it licenses |
|---|---|---|
[USER] |
the human’s own words | “they decided”, “they asked” |
[TOOL] |
machine output | numbers — the only source |
[ACT] |
a tool that was invoked | “this was done” |
[SELF] |
the agent’s own prose | a judgement, in the first person, never a bare fact |
A quote that is not found verbatim is discarded. A candidate with no surviving quote is
thrown away. A number with no [TOOL] behind it is stripped. Text crediting the human
with a decision, when no [USER] quote survived, is refused at the last gate. Ideas are
welcome — they go to a seed file, never to the store, and graduate only when later
インストール
This server does not publish a one-line install command.
Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →設定
{ "mcpServers": { "kura": {
"command": "python3", "args": ["-m", "distill_kura.mcp"],
"env": { "KURA_URL": "http://127.0.0.1:8085", "KURA_STORE": "eq", "KURA_READONLY": "1" }
}}}