ex-skill进化机制完全指南:追加记忆、对话纠正、版本回滚三大机制深度解析
【免费下载链接】ex-skill把前任蒸馏成 AI Skill,用ta的方式跟你说话。项目地址: https://gitcode.com/gh_mirrors/ex/ex-skill
ex-skill(前任.skill)是一个把前任蒸馏成 AI Skill 的开源项目:导入微信聊天记录、QQ 消息、朋友圈截图和照片,生成一个真正像 ta 的 AI 角色——用 ta 的口头禅说话,记得你们一起去过的地方。而本文聚焦它最核心的竞争力:进化机制。生成的 Skill 不是"一次性成品",而是会通过追加记忆、对话纠正、版本回滚三大机制持续进化,越来越像那个 ta。
🧭 三大进化机制一览
先建立一个整体认知:ex-skill 的进化是一条闭环链路——
追加原材料 → 增量分析 → merge 进现有 Skill 对话纠正 → 识别修正点 → 写入 Correction 层 版本管理 → 每次更新自动存档 → 支持回滚| 机制 | 触发方式 | 解决的问题 | 核心文件 |
|---|---|---|---|
| 追加记忆 | "我想起来了" / 找到新聊天记录 | 记忆变多、还原度变高 | prompts/merger.md |
| 对话纠正 | "不对" / "ta不会这样说" | 性格细节不像 ta | prompts/correction_handler.md |
| 版本回滚 | /ex-rollback {slug} {version} | 改坏了、想回到之前 | tools/version_manager.py |
💡 设计哲学:记忆是"只增不改"的,纠正是"即改即生效"的,而所有变更都有存档可回退。三层保险,让"蒸馏"过程始终可控。
机制一:追加记忆 — 找到更多聊天记录,自动增量合并
当你后来又翻到一箱旧照片、导出了更完整的聊天记录,说一声**"我想起来了"、"追加"** 或/update-ex {slug},就会进入进化模式。
整个流程全自动完成 7 个步骤:
- 用解析工具读取新内容(微信记录用 tools/wechat_parser.py,QQ 用 tools/qq_parser.py,照片用 tools/photo_analyzer.py 提取拍摄时间地点)
- 读取现有的
memory.md和persona.md - 按 prompts/merger.md 的规则分析增量内容
- 先存档当前版本(这是版本回滚机制的自动触发点)
- 将增量内容追加到对应文件
- 重新生成组合版
SKILL.md - 更新
meta.json的版本号和时间戳
增量合并的 4 条黄金原则
merger 逻辑的设计非常克制,这也是记忆"越聊越准"的关键:
- 增量不覆盖:新信息追加到已有内容后面,绝不替换已有结论
- 冲突标注:新信息与旧记忆矛盾时,用
[⚠️ 冲突]标注,交给你决定 - 时间线补充:新事件按时间顺序插入关系时间线
- 证据升级:更充分的证据会强化已有结论的置信度,而不是另起炉灶
新增内容还会带上来源注释,例如<!-- [追加于 2026-08-01,来源:微信聊天记录] -->,方便你追溯每条记忆从哪来。
🔍 记忆分两条线写入:Part A 关系记忆(共同经历、inside jokes、争吵甜蜜档案)与Part B 人物性格(5 层结构:硬规则 → 身份 → 说话风格 → 情感模式 → 关系行为)。事实类进 A,性格类进 B,互不干扰。
机制二:对话纠正 — 说"ta不会这样说",立即生效
蒸馏出来的 Skill 不可能 100% 像。当聊天中发现"太温柔了"、"ta没这么文艺"、"ta不用这个表情",直接说出来即可——以下表达都会触发纠正模式:
"不对" / "ta不会这样说" / "ta应该是…" / "这不像ta" / "太冷漠了"
纠正的两步分流:先归类,再落笔
处理器会先判断你纠正的是哪一类问题:
| 纠正类型 | 典型说法 | 修改位置 |
|---|---|---|
| Memory 纠正(事实类) | "我们不是在那认识的" / "ta不喜欢吃那个" | 关系时间线、饮食偏好、地点 |
| Persona 纠正(性格类) | "ta不会这样说话" / "ta不会主动道歉" | Layer 2 说话风格、Layer 3 情感模式、Layer 4 关系行为 |
随后生成一条结构化的 Correction 记录,追加到对应文件的## Correction 记录节,包含层级、原文、纠正内容、你的原话四要素;同时被纠正的原文旁会标注[已纠正,见 Correction #{n}]。
这个机制有两个体验细节很加分:
- 立即生效:纠正完下一条回复就能体现,不用重启
- 不质疑用户——你才是最了解 ta 的人,系统只会确认理解是否准确,避免误改
机制三:版本回滚 — 每次更新自动存档,随时一键回退
这是最"工程化"的机制,由 tools/version_manager.py 实现,共 3 个子命令:
| 操作 | 说明 |
|---|---|
backup | 备份当前版本,自动在versions/下创建版本号_时间戳目录 |
rollback | 先自动备份当前版本,再恢复目标版本的文件 |
list | 列出所有历史版本,按时间倒序 |
回滚使用三步走
- 每次追加记忆前,系统自动备份当前的
memory.md、persona.md、SKILL.md、meta.json四个核心文件 - 想回退时,输入
/ex-rollback {slug} {version} - 支持模糊匹配——只写版本号前缀也能找到目标,回滚前还会再给你当前版本做一次备份
🛡️ 注意一个细节:rollback 是"先备份、再恢复",所以回滚操作本身也可逆。哪怕你滚错了版本,也永远能再滚回来。
versions/目录就是你的"时光机"。
🎁 隐藏机制:Session Summary 让记忆不中断
除三大机制外,还有一个容易被忽略的细节——prompts/session_summary.md 定义的会话摘要:
- 你说"拜拜"或对话超过 20 轮时,自动生成本次摘要(聊了什么、情绪基调、关键记忆点、下次可接着聊的话题)
- 摘要存入
exes/{slug}/sessions/目录 - 下次对话开始时自动加载最近 3 条摘要注入上下文
效果就是:它记得你们上次聊到哪了,且不会生硬地汇报"上次我们聊了 xxx",记忆是自然流露的。
📁 关键路径速查
| 文件 | 作用 |
|---|---|
| SKILL.md | Skill 入口与全部触发词、进化模式定义 |
| prompts/merger.md | 增量 merge 逻辑 |
| prompts/correction_handler.md | 对话纠正处理规则 |
| prompts/session_summary.md | 会话摘要持久化 |
| tools/version_manager.py | 版本存档与回滚 |
| tools/skill_writer.py | Skill 文件管理(列出/初始化/合并生成) |
| docs/PRD.md | 产品需求文档(含进化机制设计图) |
| INSTALL.md | 安装说明 |
| docs/EXPORT_GUIDE.md | 微信聊天记录导出指南 |
每个生成的前任存放在exes/{slug}/下,结构为:SKILL.md(组合运行版)+memory.md+persona.md+meta.json+versions/(历史版本)+sessions/(会话摘要)。
✅ 快速上手进化功能
- 按 INSTALL.md 完成安装,
/create-ex创建你的第一个前任 Skill - 日常用
/{slug}开启对话,觉得哪里不像 ta,直接说"ta不会这样" - 翻到新的聊天记录或照片,说一句"追加",见证它 merge 进记忆
- 改得不满意?
/ex-rollback {slug} {version}一键回到最初的样子
最后提醒一句项目内置的安全边界:ex-skill仅用于个人回忆与情感疗愈,所有数据仅本地存储、不上传任何服务器;生成的 Skill 受 Layer 0 硬规则约束,不会说出 ta 在现实中绝不可能说的话。蒸馏的是记忆,放下的是执念——如果发现自己过于沉浸,请记得寻求专业帮助。
【免费下载链接】ex-skill把前任蒸馏成 AI Skill,用ta的方式跟你说话。项目地址: https://gitcode.com/gh_mirrors/ex/ex-skill
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考