![]()
你用过那种金鱼记忆的AI编程助手吗?同一个bug修完又修,它每次都像第一次见你。
开发者Chris发现这个问题时,已经浪费了太多时间。他写了一个叫CodeMentor的工具,核心逻辑简单到离谱:让AI记住你搞砸过什么。
无状态AI的隐形税
每次打开ChatGPT或Claude写代码,对话都是一张白纸。你上周被Rust的借用检查器折磨三小时,今天它照样给你推Rust题。
Chris管这叫「stateless tax(无状态税)」。表面看是便利,实际是重复踩坑的隐形成本。他统计过自己的情况:同一类异步错误在三个月内重现了11次,AI助手每次都给出标准答案,从没问过「这题你是不是熟」。
问题在于反馈闭环断裂。人类程序员靠疼痛记忆成长——被坑过才记得住。AI却像那个永远微笑的客服,「很高兴再次为您服务」,尽管你们根本没见过。
给AI装一个「错题本」
CodeMentor的解法粗暴直接。每次分析代码前,先查档案:
const mems = await hs.recall(bankId, "coding mistakes");
把历史错误喂给模型,反馈立刻变味了。不是「这里应该用async/await」,而是「你上个月在同类型问题上栽过,这次注意Promise.all的返回值」。
Chris用了一个贴切类比:stateless AI是问答机,stateful AI才是教练。前者解决当下,后者积累复利。
更细的操作是主动归档。每次debug结束,系统执行:
await hs.retain(bankId, `Repeated issue: ${mistakes}`);
错误不被丢弃,而是进入个人知识库。三个月后,当Chris又点开一个Python项目时,CodeMentor默默把难度调低了一档——它记得他被Python的类型提示搞崩过47次。
从工具到训练场的跳转
这个功能改写了AI辅助编程的默认假设。行业现状是把AI当搜索引擎用:有问题,问一句,抄答案,关窗口。Chris认为这浪费了AI的真正潜力——它应该认识你,然后有针对性地推你出舒适区。
技术实现依赖一个记忆层(memory layer)。不是简单的对话历史,而是结构化的失败图谱:错误类型、发生频率、修复时长、关联知识点。模型推理时把这些作为隐式上下文,输出自然带上了「因材施教」的味道。
有用户反馈说,用了一个月后发现AI开始「阴阳怪气」——「又是闭包问题?这是你第四次了」。Chris把这当成 compliment( compliment)。说明记忆生效了。
谁需要被记住?
CodeMentor目前聚焦个人开发者,但逻辑可以延伸。团队场景里,新成员的历史错误能成为 onboarding 素材;教育场景里,学生的错题轨迹比任何测试都准。
Chris在文档里埋了一句挑衅:「Templates let you quickly answer FAQs or store snippets for re-use」。表面说模板功能,实际在对比——市面上AI工具都在优化「快速回答」,却没人优化「记住你问过什么」。
这触及一个尴尬现实:大模型公司追求通用性,个人化体验是盲区。你的数据训练了它们,但它们并不「认识」你。CodeMentor把记忆权交还用户,算是一种技术民主化。
当然,代价是隐私。你的失败记录存在哪?谁有权访问?Chris的解决方案是本地化存储,bankId指向用户自持的数据库。不是最方便的,但是最诚实的。
项目开源后,有个issue问得直接:「如果AI记得我所有蠢事,会不会反而限制我尝试新技术?」Chris没回复,但代码里留了一个开关——记忆权重可调,从「完全遗忘」到「刻骨铭心」。
你会把自己调到哪一档?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.