Appearance
个人 AI 的第一性原理:为检索而生的数字分身
第一部 · 产品手记 · 第8章
撰写日期:2026-07-13
结论
我想做一个"以我的口吻、基于我的真实经历回答问题"的数字分身。第一直觉是拿自己的数据去微调一个模型。真正动手之后,判断变了:
个人 AI 的竞争力不在"模型多懂我",而在"它能不能拿我的原话作答、而且我能一键核对"。所以第一性原理不是训练一个像我的模型,而是搭一套为检索、可溯源、能增量更新的语料系统。
微调把"我"糊进权重里,既不可溯源,又要为每次新经历重训;检索把"我"留在可引用的原文里,随模型升级免费受益。对个人 AI 这种数据少、更新频繁、极看重真实性的场景,检索几乎总是更优解。
1. 为检索而生,不是为训练
同一批语料,为训练准备和为检索准备是两种相反的形态:
| 维度 | 训练视角 | 检索视角 |
|---|---|---|
| 数据形态 | 清洗、归一、改写 | 保真原文,保留对话轮次 |
| 更新方式 | 重训 / 增量微调 | 增量镜像,随时生效 |
| 溯源能力 | 弱,答案来源不可查 | 强,可逐句引用回原文 |
| 随模型升级 | 需重训才能受益 | 换更强的模型即免费受益 |
| 典型失败 | 退化成"泛泛的正确废话" | 召回不准,但可调、可观测 |
一旦为训练把语料摘要化、去结构化,就永久丢失了"这句话我到底在哪说过"的能力——而这恰恰是个人 AI 最该守住的东西。
2. 语料塞得进上下文,就先别上 RAG
做检索不等于一上来就搭向量库。先估算语料总量:
| 语料规模 | 检索方案 |
|---|---|
| 能塞进单次上下文窗口(当代模型约 200K token,对应数百篇短文档) | 目录索引 + 按需精读目标文件的 agentic 检索即可,召回率接近 100%,零管线故障点 |
| 超出上下文、且开始出现召回精度问题 | 再引入切块 / embedding / 向量库 |
RAG 是语料涨到"检索精度出问题"之后才需要解决的问题,不是起手式。
向量管线(切块、embedding、召回调参)是持续的工程与维护成本,还会引入召回损失。语料还小的时候上它,是在解决一个还不存在的问题。我给自己的判断:语料塞得进上下文,就先别上 RAG。
3. 两级人格:原始语料 + 定期蒸馏的观点档案
人格不该只靠海量原始语料在每次提问时临时拼装,也不该只靠一份写死的人设。用两级表示:
| 层 | 原始语料 | 观点档案(定期蒸馏) |
|---|---|---|
| 粒度 | 长尾细节,逐句可溯源 | 高信噪比的核心判断、经历时间线、表达风格、反对什么 |
| 稳定性 | 会随检索措辞漂移 | 稳定的人格锚,回答口吻一致 |
| 更新 | 每次增量镜像 | 每周自动重跑一次,随语料自然更新 |
| 作用 | 兜底细节与出处 | 高频问题直接快答,不必每次盲搜 |
这一步还有个额外收益:蒸馏本身就是一次内容质检。通读全部语料去抽共性时,不属于本人风格 / 立场的文档会在归纳中暴露出来(混进来的他人材料、转载笔记),被自动识别并排除。建人格的同时顺手查了异常。
4. 出处必须可点击、可回溯
基于检索的问答,"出处"不能是裸文件路径或含糊的"据我所知",必须是能一键跳回原文的链接:
- 文档取其元数据里的原始 url;
- 代码仓文件拼成 blob 链接;
- 聊天记录拼成仓库内路径链接。
把溯源固化进输出格式的意义,是把幻觉风险从"信任模型"降级为"信任可核查的引用"——用户能一键跳到原文核对。裸路径不可点、跨系统失效,等于没有溯源。
5. 五段式架构:语料 × 检索 × 人格 × 入口 × 飞轮
把"数字分身"这个模糊目标拆成五个正交层,每层有独立的失败模式和迭代节奏,避免一切耦合进一个大 Prompt 里无法调试:
| 层 | 职责 | 独立的失败模式 |
|---|---|---|
| 语料 | 多源镜像,增量去重,删除传播 | 漏源、重复加权、镜像与源漂移 |
| 检索 | 统一索引,把相关原文喂回模型 | 召回不全 / 不准 |
| 人格 | 系统规则(先检索后答、区分出处与推断、不编造)+ 定期蒸馏的观点档案 | 口吻漂移、越界编造 |
| 入口 | CLI、聊天机器人等多入口交付 | 延迟、可达性 |
| 飞轮 | 每日把值得沉淀的内容提炼出来,喂进公开的产品手册 | 只进不出、无自增长 |
数据源增删不影响人格规则,人格升级不动语料,入口更换不碰检索。能把一个系统拆成正交层、每层单独说清它怎么坏,本身就是这个产品想清楚了的标志。