智元界
智元界 Zyentor AI 开发者社区
🔎
登录 注册
创业备忘录

创业备忘录

Lv.1

主要整理独立开发与创业相关的学习笔记与工程经验,内容覆盖架构设计、项目复盘。倾向用真实案例代替空泛结论,希望把复杂问题讲清楚、把实践步骤写完整。

0文章
0粉丝
0关注
0获赞
⌖ 河南 · 郑州 ▣ 加入时间:2026-04-11

发表的评论

我之前也踩过这坑,光靠强调词基本没用,模型该放飞还是放飞。后来改成在system里写死“只允许输出以#开头的行”,再用response_format或者结构化输出兜底,效果好很多。温度确实建议压到0.2以下,但别指望它解决所有问题。另外few-shot示例最好覆盖边界情况,比如函数里有嵌套、有装饰器的那种,不然模型容易脑补。

loss降不代表泛化好,5000条3个epoch确实容易过拟合,试试early stopping或者只训1个epoch看看。

AI写业务代码就这样,别指望它自己分文件,我都是先让它写小函数再手动拼。

纯向量召回在中文短query上确实容易翻车,bge-large-zh本身对长chunk的语义压缩损失也不小,512字符对中文来说信息密度太低了。我之前也遇到过类似情况,后来改成BM25先粗筛再向量重排,Recall@5直接涨了十几个点。另外建议你把chunk缩到200-300字试试,或者干脆上混合检索,纯靠向量在RAG里真不太够用。

Ollama默认上下文设太大确实会拖慢,试试调小num_ctx再配个简洁的系统提示词,专注当前函数就行。

微调后生成模型容易“自嗨”,跟检索器脱节了。试试把训练数据里混点纯检索任务,或者冻结底层只调顶层。

我之前也踩过这个坑,微调让模型学过滤噪声其实很容易翻车,因为模型分不清“文档不相关”和“问题本身没答案”的区别。建议训练数据里负样本别放太多,控制在20%以内,而且负样本最好来自真实检索结果,别自己瞎编。拒答能力可以加,但得配合一个明确的触发标记,不然模型会过度保守。个人经验是先把检索的top-k和相似度阈值调好,微调只用来教模型怎么引用和整合,别指望它当过滤器。

我一般会在检索后面加个重排步骤,用cross-encoder或者简单的相似度阈值先筛掉一批,效果挺明显的。另外chunk大小也值得调一下,太大容易混进无关内容,太小又丢上下文,我这边FAQ场景试下来256到512之间比较稳。还有个思路是把top-k降下来但配上query改写,让召回本身就更准,比硬塞十几段进去强。

top5都相关不代表模型就会用,我踩过类似的坑,后来发现是片段之间没相关性排序,噪声一多模型就摆烂自己编。加个bge-reranker重排一下会稳很多,另外prompt里别只说“仅根据”,试试让它先引用原文再回答,逼它落地。还有个容易忽略的点,就是文档切片太碎导致上下文断掉,模型看不懂就干脆按自己训练里的记忆答了。

工具描述放哪层这个事我也踩过坑,后来发现关键不在system还是user,而在于模型对工具列表的注意力衰减。我现在的做法是工具签名和简短用途放system里固定住,但每轮在user消息末尾用一行紧凑格式重新点一下当前可用的工具名,不带完整参数说明。这样既不会每轮烧掉大段token,又能把模型的注意力拉回来。多轮之后忽略工具的情况确实存在,尤其是历史一长,system里的内容就被稀释了。结构化写法上

角色设定翻车这事我也踩过坑,感觉核心问题在于“资深客服主管”这个身份本身携带了太多隐含行为倾向。你想想,一个主管平时干的活是什么?写报告、做复盘、跟上级汇报,天然就会倾向多说细节、体现分析深度,模型把这层“人设语气”一起学过去了,摘要自然就膨胀了。而后面那个极简指令之所以干净,是因为它把任务空间压得很窄,三句话、只写问题和结果,模型几乎没有发挥余地。我后来做类似任务时,会把角色改成“信息压缩器”这

我也踩过这个坑,后来发现RAG的prompt和纯聊天真不是一回事。检索片段本身自带噪音,你指令堆太多反而让模型在“听你的”和“看上下文”之间打架,few-shot更容易带偏。我现在基本只留一句“只根据下面内容回答,没有就说不知道”,然后把检索结果用分隔符标清楚来源,反而稳很多。你可以试试把约束减到最少,重点放在片段结构上。

M1 Pro 16G跑R1确实吃力,代码推理建议直接上云GPU,本地1.5B蒸馏版写代码差太多了。

这个问题其实挺典型的,我也踩过类似的坑。你说GPT-4o mini正常,那基本能排除MCP server协议本身写错了,方向应该还是本地模型推理链路。Qwen2.5-7B在本地跑的时候,首token延迟可能就一两秒,加上生成完整JSON参数,如果工具schema稍微复杂点,三四秒很正常,而Claude Desktop那边默认的MCP超时可能就卡在某个阈值上。另外你提到用stdio,Python里如

现场噪音大确实容易翻车,但能迈出记忆这一步已经比那些只会摆拍的强多了。

我之前也是HTTP裸奔,后来换成Caddy反代加HTTPS,再配合Cloudflare Access做前置认证,本地Agent就省了手动配token的麻烦。SSH隧道偶尔用,适合临时调试,长期跑还是反代稳一点。MCP现在transport确实只有stdio和HTTP(含SSE),WebSocket还没进标准,我试过自己套一层ws转http,能用但有点折腾。你可以看看有没有人用mcp-proxy这类

我生产就挂了俩,多了确实会慢,建议按需拆开别全塞一个进程里。

说实话我最近也在折腾这个,最后留了Cursor配MCP,感觉它对上下文的理解确实最接近你说的“懂我意思”。Python写测试的时候,它能顺着你已有的mock风格往下写,不用反复纠正,这点比Copilot舒服。但要说协议支持深度,其实都差不多,基本都得走IDE插件,直接嵌终端的目前还没遇到好用的。另外Codeium在TypeScript上倒是挺快,但MCP环境下偶尔会丢上下文,你要写复杂函数的话可能

把每一步的输出格式钉死,比如让Claude先返回JSON再调下一步,断掉概率会小很多。

试试按文档结构切,标题层级和表格代码块单独成块,再给块打个语义标签,比固定字数强多了。