LL

lna-lab/distill-kura

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

54 stars 7 forks 품질 84 트렌드 21MIT

— 대리인을 위한 증류된 장기 기억: 의미, 기록에 의해 신호, 대리인 형태 당 1개의 kura. DeepSeek 하네스 플러그인과 MCP 서버로 배송합니다.

개요

Recall은 의미에 의해 작동, 쓰기 증거에 의해 문질러, 하나의 서버는 여러 분리 된 기억을 보유 할 수 있습니다 - 에이전트가 기억하는 것을 전환 모드 스위치. DeepSeek 마구 플러그인으로 배송, 다른 호스트에 대한 MCP 서버, HTTP 서비스 및 파이썬 라이브러리. 표준 라이브러리 만; 벡터 데이터베이스 없음, embeddings, 프레임 워크 없음. 2개의 실패는 대리인의 장기 기억을 죽이고, 그들은 반대 측에서 그것을 죽이. "SSD inference Chip"에 대한 질문은 "SSD tier에서 2.6T 모델을 실행"라는 메모리로 단어를 공유하지 않습니다. 그러나 그들은 같은 주제입니다. Word search 반환 아무것도; 에이전트는 어디에서나 답변. 수정은 여기에 embeddings 하지만 인식 되지 않습니다: 전체 인덱스 (메모리 당 한 줄, 인식 트리거로 작성) 한 프롬프트로 이동, 그리고 작은 모델 이름 질문에 곰. ~500 기억의 인덱스는 약 6k 토큰 - 현대 문맥 창의 몇 %이며, 접두사 캐시에 앉아 있습니다.

개요(AI 번역)

** 증류된 에이전트를위한 장기 기억, 축적되지 않은. ** meaning에 의해 호출, 쓰기는 evidence에 의해 문지고, 1개의 서버는 붙들 수 있습니다 몇몇 분리되는 기억 — 대리인 형태 당 하나 — 이렇게 엇바꾸기 형태는 무슨을 에이전트 기억.

DeepSeek 하네스 플러그인으로 배송 다른 호스트의 MCP 서버, HTTP 서비스 및 Python 라이브러리. 제품 정보 라이브러리 만; 벡터 데이터베이스 없음, embeddings, 프레임 워크 없음.


왜 이 존재

2개의 실패는 대리인의 장기 기억을 죽이고, 그들은 반대 측에서 그것을 죽이.

** 키워드로 검색하면 필요한 것을 놓습니다. ** * “SSD inference에 대한 질문 칩”* 제목 된 메모리와 단어를 공유 “SSD 계층에서 2.6T 모델을 실행” — 그러나 그들은 같은 주제입니다. Word search 반환 아무것도; 에이전트 답변에서 이름 * 수정은 여기에 embeddings 하지만 recognition: 전체 인덱스 (하나 라인 인식 방아쇠로 작성된 메모리 당)는 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

GitHub에서 전체 README 보기

설치

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" } }}}