在构建智能 Agent 系统时,RAG、MCP 和 Prompt 是三个关键组成部分。理解它们各自的定义及在 Agent 中的角色,有助于我们更好地设计和实现高效、安全的智能系统。
Prompt(提示词 / 策略层)
- 是什么:写给模型的任务说明与约束(目标、步骤、风格、输出格式、何时请求工具、何时先询问等)。
- 在 Agent 中的角色:行为与策略。决定“怎么想、何时用工具、输出什么结构”,是模型的操作手册。
- 要点:结构化输出约束(JSON/JSON Schema)、安全与边界(拒绝越权、保密、先确认再执行)。
我认为 Prompt 是 Agent 的灵魂,是三者中最核心的部分,用户的输入,外部服务响应的结果,系统写好的约束等内容都可以作为 Prompt。MCP 和 RAG 或许可以没有,但不能没有 Prompt,它直接影响了 Agent 的思考方式和行为模式,决定了模型“怎么想”、“怎么决策”、“怎么输出”,Prompt 设计得好坏,直接影响 Agent 的效果与安全性。
RAG(Retrieval-Augmented Generation / 知识层)
- 是什么:回答前先从外部/私有知识库检索材料,再把结果放入上下文生成,补齐“最新/私有”信息,减少幻觉。PS:RAG 不是把所有文档塞进 Prompt,而是按需检索少量相关片段(降低成本与幻觉)。
- 在 Agent 中的角色:知识供给。让 LLM 说话更有依据,为后续工具选择和计划提供事实支撑。
- 要点:检索质量(召回/排序)、片段切分、来源可追溯、敏感数据控制。
- 实际应用:RAG 中可以放案例库、FAQ、文档、数据库快照等所有你需要AI参考的内容。现在很多企业都会定制自己的知识库,供模型的回答更加私有化和专业化。
你可以理解为 RAG 就像对训练好的模型做“补课”,让它在回答时能参考最新的、私有的知识,而不是仅凭训练数据“瞎猜”。这能显著减少模型的幻觉(hallucination)问题,提高回答的准确性和可靠性。
使用案例: 在一个科研助手中,用户询问“当前世界上最新的 AI 研究进展”,由于模型的训练数据截止到 2023 年,AI的数据源不足,可能会输出虚构的/不精确的回答,这也就是常说的AI幻觉。通过设计 RAG,开发者可以把最新的论文摘要和研究报告存入知识库,当用户提问时,模型先检索相关内容,再结合这些最新信息生成回答,从而提升回答的准确性和可靠性。
RAG 并非 Agent 的必需品,但在需要“最新信息”或内部的“私有知识”时非常重要。RAG 能让模型基于事实做决策,而不是凭空想象,从而提升 Agent 的可靠性和实用性。开发者可以提前精炼好关键上下文片段,供模型参考,避免上下文过长带来的成本和效率问题。
MCP(Model Context Protocol / 连接与工具层)
- 是什么:把工具/数据源/提示模板以统一协议对 Agent 暴露,规范名称、参数与结果返回,简化集成与治理;LLM 仅产生 tool_call,由 Agent 代为按 MCP 协议请求你的服务端执行。
- 在 Agent 中的角色:统一接入与调用规范。让 Agent 代表 LLM 在白名单内安全调用提供的函数/工具。
- 要点:白名单、参数校验、鉴权;可替代方案是各家 API 的原生“函数/工具调用”,但 MCP 提供跨生态的标准化方案。
使用案例: 在一个财务助手中,用户请求“帮我查询上个月的支出明细”。通过实现一个使用了 MCP 协议的服务端(也就是常说的 MCP Server),开发者可以将财务系统的查询接口以标准化的方式暴露给模型,定义好接口名称、参数格式和返回结果。模型在理解用户请求后,可以选择调用该接口,并传入相应的参数(如时间范围)。执行查询后,响应结果会返回给模型,模型再将结果整理成用户友好的格式进行回复。
MCP 是 Agent 的可选但强大的标准化方案,它定义了模型如何与外部工具和服务交互。通过标准化的接口定义,开发者可以确保模型只能调用经过审核的工具,从而提升系统的安全性和可靠性。同时,MCP 也简化了工具集成的复杂度,使得开发者可以更专注于业务逻辑的实现。
简而言之, MCP是把工具接入标准化的一套协议(像“USB 口”)。当然,没有 MCP 也能调用工具,你可以用各家原生的函数/工具调用(如 OpenAI 的 tools/functions、Claude 的 tools,或你自己写的 tool dispatcher)让模型“选函数+给参数”,由后端执行副作用。但是,有了 MCP 之后,跨应用/跨生态的接入会更简单、更统一。但真正“动手”的永远是后端/执行层(你的服务、脚本),MCP/工具调用只是把“脑”(大模型)与“手”(后端服务)接起来。但是,切记 MCP 本身只是一个协议,并不执行任何操作,真正起效果的是你的服务端/执行层,比如 MCP Server。
一条典型的 Agent 链路
1 | 用户提出请求 |
常用的 Agent 框架
市面上有很多开源和商业的 Agent 框架,它们大多集成了 RAG、MCP 和 Prompt 设计,提供了不同程度的封装,帮助开发者快速构建智能 Agent 系统。以下是一些常用的 Agent 框架:
- LangChain:一个流行的开源框架,支持 RAG、Prompt 设计和工具调用,适用于多种大语言模型,主要面向 Python 和 JavaScript 生态,LangChain。对于 Java 开发者,可以使用LangChain4j,但是相对来说功能没有 Python 版那么丰富。
- LangGraph:基于 LangChain 的“图式/状态机”执行框架,支持复杂的多步骤 Agent 流程设计,适合需要复杂逻辑控制的场景,LangGraph。对于 Java 开发者,可以使用LangGraph4j,但是相对来说功能没有 Python 版那么丰富。
- AutoGen:让多个角色型 Agent 对话协作,各自有不同的工具和职责,适合多人协作的复杂任务。AutoGen。
- Spring AI:Spring 生态下的 AI 框架,支持 RAG、Prompt 和 MCP,适合 Java 开发者构建智能 Agent 应用。Spring AI。
| 维度 | LangChain | LangGraph | Spring AI | AutoGen |
|---|---|---|---|---|
| 类型 | 框架(Py/JS) | Agent 状态机/图(Py/TS,基于 LC 生态) | Java/Spring 集成库 | 多代理协作框架(Py) |
| 强项 | 拼装快、生态全、RAG/工具齐全 | 可控性/可复现、分支与回滚、轨迹可观测 | 与微服务/治理深度融合 | 角色分工与对话协作、代码回合执行 |
| Agent 能力 | 有(AgentExecutor/工具调用) | 强(图式自治,受控决策循环) | 自行实现为主(状态机/规则) | 强(多智能体协作与分工) |
| 适合人群 | 数据/AI 团队、快速原型 | 需强治理/合规/可测性的团队 | Java 团队、生产微服务落地 | 研究/探索复杂协作链路 |
总结
Prompt 决定“怎么想/怎么输出”,RAG 决定“知道什么”,MCP 决定“怎么接工具”;而真正“动手”始终在你的执行层(服务/脚本/MCP Server)。理解这三者的区别与联系,有助于我们更好地设计和实现智能 Agent 系统,提升其效率、安全性和可靠性。
在实现层面,LangChain / Spring AI 框架是把这些组件装起来的工具箱;Agent是开车的人(控制面),用大脑(LLM)做决策,调动双手(服务端的工具)去执行,在受控流程中完成“感知→计划→执行→反馈”的闭环,直到达成目标。









