2026/3/11 9:04:34
网站建设
项目流程
上海市工程建设标准化信息网站,无锡加盟网站建设,朋友圈广告投放,wordpress 文章去掉时间纯大模型就像“思想的巨人#xff0c;行动的矮子”——只会对话和生成文本#xff0c;没法真正落地解决实际问题。但给它配上AI Agent#xff08;人工智能体#xff09;后#xff0c;就能完成华丽蜕变#xff1a;既能感知外部环境#xff0c;又能调用各类工具#xff0…纯大模型就像“思想的巨人行动的矮子”——只会对话和生成文本没法真正落地解决实际问题。但给它配上AI Agent人工智能体后就能完成华丽蜕变既能感知外部环境又能调用各类工具还能自主执行任务摇身变成“万能助手”。这一颠覆性转变核心依赖三大关键技术协议MCPAgent与工具的通信协议、Function CallingAgent与大模型的协作协议和A2AAgent之间的协同协议。很多新手容易误以为Agent是复杂的独立系统其实它的本质是一套精心设计的Prompt通过Context Engineering上下文工程让大模型获得真正的行动能力。先给大家明确三个核心协议的核心定位避免混淆MCPAI Agent 与外部工具之间的“桥梁”负责工具的发现、注册和调用注意MCP不直接和大模型交互别被名字里的“Model”误导Function CallingAI Agent 与大模型之间的“指令翻译官”告诉大模型什么时候该用工具、用哪个工具、怎么传参数。A2AAI Agent 与其他Agent之间的“协作协议”实现多Agent的发现、任务分配和协同工作。本文会从新手视角用“概念实战解析”的方式把这三大协议的核心逻辑、工作流程讲透还会补充AI Agent的基础认知和Context Engineering的关键作用帮你真正理解“大模型Agent”的工作原理不管是学习研究还是项目开发都能直接用得上。一、先搞懂AI Agent到底是什么很多小白刚接触时会把Agent想复杂其实一句话就能说清AI Agent是能自主感知环境、规划任务、执行动作最终完成目标的智能系统。这里有个超形象的比喻大模型是AI Agent的“大脑”负责思考和决策AI Agent是大模型的“身体”负责连接外部世界、执行具体动作。两者缺一不可没有Agent的大模型能力被局限在“文本交互”里比如问它“杭州明天天气”它只能基于训练数据猜没法实时获取真实信息更没法执行其他操作——这就是“思想的巨人行动的矮子”。没有大模型的Agent就是个僵硬的自动化脚本只能按预设的“如果-那么”规则做事遇到突发情况或模糊需求就歇菜毫无灵活性。可能有程序员朋友会问这和传统的SOP标准操作流程有啥区别核心差异在“自主性”传统SOP是“规则驱动”必须提前定好所有步骤而AI Agent是“目标驱动”你只要告诉它“要做什么”它会自己想“该怎么做”还能根据环境变化动态调整策略甚至处理模糊的需求比如“整理本周工作文档并生成总结”。这种灵活性根源就是大模型的语言理解、推理和泛化能力。一个完整的AI Agent除了“大脑”大模型还需要这3个核心模块新手可以记成“ Agent的三大器官 ”感知模块相当于“眼睛和耳朵”通过API、搜索引擎、文件系统等获取外部信息比如实时天气、文档内容。工具集相当于“手和脚”通过调用函数、API、软件等影响现实世界比如查天气、写文件、执行代码——这就是MCP、Function Calling发挥作用的地方。记忆模块相当于“工作日志”通过向量数据库或记忆流记录历史交互和任务过程供后续规划和参考比如记住你之前的需求偏好。搞懂了AI Agent的基础逻辑接下来我们逐个拆解三大核心协议——看它们是如何协同工作让大模型从“只会说话”变成“能干活”的。二、MCP协议Agent如何“找到并使用”外部工具MCP的全称是Model Context Protocol模型上下文协议很多新手看到“Model”会误以为它直接和大模型交互——这里再次强调MCP只负责Agent和外部工具的通信和大模型没有直接交互。它的核心作用很简单让AI Agent能用一种通用的方式找到发现、登记注册并使用调用外部工具。比如你想让Agent查天气MCP就负责让Agent“认识”天气查询工具并正确调用它。光说概念太抽象我们用一个完整的实战案例带大家亲手实现一个MCP Server看它到底是怎么工作的。2.1 实战实现一个“查天气”的MCP Server我们会搭建一个模拟天气查询的MCP Server再通过Cline AgentVS Code插件调用它最后通过日志分析MCP的通信过程。新手跟着步骤走就能完成所需工具都列好了。第一步准备工作安装VS Code并安装Cline Agent插件目前仅支持VS Code。安装Python3.8以及uv工具Python包管理工具比pip更高效安装后设置镜像源加速在环境变量中添加UV_INDEX_URLhttps://repo.huaweicloud.com/repository/pypi/simple/。准备一个可用的大模型服务比如OpenAI、DeepSeek、OpenRouter等不需要本地部署有API密钥即可。第二步创建Python项目并初始化# 创建项目文件夹并进入mkdirmcpservercdmcpserver# 用uv初始化项目uv init# 创建并激活虚拟环境Windows系统uvsync.venv\Scripts\activate# 安装mcp依赖包uvaddmcp第三步编写MCP Server代码模拟天气查询创建文件mcp_weather_server.py代码如下含详细注释新手能看懂frommcp.server.fastmcpimportFastMCP# 1. 初始化FastMCP类指定服务名称用于识别mcpFastMCP(获取天气信息服务)# 2. 定义工具函数获取指定城市的天气mcp.tool(获取天气信息)# 标记为MCP工具名称会被Agent识别defget_forecast(city)-str: 工具功能描述获取指定城市的天气信息 参数 city (str)城市名称必填 返回 str包含城市和天气的文本信息 # 这里用Mock数据模拟真实场景需调用第三方天气API比如高德、百度天气APIreturnf{city}明天有大暴雨请提前做好防护# 3. 启动MCP Server采用stdio传输方式方便日志捕获if__name____main__:print(MCP Server 启动成功等待Agent连接...)mcp.run(transportstdio)print(MCP Server 退出)第四步添加日志工具捕获通信内容为了看清Agent和MCP Server的通信细节我们需要一个日志工具来截获交互数据。直接下载现成工具mcp_logger.py将文件放到项目根目录。这个工具的作用捕获stdio方式下MCP ClientAgent内置组件和Server之间的所有通信并存到当前目录的mcp_io.log文件中。第五步在Cline Agent中配置并测试MCP Server打开VS Code点击左侧Cline Agent插件图标选择“Configure MCP Servers”配置MCP服务。在配置文件中添加启动命令python mcp_logger.py uv run mcp_weather_server.py意思是通过日志工具启动我们写的MCP Server。保存配置后若看到“获取天气信息”工具显示为绿色说明配置成功、Server已启动。测试在Cline Agent的任务窗口输入“杭州明天的天气如何”观察结果——Agent会自动调用我们写的get_forecast工具返回天气信息。2.2 解析MCP协议通信的3个核心阶段打开项目根目录的mcp_io.log文件就能看到完整的通信内容。MCP基于JSON-RPC协议一种简洁的远程调用协议整个过程分为3个阶段新手看日志就能秒懂1. 初始化阶段Client与Server“握手”Agent内置的MCP Client先向Server发送初始化请求确认协议版本、双方能力等信息Server返回确认信息完成“握手”。// Client发送初始化请求{method:initialize,params:{protocolVersion:2025-06-18,capabilities:{},clientInfo:{name:CodeMate,version:25.2.200}},jsonrpc:2.0,id:0}// Server返回确认{jsonrpc:2.0,id:0,result:{protocolVersion:2025-06-18,capabilities:{experimental:{},prompts:{listChanged:false}},serverInfo:{name:获取天气信息服务,version:1.16.0}}}2. 工具注册阶段Client“询问”可用工具握手完成后Client会主动询问Server“你有哪些可用的工具、资源”Server会把我们定义的get_forecast工具信息名称、描述、参数要求、返回格式返回给Client。// Client询问工具列表{method:tools/list,jsonrpc:2.0,id:1}// Server返回工具详情{jsonrpc:2.0,id:1,result:{tools:[{name:获取天气信息,description:获取指定城市的天气信息...,inputSchema:{properties:{city:{type:string}},required:[city]}}]}}3. 工具调用阶段Client“下达”调用指令当大模型判断需要调用工具时会通过Agent让MCP Client发送调用请求含工具名称和参数比如“城市杭州”Server执行工具函数后返回结果。// Client发送调用请求调用“获取天气信息”工具参数city杭州{method:tools/call,params:{name:获取天气信息,arguments:{city:杭州}},jsonrpc:2.0,id:4}// Server返回结果{jsonrpc:2.0,id:4,result:{content:[{type:text,text:杭州 明天有大暴雨请提前做好防护}]}}总结MCP的本质就是一套“Agent找工具、认工具、用工具”的通用规则让Agent能无缝对接各类外部工具不用为每个工具单独开发适配代码。这里留一个疑问大模型是怎么知道“需要调用工具”的比如问“杭州天气”它为什么不直接猜而是让Agent调用天气工具这就需要第二个核心协议——Function Calling。三、Function Calling大模型“学会用工具”的关键Function Calling函数调用的核心作用通过Prompt指导大模型让它知道“什么时候该用工具、用哪个工具、怎么传参数”。这也是大模型区别于传统自动化脚本的关键——用“柔性的Prompt指导”替代“刚性的规则编写”能处理更多不确定场景。很多新手以为Function Calling是大模型的“内置功能”其实不然大模型本身并不知道“工具”是什么是Agent通过一段精心设计的Prompt把工具的用法“教”给了它。我们可以通过查看Cline Agent的源码Cline的system prompt直观理解这个过程。注Cline的system prompt有600多行、近5万个字符会消耗5000多个tokens——这也是很多人吐槽Cline Agent“费Token”的原因 我们截取核心部分拆解3.1 4部分核心Prompt教大模型用工具1. 身份声明给大模型“定角色”先明确大模型的身份激活它对应的能力类似“角色扮演”。比如Cline是编程Agent就会这样声明You are Cline, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.作用让大模型快速进入“软件工程师”角色更精准地处理编程相关的工具调用需求。2. 能力声明告诉大模型“能做什么”明确告知大模型你可以使用工具并且要按指定格式和Agent沟通比如XML标签还要遵循“思考行动”ReAct模式。TOOL USE You have access to a set of tools that are executed upon the users approval. You can use one tool per message, and will receive the result of that tool use in the users response. You use tools step-by-step to accomplish a given task, with each tool use informed by the result of the previous tool use. # Tool Use Formatting Tool use is formatted using XML-style tags. The tool name is enclosed in opening and closing tags, and each parameter is similarly enclosed within its own set of tags. Heres the structure: tool_name parameter1_namevalue1/parameter1_name parameter2_namevalue2/parameter2_name ... /tool_name作用给大模型定好“使用工具的规则”避免它乱调用或格式错误。3. 工具列表给大模型“列工具说明书”这是最核心的部分把所有可用工具包括Cline内置工具和我们通过MCP注册的自定义工具的信息详细告诉大模型——包括工具名称、功能描述、参数要求、输入输出格式。比如我们之前注册的“获取天气信息”工具会以这样的形式出现在Prompt中# Connected MCP Servers When a server is connected, you can use the servers tools via the use_mcp_tool tool. ## weather (python mcp_logger.py uv run mcp_weather_server.py) ### Available Tools - get_forecast: 获取天气信息 Args: city: 城市名称必填 Input Schema: { type: object, properties: { city: {title: city, type: string} }, required: [city] }作用让大模型清楚“有哪些工具可用”“调用这个工具需要传什么参数”。比如用户问“杭州天气”大模型看到这段Prompt就知道要调用get_forecast工具且必须传city杭州参数。4. 任务完成规则告诉大模型“什么时候收尾”明确任务完成的条件和反馈格式当所有工具调用完成、确认结果正确后用attempt_completion标签返回最终结果。## attempt_completion Description: Once youve received the results of tool uses and can confirm that the task is complete, use this tool to present the result of your work to the user. Parameters: - result: (required) The result of the task. Formulate this result in a way that is final. - command: (optional) A CLI command to demonstrate the result. Usage: attempt_completion result最终结果描述/result command可选演示命令/command /attempt_completion3.2 Function Calling的本质用Prompt实现“柔性指导”看完上面的拆解相信大家能明白Function Calling不是什么复杂的底层技术而是通过“详细的Prompt指导”让大模型学会“根据用户需求选择并调用工具”。这种方式的优势很明显传统自动化脚本需要为每个场景写死规则比如“如果用户问天气就调用XX接口”而大模型通过Prompt能处理模糊需求比如“帮我查下周末去杭州要不要带伞”——它会先推理出“需要查杭州周末天气”再调用对应的工具最后根据结果给出建议。四、Context EngineeringAgent的核心是“做好上下文”通过前面的分析我们能得出一个关键结论Agent的本质是一套精心设计的Prompt而Prompt的核心是“上下文Context”。大模型是“上下文学习者”——它没有长期记忆每次交互的判断都只基于当前收到的上下文。所以要让大模型具备Agent的能力必须把“正确的信息”整理成上下文传递给它。这个“整理上下文”的工作就是Context Engineering上下文工程。一个完整的Agent上下文除了前面说的“工具说明Prompt”还包括这些内容System Prompt大模型的身份、能力、工作规则就是我们上一节拆解的内容。User Message用户的原始需求比如“查杭州明天天气”。领域知识Docs和任务相关的专业知识、工作对象信息比如编程Agent需要的编程语言规范、项目文档。工作记忆Message History之前的交互记录、工具调用结果比如Agent之前调用过天气工具结果需要存在记忆里供后续参考。这里再呼应前面的知识点为什么MCP和大模型无关因为MCP的核心作用是“为上下文提供工具信息”——它把外部工具的详情传递给AgentAgent再把这些信息整理到上下文中最后传递给大模型。MCP本身不参与和大模型的直接交互只是上下文工程的“信息供应商”。补充Context Engineering和Prompt Engineering的区别——前者更侧重“整理多源信息构建完整的上下文环境”后者更侧重“优化单条Prompt的表述”。Agent的实现核心依赖Context Engineering。五、A2A协议多Agent协同的“沟通规则”前面讲的都是“单个Agent单个大模型”的场景但实际应用中很多复杂任务需要多个Agent协同完成比如“整理项目文档生成总结制作PPT”。这时候就需要A2A协议。A2A的全称是Agent to Agent Protocol智能体间协议是Google开源的一套开放协议核心作用让多个Agent之间能互相发现、分配任务、协同工作。为什么需要A2A因为单个Agent的上下文窗口有限——如果把所有工具、知识都塞进一个Agent的上下文很容易超出窗口限制还会导致“Context Rot”上下文偏移大模型抓不住重点。就像我们人类做复杂任务需要分工合作一样多Agent通过A2A协议分工能大幅提升效率和准确性。5.1 A2A的核心概念新手快速理解A2A协议定义了几个关键概念确保多Agent能顺畅沟通用表格总结如下核心概念通俗解释Agent Card智能体卡片每个Agent的“身份证”存在于/.well-known/agent.json文件中包含Agent的能力、技能、通信地址、认证要求等供其他Agent发现。A2A Server服务器Agent的“通信中枢”负责处理其他Agent的请求、管理任务执行。A2A Client客户端Agent的“请求发送器”负责向其他Agent发送任务请求、接收结果。Task任务协同工作的“最小单位”有唯一ID和状态如“已提交”“处理中”“已完成”。Message消息Agent之间的“沟通内容”包含发送者角色用户/Agent和具体信息。Artifacts工件任务的“输出结果”比如文档、数据、总结报告等。5.2 A2A的工作流程简化版A2A和MCP一样基于JSON-RPC协议工作流程很简单核心分为5步发现Agent通过读取其他Agent的 Agent Card了解其能力和通信地址。启动发起协同的AgentClient向目标AgentServer发送任务请求。处理目标Agent接收任务后执行并通过流式传输SSE实时更新任务状态。交互可选如果需要补充信息目标Agent会向发起Agent请求输入。完成任务执行完成或失败、取消目标Agent返回结果Artifacts。六、总结三大协议的协同逻辑最后用一张图和一段话帮大家梳理清楚三大协议的核心价值和协同关系纯大模型是“思想巨人行动矮子”AI Agent通过Context Engineering上下文工程给大模型装上“身体”和“智慧”而MCP、Function Calling、A2A三大协议是Agent的“核心骨架”Function Calling负责“大脑大模型”和“身体Agent”的协同让大模型知道“怎么用工具”。MCP负责“身体Agent”和“外部工具”的连接让Agent能“找到并使用工具”。A2A负责“多个身体多Agent”的协同让复杂任务能“分工完成”。这三大协议不是互相替代的关系而是互补协同的——它们共同让大模型从“文本交互”走向“实际落地”为AGI通用人工智能的实现奠定了基础。那么如何系统的去学习大模型LLM作为一名从业五年的资深大模型算法工程师我经常会收到一些评论和私信我是小白学习大模型该从哪里入手呢我自学没有方向怎么办这个地方我不会啊。如果你也有类似的经历一定要继续看下去这些问题啊也不是三言两语啊就能讲明白的。所以我综合了大模型的所有知识点给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢我就曾放空大脑以一个大模型小白的角度去重新解析它采用基础知识和实战项目相结合的教学方式历时3个月终于完成了这样的课程让你真正体会到什么是每一秒都在疯狂输出知识点。由于篇幅有限⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》扫码获取~为什么要学习大模型我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年人才缺口已超百万凸显培养不足。随着AI技术飞速发展预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。大模型学习指南路线汇总我们这套大模型资料呢会从基础篇、进阶篇和项目实战篇等三大方面来讲解。①.基础篇基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念用最易懂的方式带你入门大模型。②.进阶篇接下来是进阶篇你将掌握RAG、Agent、Langchain、大模型微调和私有化部署学习如何构建外挂知识库并和自己的企业相结合学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。③.实战篇实战篇会手把手带着大家练习企业级的落地项目已脱敏比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等从而帮助大家更好的应对大模型时代的挑战。④.福利篇最后呢会给大家一个小福利课程视频中的所有素材有搭建AI开发环境资料包还有学习计划表几十上百G素材、电子书和课件等等只要你能想到的素材我这里几乎都有。我已经全部上传到CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】相信我这套大模型系统教程将会是全网最齐全 最易懂的小白专用课