程序做定位,
LLM 做语义
序号、时间、谁说的、工具调用、提到了谁、去重、出处,全由程序算; 实体、事实、关系、情绪、歧义怎么判,才交给模型。一次只问模型一个问题。
以上数字取自 2026-11-09 的仓库实测。
你们在 10-22 讨论过部署脚本,结论是统一走 build-release.sh[1]; x86 与 ARM 两套产物各自带 SHA256SUMS[2]; 冷启动读数在 docs 目录里的那篇记录,不在记忆正文里[3]。
对 LLM 来说,读一句组织好的话,比解析一堆碎片省力;碎片越零散,越容易自己补全。
这不是一份功能清单,而是一套取舍。下面每一条都对应代码里的一个约束; 读过这三条,再看后面的每条管线都会有依据。
序号、时间、谁说的、工具调用、提到了谁、去重、出处,全由程序算; 实体、事实、关系、情绪、歧义怎么判,才交给模型。一次只问模型一个问题。
记忆只存「一句结论 + 指向原文的编号 + 出处」。完整对话、工具输出、代码和日志留在原始层, 要看时按编号翻回去,不在记忆里重抄一遍原文。
身份是一个算出来的哈希:换台机器、重新导入一次,都还是同一条; seq 只是给人看的序号,不是身份。中心搬到哪,编号所指的还是它。
中心自己不需要有 agent;每台设备上跑一个本地节点。 备份按复制序号一条条追平,核对无误才允许接班; 接班时换一代凭证,旧中心再送东西过来会被直接拒绝。
示意图只画主路径。断网、半边失联、本地继续整理、重新并回,完整状态机在「韧性」一页可交互演练。窄屏上左右滑动看全图。
打开完整拓扑写入与读取是两条独立的路径,中间只隔一层可重建的记忆。 抽取失败、提示词改版、模型换掉,原始会话都不会丢。
各家 agent 自己的转换器把会话写进统一格式;入库检查不过就改转换器,核心不认任何私有格式。
程序先定位,LLM 再接语义任务。每条输出只带 seq 与逐字引文,别的字段不给。
先用程序把能机械检查的查一遍;再让模型单独审一次,只挑问题,不改写、不重抽。退回的草稿会带上原因。
结论、编号、出处进记忆层;原文留在原始对话里。测试看真的写了几行——写零行等于错误。
默认给一句带句柄的简报——句柄就是行首那个 [1],拿着它能换回那条记忆;记忆里的 turn 指针再用 recollect_turn 取回原话。程序读 json,核对的人用 expand 看证据链。
每一页都能单独读,页尾有上一页和下一页。其中七页带可点的演示。
每一条都对着一个真踩过的坑,不是为了复杂而复杂。