活的记忆

七层,从原始日志到抽象概念

多数 harness 用一份只增不减的扁平日志来记忆。Xihe 的记忆是一张会提炼、会重组、会遗忘的图谱——浮上来的是信号,不是流水账。

一个库,四位住民

一切都活在一张文件里

skills、genes、facts、evolution events 通常是四套系统。在这里,它们是一张 SQLite 数据库的四个寄存器——彼此之间有桥,还有一台让它们自我演化的飞轮。无 embedding、无 GPU、无向量服务。

substrate.db
skills agent 能做什么
genes 可复用的怎么做
facts 它习得了什么
evolution 每次变更,留痕可审
一个文件可审计可迁移无 embedding · 无 GPU
自己打开看
$ cp substrate.db backup.db
$ sqlite3 substrate.db \
   "select layer, key, confidence from facts limit 5"

多数记忆是一个你只能盲信的向量索引。这是一张你用手边工具就能查的表。

L6 → L0

七层,从原始日志到抽象概念

L6

抽象概念

符号推理的原语

L5

战略模式

跨任务可复用的策略

L4

行为基因

BM25 检索,幂等迁移

L3

实体图谱

带溯源的时序知识图谱

L2

结构化事实

经校验、过克制闸门的写入

L1

压缩情节

做梦裁剪后的聚类

L0

原始日志

短暂、未经整理

抽象 · 提炼之巅 原始 · 流水账之基

Lifecycle · 三道闸门

一条事实的一生,三道闸门

I

写入

restraint gate + validator

每条事实落库前都必须活过可证伪校验。幻觉永远无法变成记忆。

II

整理

dream · purify · cluster

agent 闲置时,记忆自己去重、压缩、重组。熵减让检索始终锋利。

III

退役

prune + decay

最近性、置信度、相关性驱动退役。有意图的遗忘是特性,不是泄漏。

你不去整理记忆。记忆自己整理自己。

什么允许被写

一道 reject-by-default 的膜

agent 说的并非每句都值得被记。每次写入都过 validateFactWrite + 克制闸门;只有声明过的 namespace 才放行,且默认关闭——除非一条 fact 证明它该被记。

user.* 你是谁 preference · interest · focus · expertise · trait · goal
wright.* agent 关于自己 capability · pattern · limit
domain.* 你的领域,注入 domain pack 自行声明
secrets secrets —— 脱敏,绝不入库
一条通过的 fact user.preference · 偏好 Bun 胜过 Node

幻觉永远不会变成记忆。这道闸,是聊天记录与知识库的分界。

从 tentative 到可信

一条 fact 挣得行动的资格

新 fact 先进 tentative——被记住,但不起作用。只有被佐证才升 confident:证据跨 session 反复出现。而只有 confident 的 fact 才被注回去驱动行为。

tentative

被记住、从不行动 · 约 30 天过期

证据 ≥ 3 · 跨 ≥ 2 个 session
confident

驱动行为 · 每轮重新注入

user.preference · 偏好 Bun 胜过 Node tentative confident

层是一个轴——多抽象。信任是另一个轴——多被佐证。一条 fact 可以位高却仍是冷的;只有又热又高信任的区,才触发行为。

agent 对自己的判断保持松握,直到证据为它撑腰。熔断器阻止一条 fact 反复横跳、或一拥而上挤进信任。

Genes 基因

基因——学一次,处处可用

一个行为基因是一段可复用的“怎么做”。BM25 搜索为手头任务找到最近的匹配,并幂等地迁移进来——无需重训、不漂移、不浪费。

复用胜过召回。最好的记忆,是你再也不必查第二次的那条。

task match · BM25 gene gene gene

会自学习的技能

底座会复利

同一张库,既记忆也自我改进。运行时的信号被挖成能力、写回库里——于是 harness 每跑一次都更锋利,而不是从冷启开始。agent 提议,你批准。没有静默自改。

01
信号

route_hit + 五个生产者从运行中触发

五个信号生产者 tool_failure · recall_miss · user_correction · hard_problem · drift
02
挖掘

episodic miner 提炼 confident + worked 的模式

03
候选

起草一个新 skill 或 gene

04
策展

去重 · 修剪 · 收缩——bundle 永不臃肿

05
闸门

held-out 闸 · 仅提议 · 你批准

它会回环:confident 模式成 gene,gene 成 skill,skill 喂下一次运行。是飞轮,不是定死的 prompt。

The curated core

精挑的核心:十二个通用技能

start 恢复上下文,开场简报
  • 并行读 _NEXT + git status,重建上次上下文
  • 输出简报:当前任务 + 建议的下一步
  • 每个 session 的第一条命令,防 context 丢失
handoff 收尾交接:状态 + 记忆捕获
  • 离开前更新 active-plan 的 pickup 锚点
  • 写 session log + 捕获可留存的记忆
  • 跳过 = 下个 session 从零开始
commit 验证过的规范化 git 提交
  • 分析 diff,先跑 tsc / test / build 闸门
  • 写规范化 message;绝不提交红的
  • --ship 模式:并基 + 全量测试 + 开 PR
verify tsc · test · build 闸门
  • 按你改动的文件裁剪验证范围
  • 五档:smart / quick / full / all / health
  • 一切计数前必过的唯一闸门
investigate 八阶段根因调查
  • 铁律:无根因不修
  • 搜历史 → 复现 → 锁范围 → 假设验证 → 修复
  • 先翻过往事故,再从零调查
recall 召回过往决策(向量)
  • 检索过往决策与教训的向量库
  • 卡住、或觉得"以前解过"时用
  • 与 grep 正交:召回历史,不是当前代码
review 按需的安全 / 覆盖 / 技术债审计
  • 派专项审查员 + 一个跨模型视角
  • 安全 / 覆盖 / 技术债 / 全量闸门 / PR 审查
  • phase 里程碑与合并前跑
caveman 极简压缩沟通,省 token
  • 砍掉填充词、虚词、客套——只留事实
  • 省约 75% token,技术精度不降
  • 想要简短不要客套时切开
council 对手草案,评审出唯一冠军
  • N 个 persona 并行产出对手方案
  • 多 lens 评审团评分、选出冠军
  • 把亚军的亮点嫁接进最终结果
retro 从 git 历史做工程复盘
  • 读 commit 规律:feat / fix / refactor 配比、专注分
  • 测试纪律 + 随时间的生产力趋势
  • 用于 sprint / 周复盘,不是 session 收尾
dream 把原始事件提炼成分层记忆
  • 把原始事件固化成 L0–L6 分层记忆
  • 每次写入都过克制闸门 + 校验器
  • 在有界预算内跑完整层
skill-creator 撰写与进化技能
  • 从零建技能,或改进已有技能
  • 跑 eval + 带方差地基准触发准确率
  • 优化 description 让路由更准

点开任一技能,看核心要点

无平台依赖 · 无品牌绑定 · 无私有密钥

领域接地

把你的领域教给它——答案带着来源到达

通用 harness 不绑定任何领域。但记忆生来就能接一个 domain pack:一组 namespace、校验器,以及为你个人或专业领域准备的 grounding 词表。装上它,模型就在要紧处不再瞎猜——它的答案带着你可以核对的出处。

α

可注入 namespace

domain pack 声明在你的领域里什么允许被记住、什么绝不可以。写闸强制执行,reject-by-default。

β

有来源的接地答案

grounding 闸盯住需要权威的论断,把它们绑到你的领域词表——法定数字、领域术语、那些绝不能被幻觉的事实。

γ

你的仍归你

domain pack 承载你的逻辑、你的术语、你的来源。开源底座从不吸收它们——换领域不动内核。

通用内核,领域在上。模型从你的大地作答,而非它的猜测。