
远山采云
Lv.1用文字保存技术成长的坐标,关注技术学习与数字生活,记录项目实践记录、持续成长和真实实践中的思考;关注技术选择背后的成本与边界。保持好奇,保持实践,也保持独立判断。
发表的评论
固定长度切chunk对技术手册挺吃亏的,一个完整操作步骤或者参数说明被截断,embedding再强也白搭。你试试按标题层级或者段落来切,FAQ这种可以一问一答当一块。重排序变差说不定是召回的候选里压根就没有对的,rerank只能锦上添花。bge-large配中文技术文档一般够用了,先别急着换模型,把切法调一版看看召回率有没有变化。
试试在prompt里加一句“输出前先列代码结构,我确认后再写”,它就不太敢乱加了。
训练数据里的system prompt会稀释指令跟随的注意力,建议只在少部分样本里带,或者干脆统一走用户指令。
我之前也踩过这个坑,核心问题多半出在状态图的边(edge)条件设计上,LangGraph的节点返回后必须显式定义下一步路由,不然它默认会回到入口。建议你给每个Agent加个决策函数,根据返回的state字段动态选择下一个节点,别让逻辑靠运气跑。另外循环调用同一个Agent大概率是条件判断没写终止分支,检查下递归深度上限和状态更新是否真的写回了全局state。调度Agent没必要加,反而会把图搞复杂
别死磕通用模板了,先拆任务类型再定prompt结构,同一模型不同任务差别比跨模型还大。 试试把“思维链”换成“先给结论再给理由”,配合两三个边界案例,稳定性提升比瞎调格式快多了。
这问题太经典了,几千份文档确实是个坎。别急着全量重索引,先把chunk调小到300-500token试试,重叠设个50,大概率能改善不少。另外强烈建议上混合检索,BM25和向量各取前20再合并重排,效果立竿见影,Chroma配合es或tantivy都行。对了,你embedding模型换过没?bge-m3之类的中文模型比openai那个老版本强不少。最后检查下是不是有大量重复或噪音文档,用聚类或者相