如果把AI Agent比作一个能独立完成复杂任务的数字员工,那么需要大脑、记忆、连接神经、可调用的手脚能力,以及和其他同事协作的沟通语言。LLM、RAG、MCP、Skill 和 A2A 这五个概念,正好对应了这五大器官。
1. LLM:Agent 的大脑和推理中枢
LLM(Large Language Model,大语言模型) 是 Agent 的发动机。目前主流架构都是根据 Transformer的自回归生成模型。
原理:
LLM 的根基是预测下一个token。训练时,模型从海量文本中学习语言方式和世界知识,将一切转化为高维向量空间中的概率分布。推理时输入一段提示词,模型通过数十亿参数的多头自注意力机制,逐字生成后续内容。
在Agent中的角色变化:
纯LLM只能做输入-输出的文本补全,但Agent需要推理和行动。依赖几项延伸:
思维链(Chain-of-Thought):在提示中引导模型分步推理,使复杂问题被拆解成可执行的中间步骤。
工具调用/函数调用(Function Calling):模型不再只输出自然语言,而是能输出结构化的JSON,指明要调用的函数名和参数。
ReAct/规划能力:将推理、行动和观察结合成循环,让LLM能在思考和行动间迭代,直到完成任务。
没有LLM,Agent就是无脑的空壳。但LLM有两大先天缺陷:知识截止和幻觉。于是RAG登场。
2. RAG:Agent的外挂知识库
RAG(Retrieval-Augmented Generation,检索增强生成) 让Agent能够边查资料边回答,大幅提升知识的时效性和事实准确性。
技术架构:
离线建库:把文档(PDF、网页、数据库等)按语义切分成块(chunk),通过嵌入模型(Embedding Model)将每块转成向量,存入向量数据库(如Chroma、Pinecone、Milvus)。
在线检索:用户问题同样转成向量,用近似最近邻搜索(ANN)在库中召回最相关的Top-K个文档块。
增强生成:将召回的文档块和用户原始问题拼装成一个增强的提示词,送给LLM。LLM据此参考资料生成回答,并常常被要求注明出处。
进阶优化:
为提升精度,还会引入重排序模型(Reranker) 对初检结果二次排序,或者使用混合检索(同时做重点词稀疏检索和向量稠密检索)来兼顾字面一致和语义相似。
RAG解决了脑子记不全的问题,但Agent还需要操作外部世界:发邮件、查数据库、调用API。过去每接一个工具就要写一堆定制胶水代码,MCP就是来终结这个混乱的。
3. MCP:Agent的万能连接协议
MCP(Model Context Protocol,模型上下文协议) 是由Anthropic提出的开放标准,目的是成为AI应用的USB-C接口-让所有工具和数据源都能用统一的方式,即插即用地接入任何支持MCP的Agent。
协议原理:
MCP采用客户端-服务器架构,根据JSON-RPC 2.0消息协议通信:
MCP服务器:轻量级程序,向外暴露三大原语:
Resources(资源):暴露数据,类似文件读取(如“获取上周销售报表”)。
Tools(工具):可执行的动作,模型可调用(如“发送短信”,有确定的输入参数和返回)。
Prompts(提示模板):设定义的交互模板,帮助引导模型。
MCP客户端:内建在Agent宿主应用中(如Claude Desktop、Cline等),负责发现服务器的能力列表,并将LLM的调用请求翻译成标准协议指令发给服务器。传输层可用本地 stdio 或远端 HTTP+SSE。
意义:
过去要为每个API写插件。现在只需开发一个MCP服务器,任何MCP客户端就都能直接调用。工具生态从N对N定制化,变成了1次开发,处处运行的标准化市场。
RAG给了知识,MCP给了手和脚,但一堆零散的工具调用仍不算技能。Skill把这层再往上抽象了一个台阶。
4. Skill:Agent 的可组合行为能力
在Agent语境下,Skill(技能) 是对完成一类具体任务所需全部知识、流程和工具的封装,是比单个MCP工具更高阶的能力单元。
技术本质:
一个Skill一般是一份声明式或可执行的定义包,包含:
意图和触发:描述用户要做什么(如“预订机票”),可由LLM的意图识别或重点词驱动。
工作流思路:编排好的多步流程。可能是有向图(DAG)、状态机,或是用代码/声明式语言定义(如“先查天气,如果下雨则推荐室内咖啡馆,否则推荐户外”)。
内嵌的提示和知识:专属的system prompt、Few-shot示例,甚至一个小型的私有RAG库。
工具调用序列:组合如果干MCP工具、API或本地函数,并处理异常分支。
承载形式:
在不同的Agent框架中叫法各异,但原理相通:
在Coze/Dify等低代码平台上,Skill就是通过拖拽“LLM节点+代码节点+工具节点”拼出的工作流,发布后成为Agent的可选能力。
在LangChain里,这对应用AgentExecutor包裹的、带特定tool set和prompt的Agent。
在OpenAI GPTs里,Skill = 配置好的指令 + 知识文件 + 启用的Actions。
当Agent接到了复杂指令,LLM可以半自主地决定:现在该触发预订机票Skill、需要调用发送邮件Skill。Skill让行为可复用、可组合,避免每次从原子工具重新规划。
单个Agent很强,但现实中更需要多Agent协作。A2A就是为此而生。
5. A2A:Agent 间的协作语言和交流协议
A2A(Agent-to-Agent,智能体对智能体协议) 是Google在2025年提出的开放标准,专门解决不同厂商、不同框架创建的Agent之间怎样发现彼此、指派任务、安全协作的问题。
设计:
Agent Card(能力名片):每个Agent通过一个公开的JSON端点(/.well-known/agent-card.json)描述自己的身份、技能、可执行任务类型、输入输出格式以及认证方式。这像是一个数字简历,让其他Agent能自动发现。
任务驱动通信:A2A不根据简单的聊天对话,而是围绕Task(任务) 对象展开。A可以发送一条tasks/send消息给B,其中包含任务描述、输入参数,并指定是同步还是异步处理。B返回一个任务ID,然后通过推送通知或A轮询来获取结果或中间状态。
长运行和多模态支持:支持任务中途返回需要澄清、正在处理中等状态,甚至可以在任务上下文里传递文件、图像等多模态数据。
安全和治理:集成OAuth等企业级认证,让Agent能在受控边界内协作。
和MCP的分工:
二者是完美互补的:MCP是Agent连接工具的纵向协议,A2A是Agent连接Agent的横向协议。一个旅行规划Agent可以:通过MCP调用日历工具查闲忙,通过A2A把“订推荐酒店”的子任务委托给专业的酒店Agent,后者内部再用MCP对接酒店预订API。
六者合体:一个完整的Agent技术栈
让我们用一个实际场景串联:
用户对企业行政Agent说:“帮我组织明天下午的团队头脑风暴,预订零食,并通知大家。”
大脑LLM理解意图并规划:需要拆解为“统计参会人”、“根据天气推荐零食”、“下单”、“群发通知”等子任务。
记忆RAG被触发:Agent从公司知识库(RAG)检索“团队头脑风暴常备零食清单”和“行政采购标准”。
连接工具MCP行动:LLM决定调用天气查询和会议系统接口,这两个工具都通过MCP服务器标准接入,Agent无缝拿到了明天下午的天气和参会人员名单。
技能Skill执行:Agent激活预置的“智能采购”Skill-这个Skill编排了“比较价格-生成订单-调用支付MCP-生成报告”的完整工作流。
多Agent协作 A2A 委托:发现采购Skill内缺少某小众零食库存,企业Agent通过A2A协议寻找到外部的“供应商Agent”,发送任务订单,等待对方异步返回物流单号。
最后LLM汇总所有返回结果,生成通知文案,调用消息MCP工具完成群发。
LLM是灵魂,RAG是记忆,MCP是标准化神经末梢,Skill是整块的肌肉记忆,A2A让肌肉群能协同做操。这五大技术共同组成了今天AI Agent能够自主、可靠、大规模落地的基础。