最近在搭一个RAG系统,想用MCP协议挂几个外部工具(比如天气查询、文档解析),但发现检索出来的片段和工具返回的结果完全是两套东西。比如用户问“今天北京适合跑步吗”,RAG返回了天气常识文本,MCP工具又单独返回了实时温度,但这两段信息怎么拼成一句自然回复?目前我只能硬拼接,效果特别生硬。有没有大佬指点下,MCP在RAG里的正确姿势是啥?是应该让工具结果去改写检索结果,还是反过来?或者干脆只用一个?求具体思路或开源方案,感谢!
楼主
2026-07-18
MCP工具调用和RAG检索结果怎么合并?我有点懵
请 登录 后发表回复
全部回复
共 162 条
2楼
3天前
试试把工具结果当“事实校验器”,先让RAG出回答再拿工具数据修正关键数字,比硬拼自然多了。
3楼
2天前
我之前也踩过这个坑,后来是把MCP工具结果当成“动态证据”去覆盖RAG里的静态知识,而不是硬拼。比如天气那个问题,先让工具拿到实时温度,再拿这个温度去重排RAG片段里相关的跑步建议,这样输出就自然多了。你可以试试让LLM先决策走哪条路,再合并,别一股脑全塞给模型。开源的话看看LangChain的Tool Retriever或者LlamaIndex的FunctionAgent,里面有点思路。