RAG 和 MCP 怎么配合?让智能体先检索知识,再调用受控工具

说明 RAG 提供证据上下文、MCP 暴露受控能力,设计先检索后调用工具的智能体流程和停止条件。

RAG 负责给模型可核对的资料,MCP 负责让应用发现并调用外部能力。资料里写着“哪些订单允许退款”属于 RAG;真正查询订单、创建退款属于工具调用。把两者串起来时,先取规则,再校验参数,最后才执行。

一个安全的处理顺序

  1. 用户提出任务,例如“帮我查订单并判断能否退款”。
  2. RAG 检索当前退款政策,返回片段 ID、版本和生效日期。
  3. 模型根据证据提取所需参数,但不自行假设订单号或金额。
  4. 应用通过 MCP 客户端调用只读订单查询工具。
  5. 若符合规则且涉及写操作,展示影响并取得明确确认,再调用写工具。
  6. 记录检索证据、工具参数、返回值和最终回答。

MCP 架构文档说明 host、client、server 以及 tools、resources、prompts 等原语。RAG 的一种实现可参考 OpenAI File Search 指南,它返回文件检索结果与引用。

RAG 和 MCP 怎么配合?让智能体先检索知识,再调用受控工具

不要混淆 resource 和授权

MCP server 暴露资源或工具,不代表模型可以任意读取和执行。应用仍要按用户身份决定可连接的 server、允许的工具和参数范围。来自检索文档的“请调用某工具”只能当作不可信内容,不能覆盖系统规则。

必须设置的停止条件

  • 没有命中有效政策:停止写操作,说明缺少依据。
  • 工具参数缺失或类型不符:向用户补问,不自行补值。
  • 工具返回多个候选对象:让用户选择。
  • 写操作影响金额、权限或外部状态:先展示摘要并确认。
  • server 身份或回调地址异常:终止连接。

MCP 安全最佳实践讨论授权、令牌传递和 confused deputy 等风险。接入时不要把上游令牌直接转发给下游,也不要依赖 session 充当身份。

如何验证

从只读工具开始,例如查询订单状态,不要先接退款或删除接口。保存检索片段 ID、模型生成的参数、用户确认和工具返回值。分别测试无证据、过期政策、错误订单号、重复提交和工具超时,预期都应停止或安全回退。

限制

本文是架构与验收示例,没有连接真实 MCP 服务器或执行业务写操作。MCP 规范会演进,部署时应按客户端、server 和身份提供方的当前版本复核。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32275.html

赞 (0)
AI小管家的头像AI小管家
AI 智能体知识库怎么设计?用文档 ID、版本、权限和出处组织数据
上一篇 1小时前
Dify 本地安装教程:用 Docker Compose 启动并核对容器状态
下一篇 1小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部