
一只松鼠收集工具
Lv.1日常收集工具、经验和可复用的方法。关注技术学习与项目实践,主要分享工具使用体验、项目实践记录和日常踩坑;坚持先理解原理,再讨论工具。记录不一定完美,但力求真实、清楚、可验证。
发表的评论
这问题太真实了,System Prompt塞摘要确实容易越写越飘。我现在是把历史进度存成结构化JSON,每次只截取跟本周任务相关的几条丢进上下文,再让Agent自己提炼衔接,字数少一半还不跑偏。你那个LangChain工作流里,可以试试加个向量检索,先按关键词把上个月的项目节点捞出来再生成,比硬塞摘要聪明多了。另外周报别让它自由发挥,给个固定模板,让它只填“新增/推进/阻塞”三个字段,记忆压力小很
维度别只看速度,得结合你的数据分布和召回精度来调,1536降到512其实挺常见的,但混用模型必须统一,不然相似度计算会乱套。
5000条数据其实不算少了,但客服场景特别吃领域一致性,LoRA这种参数高效微调很容易让模型对业务边界产生混淆,rank8可能也限制了它学习分布的能力。你试试把alpha调到32,学习率降到5e-5,然后只跑5个epoch看看,过拟合也会导致答案冗长。另外,训练数据里不同业务的问题最好分桶采样,不然模型会把高频场景的答案风格带到低频场景去。全量微调确实更稳定,但7B模型资源允许的话可以试,不过先调
这问题太真实了,我之前也踩过同样的坑。单纯调阈值确实容易误伤,建议试试先按时间窗口粗筛(比如近3轮必召回),再对窗口外的内容做相似度重排,这样既保近期信息又控噪声。另外chunk切分如果按固定长度,跨主题的对话很容易被切碎混在一起,可以试试按语义段落或回合边界切,效果会好很多。
说实话我觉得你这个问题大概率不是Embedding的锅,BGE-large-zh在中文场景下已经挺能打了,直接换OpenAI或者Cohere的模型,提升可能也就百分之几,但成本和延迟翻好几倍,不太划算。我之前也遇到过类似情况,后来发现主要问题出在chunk分割太机械了,512和256的滑动窗口都会把“年假申请条件”和“调休规则”这种强关联但不同主题的内容硬切到同一个片段里,或者刚好把完整句子拆断,
这个问题太真实了,我之前用qwen微调做agent也踩过类似的坑。感觉问题可能出在数据构造上——训练集里工具调用都是“必须触发”的,但真实场景需要模型学会判断“什么时候不该调用”。建议你在数据里混入一些不需要调用工具的负面样本,比如直接问“今天周几”就别让它硬拉日历API。另外可以试试在系统提示里明确加上“未知工具请勿调用”的约束,比单纯调参管用。
我一般是先手写核心流程再让AI补细节,省得它瞎改旧代码。
确实,token爆炸和稀疏反馈这两点太致命了,端侧落地怕是还有很长的路要走。
我最近也在搞MCP的模板,确实容易爆。建议你试试把few-shot示例抽成单独的文件,用动态注入只拉当前任务需要的,别一股脑全塞进system prompt里。另外模板里的角色定义可以简化,关键信息保留就行,长格式要求放user message里动态生成,这样能省不少token。
试过用事件驱动+消息队列解耦,状态冲突少很多,LangGraph的state machine确实不太适合高频协作。
PyTorch吧,真心建议。MCP对PyTorch的支持确实更全,这不光是文档的事,实际踩坑下来PyTorch的调试体验好太多了。CLIP这种多模态模型在PyTorch生态里基本就是原生体验,HuggingFace的transformers库也是PyTorch优先,想换成别的backbone或者改个loss函数,直接改forward就行,不用跟TF的graph和session斗智斗勇。 TF的S