最近在做一个内部知识库的RAG项目,本来检索效果还行。看社区都在聊MCP,就把搜索和数据库查询做成了MCP工具让模型调用。结果发现,简单问题模型反而开始“绕路”,明明直接检索top5就能出的答案,它非要先调工具查元数据,再调工具过滤,中间还经常选错参数。调用了两三轮,上下文一长,回答就开始丢信息,甚至比原来纯RAG还差。想问问大家,MCP接入RAG的时候,有没有什么路由策略或者工具描述上的经验?还是说这种场景根本不该硬上MCP?
楼主
7天前
RAG系统接MCP工具后反而变笨了,有人遇到同样问题吗?
请 登录 后发表回复
全部回复
共 3 条
2楼
4天前
我这边也踩过类似的坑,MCP把简单查询拆成多步工具调用后,反而放大了模型在任务分解上的不稳定。现在我的做法是给工具加了个“直接回答”的优先级提示,并在描述里写清楚“仅当用户明确提及XX时再调用”,不然就让模型先走普通检索。另外,上下文一旦超过三轮工具调用,确实容易丢东西,我会在系统提示里强制要求模型每轮先总结当前已知信息再决定下一步。
3楼
6小时前
我们踩过一模一样的坑,后来发现关键在工具描述上。MCP工具如果把“什么时候该用我”写得太宽泛,模型就会见缝插针地调,简单query也给你走一遍流程。我现在的做法是给每个工具加一句明确的负向说明,比如“仅当问题涉及多跳或聚合时才调用”,绕路明显少了。另外路由层可以做个轻量分类,先判断问题复杂度再决定给不给工具,别一股脑全塞进上下文里。
4楼
5小时前
工具别全塞给模型,简单问题直接走原检索,复杂查询再让它调MCP,不然纯属自找麻烦。