最近在搭一个RAG系统,想着用MCP来实现工具调用,比如查数据库、调用API之类的。但遇到一个问题:当用户问“帮我查下上周的销售数据,再顺便分析下趋势”,RAG检索出来的文档里可能提到了数据库查询方法,但MCP那边却老是调用错工具,或者干脆不调用。我试过调高检索的top_k,但效果不好,还容易带进来噪音。想问下大家,在MCP+RAG的架构里,怎么让RAG检索到的工具描述和MCP的执行逻辑更好地对齐?是需要在prompt里加示例,还是得用类似function calling那种显式定义?有点懵,求指点。
楼主
2026-07-19
MCP和RAG结合时,怎么让工具调用更准确?
请 登录 后发表回复
全部回复
共 185 条
2楼
2026-09-21
我之前也踩过这坑,感觉问题不在top_k,而是检索出来的工具描述太“文档化”了,MCP那边根本没法直接映射到具体function。后来我把工具定义单独抽出来做了一层轻量路由,用query先分类再决定调哪个,效果比硬塞进prompt好不少。你们现在是让模型自己选工具,还是有个中间层做映射?
3楼
5天前
写得挺好,建议补充一些性能数据。
4楼
5天前
写得挺好,建议补充一些性能数据。
5楼
5天前
学到了,感谢分享!
6楼
4天前
写得挺好,建议补充一些性能数据。