你提的“想做本地 AI 记忆”这个方向,我关注了很久,也见过好几拨人卡在同一个地方。先说一个判断:这件事不是技术难,而是“技术合伙人的预期和产品现实之间怎么对齐”难。本地 AI 记忆,简单说就是把 AI 的长期记忆能力装进用户自己的设备里——对话记录、工作笔记、阅读收藏、日程安排全部在本地完成编码、存储与召回,模型推理也在本地跑,数据不出设备。它能解决的是云端记忆带来的隐私焦虑、订阅成本和网络依赖,适合的恰恰是那些被大厂“云端 AI 助理”劝退,又对数据主权有执念的用户。这篇文章,我想以过来人的身份,把找技术合伙人之前该做的产品判断、该找什么样的人、怎么把合作谈得长久,以及后续技术落地最朴素的路径,完整讲一遍。
1. 先想清楚:“本地 AI 记忆”到底是在做什么
1.1 什么叫“本地 AI 记忆”:拆开看三个关键词
很多人一听到“本地 AI 记忆”,第一反应是“做一个本地版 ChatGPT,能记住我说过的话”。这个理解太粗了。拆成三个词来看,每个词后面都是一整个技术栈。
先说“本地”。这意味着模型推理、数据存储、向量检索、召回排序都必须在用户设备上完成。不是把 API 调用改个地址,也不是“数据传到自家服务器再返回”,而是真正端侧运行。现在桌面级电脑跑 7B 到 14B 的量化模型已经很顺畅,手机端跑 1B 到 4B 的小模型也能凑合。选本地而不是云,核心动机是隐私、离线可用、零边际成本。你不需要为用户每次对话支付推理费,这是产品能否长期维持毛利的关键。
再说“AI”。它不是单纯套壳,而是要让模型能基于用户的个性化数据做推理。这里的核心任务不是“模型有多大”,而是“模型怎么和用户的记忆数据配合”。常见做法是 RAG(检索增强生成),也就是用户提问时,先从记忆库里召回相关内容,拼进上下文,再交给模型生成回答。另一个方向是 agent,让模型主动调用工具,比如帮你翻出上个月某个项目的会议纪要,再结合当前邮件草拟回复。所以“AI”在这里真正考验的是模型调度、上下文组织、工具调用,而不是单纯刷榜单。
最后是“记忆”。记忆不是一个文件,而是一套持续更新的结构化数据。用户今天和 AI 说过什么,一周前收藏过哪篇文章,上个月创建的项目文件夹里有哪些关键结论,这些都应该按一定结构沉淀下来。更精细的说法是:短期记忆是当前会话的上下文,长期记忆是跨会话、跨应用的用户画像和事实库。记忆需要去重、更新、过期、遗忘,甚至要支持用户手动删除和导出。没有这套机制,所谓“记忆”就只是把聊天记录堆在数据库里,毫无智能可言。
1.2 为什么现在这个时间点适合做这事
两年前谈本地 AI 记忆,最尴尬的是模型跑不动。当时能在本地流畅运行的模型,智能程度压根撑不起“记忆”的价值。现在不一样了。
一是本地模型的能力已经跨过了及格线。Llama 3.1 8B、Qwen2.5 7B 这类中等规模的模型,经过量化后在消费级显卡或 Apple Silicon 上能跑得很快,回答质量足以胜任总结、信息抽取、闲聊式问答。加上各家都在卷长上下文、工具调用、结构化输出,本地模型不再是玩具。
二是隐私合规和用户意识的双重推动。欧盟的通用数据保护条例、国内的《个人信息保护法》都在收紧数据流动边界,很多企业级用户不敢把内部资料传上公有云。个人用户也经历了无数个“App 偷听”“聊天记录被分析”的新闻,对数据不出本地这件事开始愿意付费。你能明显感觉到,“本地优先”从一个技术偏好变成了一种产品卖点。
三是基础设施开始成熟。Ollama、llama.cpp、LM Studio 把模型部署的门槛降到了“一条命令跑起来”。向量数据库从分布式重仓转为嵌入式轻量方案,sqlite-vec、LanceDB、Chroma 都能装在用户目录里。模型压缩技术也在进步,量化、剪枝、蒸馏让端侧推理成本大幅下降。现在做一个本地 AI 记忆的 MVP,一个人真的可以在一个月内跑通。
2. 找技术合伙人之前,必须解决的产品判断
2.1 先回答四个问题:给谁用、存什么、怎么召回、怎么用
我见过太多“想找技术合伙人”的人,开场就是“我想做一个本地 AI 记忆,很酷,什么都记”,然后开始畅谈千亿市场。一说到给谁用,支支吾吾;一说到怎么定价,完全没概念。这种状态去找技术合伙人,大概率聊三十分钟就散了。因为在技术人眼里,“什么都记”是最危险的需求,它意味着没有考核指标,没有边界,永远做不完。
所以见人之前,先用纸回答四个问题。
第一个问题:给谁用。你的第一群用户是隐私敏感的个人知识工作者,还是律师、医生、研究人员这样的垂直人群?这两类人的痛点完全不同。知识工作者需要“第二大脑”,帮他们检索笔记和文档;垂直人群需要“专业记忆库”,甚至要记录案例历史,做合规审计。选一个,别做两个。
第二个问题:存什么。是存用户主动投喂的文档、对话、收藏,还是默认记录所有设备行为?主动投喂的产品容易解释,用户心智清晰;全量记录则需要大量的权限管理和隐私设计。我比较推荐从“主动投喂 + 用户可确认的自动记录”开始,比如用户选一个文件夹,AI 只记住这个文件夹和围绕它的对话。
第三个问题:怎么召回。全文关键词检索适合精确查找;向量相似度适合语义模糊的“我记得我写过一篇关于社区运营的文章”;时间线适合“上周二我和谁聊了什么”;实体图谱适合“这个人和哪个项目有关联”。你至少要选两个做主路径,因为单靠向量检索会出现大量相似结果,用户会疯。
第四个问题:怎么用。记忆只是后端,前端的产品形态是什么?是对话助手、自动标签插件,还是写作补全工具?如果用户每次找记忆都要打开一个单独的 App、输入一遍问题,那留存一定很差。真正好用的记忆功能是嵌入在工作流程里的:写邮件时自动带出相关背景,开会前自动生成历史纪要摘要。
这四个问题不是让你做出完美答案,而是逼你形成“最小闭环”的描述。哪怕第一版只做“本地文件夹知识问答 + 自动摘要记忆”,也是可验证的。带着这种粒度去找人,对方才会觉得你靠谱。
2.2 从 MVP 倒推需要什么技术栈
产品判断落到技术栈,其实没有想象中复杂。我按“最朴素但可落地”的方式给你一张清单。
- 本地推理:Ollama 或 llama.cpp。Ollama 适合快速验证,安装简单,支持 Llama、Qwen、Phi 等开源模型;llama.cpp 适合后面做性能优化和跨平台打包。模型建议选 7B/8B 级别的量化版本,量化等级可以用 Q4_K_M,兼顾质量与内存占用。
- 嵌入模型:用于把文本变成向量。可以用
nomic-embed-text、bge-m3这类本地可跑的嵌入模型。嵌入维度建议不超过 1024,否则向量库膨胀很快。 - 向量检索:初版先不要上 Milvus、Weaviate 这种重服务。直接嵌入式方案,比如 sqlite-vec、LanceDB、Chroma。我个人最推荐 sqlite-vec,因为它把一个完整记忆库塞进一个 SQLite 文件,备份、迁移、导出都极其方便。
- 记忆数据结构:用 JSON 或 SQLite 里的表承载。核心字段至少包含:记忆类型(对话记录/文档/实体/日程)、内容原文、向量、时间戳、来源、置信度。
- 调度层:如果你做桌面应用,可以用 Python 起一个本地服务,前端用 Tauri 或 Electron 调用。如果你做移动端,可以把核心逻辑写进 Rust 或 Kotlin,再共享给各端。
这套栈,一个熟手连续开发两周就能出一个粗糙但能用的版本。重点是“别一开始就做分布式、多设备同步、插件生态”,这些全是后期问题。
2.3 别让技术人背所有锅:产品定义是合伙的第一道题
很多非技术创始人有一个误区,觉得“产品逻辑我定,技术方案你搞定”是天经地义。真做起来,技术合伙人最怕的就是“老板说需求,我来想路径”的零参与模式。产品定义里大量细节是和技术实现纠缠在一起的。
比如“记忆可以编辑”听起来简单,但落到本地就变成:用户改一条记忆,要不要重新生成向量?相关的索引要不要更新?如果这条记忆已经被多段对话引用,要不要级联修改?这些设计决策,产品经理必须和技术合伙人在同一张桌子上讨论,而不是做完之后再“提需求”。
所以在谈合作之前,你要有至少一版“交互草稿”:用户能看到什么、能点哪里、记忆怎么展示、隐私开关放哪。不需要高保真,但要让技术合伙人看到你已经把模糊想法压成了具体功能。这不是把工作推给技术人,而是表示你不是来“找手”的,是来找“脑”的。
3. 理想技术合伙人画像:哪些能力不能打折
3.1 三条硬性条件:本地推理经验、向量检索能力、系统工程能力
找技术合伙人不能只看“技术牛不牛”,要看他过去有没有做过和“本地 + AI + 数据”相关的项目。三条硬性条件,缺一条都容易出问题。
第一,本地推理实战经验。这里的“实战”不是调过 API,而是真的在本地环境跑通过模型:处理过模型量化后的精度损失,知道哪些算子被 CPU 限制、怎么用 GPU 加速,踩过内存溢出的坑。如果对方只会用云端 API,他很可能低估本地推理的工程成本,一上来就选过大的模型,导致体验卡顿。
第二,向量检索能力。不是会调一个similarity_search接口就行,而是要懂文本切片策略、向量索引构建、混合检索的权重设计。你要考察他是否意识到“文档会被切得不伦不类”“检索结果必须靠重排才能用”这些工程细节。没有这种认知,做出来的记忆功能会显得非常“笨”。
第三,系统工程能力。本地 AI 记忆不是跑通一个 notebook,而是要稳定运行在用户设备上。涉及进程管理、崩溃恢复、日志、升级策略、多平台兼容。我见过太多 demo 跑得飞起、一打包就崩溃的项目。如果对方没有把产品“装进用户电脑”的经验,后续会非常痛苦。
3.2 加分项:懂隐私合规、有移动端/桌面端经验、有长期主义
硬性条件决定能不能干活,加分项决定能不能走远。
懂隐私合规的人非常值钱。本地 AI 记忆表面上数据不出设备,但一旦涉及备份、同步、崩溃日志,你仍然可能收集少量元数据。懂合规的人会提前设计“数据最小化”“用户删除权”“导出权”的工程链路,而不是等产品被质疑了再补救。如果你做的是面向企业用户的产品,这项能力几乎是必需品。
有移动端或桌面端经验也很重要。用户不会永远坐在电脑前,手机上的记忆入口可能才是高频场景。但要小心:跨端会把架构复杂度翻倍。如果你找的技术合伙人在移动端很熟,他会在第一版就帮你避开“做了一堆 PC 功能却无法迁移到手机”的尴尬。
最后是长期主义。做本地 AI 记忆不是一个三个月就有收入的赛道,前面可能要做大量基础设施打磨。对方要是奔着“半年后融资走人”的心态来,迟早会因为节奏分歧散伙。比较可靠的做法是看他过去的开源项目或独立产品,有没有维护超过一年的记录。
3.3 两种合作案例:一个互补型,一个失控型
说两个我实际接触过的案例,都是化名。
第一个案例,做笔记工具的产品经理小林,找了一个做端侧推理的工程师阿泽。小林的思路非常清晰:第一版只做“法律条文知识库问答”,用户导入案件材料,AI 在本体上生成摘要、建立时间线、回答调查问题。阿泽不是最顶尖的大模型专家,但他在电话端做过离线语音识别,对端侧资源占用、模型量化、低功耗调度有丰富经验。两人合作后,把记忆功能收敛成“案件档案 + 时间线 + 问答记录”三个模块,三个月上线,签约了几家小型律师事务所。互补点在于:小林懂业务流程,阿泽懂端侧限制,两人从第一天就在一张表上更新“用户问题——功能——技术依赖”的映射,没有互相甩锅。
第二个案例,一个想做“万能个人助理”的产品创始人,技术合伙人是从大厂出来的算法工程师。算法能力很强,但一直想上大模型、要训练私有模型。两人聊需求时,产品创始人口头全同意,实际迭代时分歧越来越大。工程师花了大量时间在调参和搭建训练流程,产品侧希望尽快上线一个简单的“导入微信聊天记录,自动生成回忆摘要”功能。半年后项目停摆,技术合伙人走了,产品还没上线。失控的根源不是技术差,而是产品预期和技术路线的错位:一个想快速验证,一个想一步到位。这种错位在找合伙人阶段完全可以通过“先聊最小版本”来避免。
这两个案例放在这里,就是为了提醒你:画像再清晰,也要在具体场景里验证到底是不是同路人。
4. 去哪里找人,以及怎么聊才能不散伙
4.1 靠谱渠道:开源社区、技术社群、老同事、猎头
找技术合伙人的渠道很多,但靠谱程度差异极大。
开源社区是我的首选推荐。做过本地 AI 相关开源项目的作者,大概率对技术有热情,也经历过完整的发布、维护、迭代周期。你可以在 GitHub 上找那些 Star 不高但持续更新的项目,看看作者有没有在 README 里写清设计思路,Issue 区有没有认真回复。这种人多半有“把产品做成”的信仰,而不是纯粹追热点。
技术社群也要去,但要少听宣讲、多看作业。比如各种线下 Hugging Face 分享会、本地模型 meetup,你能现场看到谁真的在演示自己的项目,谁只是在社交媒体上转发。会后可以单独聊,问对方“你最近在跑什么模型?有什么坑?”一个问题就能筛选出很多水货。
老同事和同行介绍是最稳的路径,因为天然有信任背书。但要注意:别因为熟人关系跳过“试婚”环节。熟人翻脸的案例太多了,甚至比陌生人还快。
猎头可以接触,但要明确告诉他你要的是“技术合伙人”而不是“技术员工”。很多猎头习惯于推简历、看薪资,合伙人的关键问题是“是否能一起承担风险”。这个信息猎头往往评估不了,你需要自己在面试流程里判断。
4.2 怎么聊:用一份技术方案做“试探”
见面第一轮,不要聊股权,不要聊愿景,先聊技术方案。
你可以自己先写一份“技术雷达”,不用太深,但要把自己了解到的关键词放进去:本地模型用哪家、量化等级怎么选、嵌入模型维度、向量库选型、召回策略、记忆数据结构、隐私方案、打包发布方案。这份文件不是用来炫耀,而是用来抛砖引玉。你可以在见面时说:“我研究了一版方案,但很多地方不确定,想听听你的判断。”
这样一来,对方会怎么做,就是最好的筛选器。真懂的人会直接指出你的错误,比如“7B 模型根本撑不住长文总结,你得换 14B 或者用滑动窗口”“这个记忆结构少了来源字段,以后做审计会死”。不懂的人在三种表现:一是顺着你夸,说“没问题,很简单”;二是绕开细节,讲一堆元宇宙、AGI 的宏大叙事;三是一直否定却拿不出替代方案。这三种都不是技术合伙人,最多是技术顾问或评论员。
技术方案聊完之后,再进入产品方案。你把你事先画的交互草稿拿出来,一起讨论哪里该自动记录、哪里该让用户确认、遗忘逻辑怎么设计。如果这次聊天能持续超过一小时,双方都在不断产出新想法,那这个人基本可以进入下一步。
4.3 股权与分工:先谈崩也要先谈
很多人怕谈股权,觉得“利益放台面上很伤感情”。真到了项目做起来再说,基本就晚了。
技术合伙人最怕的不是拿少,而是权利义务不清。一个常见比例是产品创始人 60%,技术合伙人 40%,然后预留 10% 到 20% 的期权池,具体按估值和出资情况调整。但比例不是最关键的,最关键的是要写清楚四个东西:股权是否分批成熟、知识产权归属、退出机制、保密与竞业限制。
分批成熟很关键。比如股权按 4 年兑现,第一年结束前离开只能拿走 25%。这不是不信任,而是保护双方。有人会说“我们是朋友,不用这么正式”,这种话我建议你直接拒绝。真正想长期合伙的人,不会拒绝白纸黑字。你甚至可以主动把条款做得很公平,比如创始人自己也同样分批成熟,这样大家感受一致。
分工也要写在协议里。谁是负责人,哪些决策需要双方同意,哪些各自主导。我的建议是:“产品方向和用户研究”由你主导,但技术合伙人有否决权;“架构选型和代码质量”由他主导,但你有知情权。模糊地带宁可多写,也不要以后猜。
4.4 小成本“试婚”:先做一个限定场景的原型
协议签好之后,先别急着租办公室、招团队。把合作成本压到最低,用一个小原型验证默契度。
具体做法:找一个场景,比如“把用户的一个文件夹变成可问答的个人记忆库”,给两个人两周时间。你负责用户流程和交互,技术合伙人负责本地推理与检索链路。结束时公开演示,记录三个指标:效果能不能看、代码能不能维护、你俩在决策上是否有不可调和的矛盾。
试婚阶段要注意观察三件事。第一,当演示出 bug 时,对方是立刻修复还是先甩锅。第二,意见不一致时,你们最终是按逻辑说服,还是靠情绪压人。第三,他是否主动考虑后续的事情,比如升级、兼容、用户反馈。如果两周后你俩不但不累,反而列了一张长长的迭代清单,那就可以继续投入了。
5. 本地 AI 记忆项目的技术落地路线
5.1 第一版架构怎么搭:模型层、记忆层、应用层
不管未来做到多复杂,第一版架构我建议就三层。模型层、记忆层、应用层,层与层之间用简单接口连接,别一开始就微服务。
模型层负责两件事:生成和嵌入。生成模型用 Ollama 管理,嵌入模型可以用同一个 runtime 加载。模型层的核心输出是“结构化 JSON”,不是纯文本。比如让模型把用户输入的对话整理成{summary, entities, action_items, timestamp},这一步能大幅降低后续记忆层的解析压力。
记忆层负责存储和检索。底下是 SQLite,表不一定要多,但要有几张核心表:documents存原文和元数据,chunks存切片和向量,entities存人名、项目名等实体,memory_events存交互日志。嵌入向量可以单独放在另一张表,或者直接由 sqlite-vec 插件管理。检索时先做关键词过滤,再做向量相似度,最后用一个小型重排把结果按时间、相关度、来源类型排序。
应用层就是用户界面和业务逻辑。用户对话进来,先触发检索,把结果填充进提示词,再交给模型生成最终回答。应用层不要写任何 AI 逻辑,只做数据流调度。这样后续把桌面版换成移动版,核心代码可以原封不动带走。
这一段架构看着朴素,但它刻意留了扩展位。比如以后要加“自动遗忘”,只需要在记忆层加一个定时任务;以后要加“多设备同步”,只需要把记忆层的数据文件做成可同步格式。架构不怕简单,怕耦合。耦合到一起的时候,你就明白什么叫“早该拆开了”。
5.2 关键组件选型:本地模型、向量库、文本切片
选型这块,我不推荐你照搬任何人的清单,因为硬件和目标用户差异很大。但我可以给出一个经过验证的起点。
本地模型先看用户的机器。如果你的目标用户是 Mac 用户,Apple Silicon + 统一内存的机器跑 7B 量化很舒服,内存 16GB 起步可以考虑 14B。如果面向 Windows 老电脑,老老实实上 1.5B 到 4B,别追求聪明,追求流畅。模型家族上,通用对话选 Llama 3.1 或 Qwen2.5,嵌入式推理选 Phi-3 系列,对中文要求高优先 Qwen。
向量库上,第一版用 sqlite-vec 是最省事的。原因很简单:它随 SQLite 走,用户只有一个数据文件,备份和导出唾手可得。等检索量真的涨到几十万条,再迁移到 LanceDB。Chroma 是个数据库,自带管理和持久化,适合不想写太多代码的团队;但它的依赖比 sqlite-vec 重,初期不要用。
文本切片是很多团队翻车的重灾区。不同文档格式,切片策略完全不同。Markdown 按标题和段落切;PDF 按页切,但要注意表格和页眉页脚;对话记录按轮切,每轮包含 speaker 和时间戳。切片重叠控制在 10% 到 20%,重叠太低容易割裂完整语义,太高则浪费存储。嵌入之前先清洗:去掉无意义的导航文本、签名档、重复段落。没有清洁的切片,再好的检索算法也白搭。
5.3 记忆的数据结构:对话记录、实体、时间线,还是图谱?
这里有一个常见的野心陷阱:一上来就做知识图谱,觉得那样更智能。我的建议是第一版不要做完整图谱,但可以做一个“轻量实体关联表”。
记忆的数据结构可以分成四层。底层是records,存原始内容,比如一段对话、一篇笔记、一封邮件。第二层是chunks,把 records 切片成适合检索和嵌入的单元。第三层是facts,从 chunks 中抽出的可验证事实,比如“张三负责 A 项目的预算”“2025 年 3 月的营收数据在季度汇报里”。第四层才是relations,用来表达 facts 之间的关联,比如“A 项目”和“预算”之间的关系。
关系不需要提前定义死,可以是从事实里自动抽出的“弱关系”,比如两个 facts 里出现了同一实体、同一时间标签,就可以自动建边。这样既不陷入复杂图谱的维护成本,又能让记忆库具备“联想”能力。
举个实际例子:用户昨天上传了一份合同,今天问“我们和 B 公司签的合同里,付款条款是什么?”如果记忆库只存原文,检索系统需要靠向量找合同文本;有了 facts 表,系统能直接定位到“签约主体:B 公司”“付款条款:30% 预付”这样的结构,再回原文确认细节。这个过程就是“记忆”从字符串变成了知识。
5.4 一个“30天可跑通”的 MVP 路线图
最后给你一个可复制的 30 天路线图,用来和潜在技术合伙人对齐预期。
第 1 到 5 天,搭环境:装 Ollama,跑通 Llama 3.1 8B 和嵌入模型;建立 SQLite 数据库和表结构;写一个最简单的脚本,能把一个 Markdown 文件切块并存入向量表。这个阶段的目标不是功能,而是把整个链路跑通,哪怕用命令行。
第 6 到 10 天,做“问答”:用户输入一个问题,先走关键词检索,再走向量检索,把 Top 5 内容拼进提示词,让模型回答。不写界面,直接用终端模拟。重点调试召回质量:为什么有时候旧的错误内容排在前面,为什么某一段内容永远召不回。
第 11 到 15 天,做“记忆写入”:让模型在每轮对话结束后生成一段结构化摘要,写入 facts 表。这里面最麻烦的是提示词设计,要让模型输出稳定的 JSON,且不重复记录。你可以给模型一个例子,让它按新增事实和更新事实两类输出。
第 16 到 20 天,做“界面”:用 Tauri 或最简单的 Web 页面,把终端里的问答搬进来。允许用户上传一个文件夹,并看到自己的记忆列表。用户能对单条记忆进行编辑和删除,这一步是隐私感的来源。
第 21 到 25 天,做“记忆回填”:用户再次提问时,把历史和当前问题拼在一起。比如用户问“关于上次那个项目,我们还有哪些事没做?”系统要能召回上次讨论的行动项,并整理成待办风格的回答。
第 26 到 30 天,做“打包与测试”:把整个应用打包成安装包,在一台没有 Python 环境的电脑上测试安装运行。修复模型路径、依赖缺失、首次启动慢、崩溃等问题。这一步如果没做,你前面所有工作都只是 demo。
这套路线最大的价值是:让所有人都知道前 30 天只做一件事,就是证明“记忆能带来体验提升”,而不是证明“我有多会架构”。
6. 这些坑我替你踩过了
6.1 性能陷阱:把“本地”做成“迟钝”
本地 AI 记忆最致命的体验问题是“慢”。用户问一句话,要等模型推理 2 到 3 秒才出字,再好的功能也会被骂。
性能问题通常出现在四个环节。第一,模型太大没有量化,直接在 CPU 上跑;第二,每次提问都重新加载模型,没有做常驻内存;第三,嵌入模型和生成模型串行调用,浪费等待时间;第四,召回时对所有向量做全量暴力搜索,数据量稍大就卡死。
我的建议:模型层用独立进程保持常驻,不要每条请求都启停;嵌入和检索可以先用最近时间窗口缩小范围;向量索引建好 HNSW,并设置合理的候选数。还有一个容易被忽视的点:提示词不要贪心。本地模型的上下文窗口是有限的,你塞入太多历史会让生成变慢。宁可做“分档召回”,每次只给模型最相关的内容。
6.2 记忆污染:什么该记什么不该记
很多团队做完 MVP 之后会发现,模型越来越蠢。明明记得很丰富,回答却总是错。原因是记忆被污染了。
“污染”有两个来源。第一个是错误写入:用户随口一句“今天天气真差”,被模型理解成事实存进 facts 表。第二个是过时信息:三个月前的日程、项目状态已经被推翻,但记忆库里还留着旧版本,每次问答都把它当权威引用。
解决思路是给记忆加“可信度”和“时间戳”。对话型记忆默认可信度低,用户主动保存的文档可信度高。每次回答问题,优先引用高可信度来源;出现时间冲突时,让模型比较新旧事实并给出更新时间。还要设计“遗忘策略”,比如超过 180 天未触达的记忆降权,或者让用户一键清理“闲聊类记忆”。没有遗忘的记忆系统,很快会变成一锅粥。
6.3 同步与迁移:用户换设备怎么办
本地记忆最理想的状态是永远不出设备,但用户现实中会有两台电脑、一台手机。不能同步,产品体验会断裂。
我的建议是别做中心服务器,而是做“用户自选的同步通道”。最基本的是把记忆库打包成一个文件,支持用户手动导出和导入,后续可以对接 iCloud Drive、Dropbox 或 WebDAV。更好一点的做法是端到端加密,同步时只传加密文件,密钥留在用户本地。这样可以避免“本地记忆项目却偷偷上传数据”的信任危机。
但要注意多设备的冲突处理。两台设备同时写入时,怎么合并?我的简化方案是:按“记忆最近修改时间”覆盖,不做字段级 merge。虽然粗暴,但对 MVP 足够。等用户量起来再考虑 CRDT 或操作日志。这一步如果一开始就追求完美,大概率又卡在同步方案上出不了活。
6.4 一句话收尾:先跑通一个场景,再谈宏大叙事
如果你看完上面这些,还是决定要找技术合伙人做本地 AI 记忆,那我最后给你一个行动建议:先别急着发招聘帖,先把你脑子里的模糊想法压缩成“一个场景、一个入口、一个指标”。比如“帮 Mac 用户把 Obsidian 笔记库变成一个可以对话的个人记忆库,用户每周至少主动问三次”。用这个具体描述去找人,你筛选到对的人的概率会翻倍。
我个人在实际操作中的体会是:所谓“找技术合伙人”,看起来是找技术,本质上是找一个愿意和你一起把模糊变成清晰的人。技术可以通过学习补齐,但信任、边界感和解决冲突的方式,必须提前验证。本地 AI 记忆这个方向值得做,但值得做不等于立刻能做。你如果能接受“先小后大、先慢后快”的节奏,这个事大概率能走很远。