
周末职场案例库
Lv.1主要整理技术职场相关的学习笔记与工程经验,内容覆盖开源工具使用、项目复盘。喜欢从问题、方案到复盘形成完整闭环,希望把复杂问题讲清楚、把实践步骤写完整。
发表的评论
先查MCP的timeout设了多少,默认值太小的话调大试试,我之前也卡在这。
我试过Qwen和Llama做同样的抽取任务,Llama确实更“自由发挥”,感觉跟它的指令微调数据偏向英文有关,中文few-shot反而容易让它犯迷糊。后来我把分隔符从###换成XML标签那种闭合结构,Llama的字段漏出明显少了,你可以试试。示例数量上我个人感觉Qwen给3个就够,Llama给5个以上才稳,但太多又会过拟合到示例内容。中英文混用这事我也踩过坑,指令用英文写、示例用中文,反而比全中文
学习率5e-4对LoRA来说太高了,降到1e-4或2e-4试试,rank=8也偏小。
我也踩过这个坑,感觉问题不全在prompt模板,而是检索片段本身太“平”了。top3直接拼一起,模型确实容易只看开头或者挑最像问题的那个片段编。我后来改成每个片段前面加一行来源和一句话摘要,比如“[来源1,产品手册]:关于退款时限的规定是……”,模型明显更愿意引用后面的内容。另外你那个“没有答案就说不知道”有时候太硬了,模型会过度保守,可以换成“优先依据文档回答,文档信息不足时再说明缺口”,它就不
我上周也踩了一模一样的坑,日志里unexpected EOF大概率是server进程根本没起来。Node v18不够,MCP的filesystem server要求20以上,你先把nvm切到20再试。另外那个config里的command路径一定要写绝对路径,别用npx,它有时候拉包失败就静默挂了。实在不行就手动在终端跑一下server命令,看能不能正常输出,能跑通再往Claude里塞。
我之前也拿4070跑Qwen2.5-Coder改老项目,跟你情况差不多,聊几轮就开始编方法名。后来我的土办法是把要改的类和相关接口手动贴进对话里,每次只聚焦一两个文件,别让它一次管整个工程,虽然笨但挺管用。RAG我也试过,用llama-index搭本地向量库其实没那么吓人,就是索引老代码有点费时间。你要是不想折腾,就等下一波长上下文模型吧,现在硬切对话真的容易翻车。
我折腾RAG也有小半年了,踩过的坑跟你差不多。其实分块大小真没有万能公式,得看你文档的语义密度,比如技术文档一段话往往自洽,512甚至768都行,但聊天记录一句话可能就是一层意思,256都嫌大。我现在的做法是先按段落或标题切,再根据embedding模型的上下文窗口做上限兜底,超了就递归切分。重叠的话我一般给10%到15%,比如512的块给64到80的overlap,太小了跨块指代会丢,太大了检索
代码RAG里纯文本embedding确实容易翻车,函数名和注释太像了,模型分不清哪个是真正实现登录逻辑的。可以试试在chunk里拼上文件路径和函数签名一起embedding,或者按调用关系做点过滤再召回。cross-encoder对代码效果本来就一般,它看的是自然语言相似度,不是语义依赖,排错很正常。
先加个bge-reranker试试,召回不准很多时候是粗排背锅,精排能救回来不少。
我们也是响应慢了快一半,token账单看着肉疼,边缘case确实得盯紧点。
说实话你这个情况我太熟了,vLLM本地跑7B量化,输出飘忽大概率不是Prompt写法的问题,而是量化精度和采样参数在互相打架。我建议你先试试把temperature直接干到0.1以下甚至0,然后关掉top_p(设成1.0),让模型走纯贪心解码,先看最基础的确定性有没有改善。如果还是飘,那多半是4bit量化对某些token分布扰动太大,可以换GPTQ或AWQ重新量化一遍,别用那种省显存的动态量化。另
我自己的经验是别一口气全塞给它,先让它把组件结构搭出来,你确认了骨架再让它补逻辑,这样出错率低很多。另外prompt里最好直接写死状态怎么处理,比如“空数据时显示xx文案,加载中显示spinner”,不然它默认就给你省了。你还可以试试让它先列一个实现清单再写代码,相当于让它自己先规划一遍,出来的东西靠谱不少。
试试把混合检索加上,纯向量召回对术语和命令格式太容易跑偏了,关键词权重得调高。 我之前也踩过这坑,最后加了一层rerank模型按query相关性重排,效果提升比换embedding明显。
长上下文确实容易让模型“分心”,我试过用分块+摘要的方式喂进去,效果比全塞要好不少。
few-shot必须上,把表结构和字段映射写成固定模板,让它照着填别自由发挥。
做仓储场景的同感太深了,展台上光鲜的demo和产线里跑起来的差距,往往就在那些没人提的脏活累活上。50ms延迟在我们这儿连安全门都过不了,更别说碎货赔偿了。我倒觉得通用性短期就是个伪命题,不如先把每个细分场景的专用性打磨到极致,再谈迁移学习,不然就是给投资人画饼。你们后来有没有试过把感知和力控做协同优化,还是直接换了方案?
显存吃满但吞吐上不去,大概率是prefill和decode阶段资源没解耦,A100上7B模型其实用不到80G,可以试试把gpu_memory_utilization降到0.6以下,给KV cache留点余量,同时把max_num_seqs调小到16左右看看。另外QPS卡住没报错,可能卡在continuous batching的调度上,你查下vllm的日志里有没有“Waiting for avail
说实话我后来觉得prompt工程更像是个调参过程,得先把任务拆清楚再决定用啥技巧。比如知识问答这种,与其堆角色设定,不如直接告诉模型“如果不知道就说不知道,别编”,再给个高质量的一正一反例子,比啥都管用。思维链确实不是万能的,它适合需要推理的多步问题,简单事实检索反而容易带偏。另外建议你固定一个模型做基线,把prompt版本和输出结果都记下来,跑个几十条样本再对比,至少比纯瞎试有方向感。
这事儿太真实了,我身边好几个同事也这样,尤其刚上手那几个月,效率是上去了,但脑子空得飞快。我自己的感受是,AI写代码就像给你配了个全自动挡,开久了真会把手动挡的本能忘掉,哪怕你知道原理,手指也生疏了。后来我给自己定了个规矩:凡是AI生成的代码,不管跑不跑得通,必须自己逐行讲一遍逻辑,讲不顺的地方就标记下来,周末单独补课。另外,报错日志我坚持先自己看五分钟,哪怕最后还是要问AI,这五分钟的思考是留给
状态共享试试Redis或NATS,显存问题用单Pod多进程隔离会好很多。调度上别硬刚LangChain,上Temporal或Prefect更稳。