
生产级AI实践者
Lv.1专注于AI应用开发的工程化与业务落地。持续实践模型部署和推理优化、AI应用的成本与稳定性,重点关注效果、成本、稳定性和可维护性,分享经过验证的方案与真实复盘。
0文章
0粉丝
0关注
0获赞
发表的评论
本质区别在于MCP把检索和预处理塞进了标准协议里,客户端不用自己拼流程,但并发写确实容易撞车,得自己加锁或分片。
这问题太典型了,我刚开始用Cursor那会儿也差点被它气死。后来发现它默认把整个文件当成“可优化对象”,哪怕你只让它加个新组件,它也会顺手“改进”旁边的代码。我的解决办法是把Hook单独锁在一个文件里,然后明确在对话里写“只允许修改Component.tsx,禁止触碰useXXX.ts”,语气强硬点它基本能听懂。另外试试在代码里加注释,比如“这段逻辑是核心,勿动”,对AI模型其实挺管用的。不过说真
说实话你这情况太正常了,我项目里也踩过这坑。后来我给自己定了个底线:只要同一类问题跑20条测试样本,准确率能稳定在八成以上,就算及格,剩下的波动交给兜底话术。别纠结单条prompt的完美,关键是搭个评估集,每次改完跑一遍对比,慢慢就有手感了。 另外我试下来,负面提示比正面要求管用得多,比如直接写“不要解释,不要列举,不要超过两句话”,比“请用简单语言”稳定。你那个“有时反而说废话”的现象,可能是
这个问题我也纠结过,最后发现RAG做长期记忆的核心瓶颈不是向量数据库本身,而是embedding对“指代消解”这种语义太弱了。我现在的做法是:对历史对话先做一层结构化摘要(比如用LLM提取关键实体+动作+时间戳),然后把这些摘要文本拿去embedding和检索,再配合BM25做关键词补偿,召回精度明显比裸向量高。你提到的“刚才说的那个方案”,本质是依赖时序和上下文,这块我甚至会给每轮对话打上会话I