建设asp网站视频教程,wordpress 必选插件,做电商网站必需知道qc,软文发稿本文介绍了大模型使用工具的三种技术演进#xff1a;1#xff09;Prompt工程初级阶段#xff0c;通过system prompt定义工具列表#xff0c;但依赖模型理解能力#xff1b;2#xff09;Function calling通过模型微调提高准确性但缺乏跨模型一致性#xff1b;3#xff0…本文介绍了大模型使用工具的三种技术演进1Prompt工程初级阶段通过system prompt定义工具列表但依赖模型理解能力2Function calling通过模型微调提高准确性但缺乏跨模型一致性3MCP标准化协议解决不同模型与工具集成问题4A2A通信协议实现多智能体协作。开发者应根据项目需求选择合适技术避免过度复杂化。工具是大模型与环境交互的主要媒介使用工具的技术经历了三次“正规”的升级换代。从给大模型加上工具调用函数 Function calling到模型与工具交互标准MCP再到把智能体当工具多智能体之间的通信协议A2A每种方式都有各自的痛点和适用场景。围绕Agent的工具使用技术介绍下1工具使用的初级阶段 prompt工程。2Function calling 和 MCP 让工具使用进入发展快车道。3多智能体之间的通信方式 A2A1prompt 工程调用大模型完成一次任务需要两个关键的问题的解决。是否需要调用工具以及调用那个工具。打怪小强开始上线初级解决方式 prompt 工程即在 system prompt 中增加 tools 列表及对应描述。这样大模型就知道有哪些工具可以调用了同时根据用户的问题能够自行判断是否需要调用外部工具若需要则从用户问题或任务和相关的上下文中解析参数然后以固定格式一般为JSON) 返回函数调用命令。此种方式简单易于实现常用于快速验证工具效果和单一简单场景任务。痛点强依赖模型理解和推理能力• 如果使用能力较弱的小模型无法每次都给出使用正确工具的判断。• 存在即使明确要求输出 JSON仍然出现语法错误、转义字符错误、多冗余文本参数适配等等的问题。最终导致简单任务失败率很高模型仿佛吃了“弱智丸”一样在系统prompt 中给出了函数 get_weather 的使用方式需要两个参数“city必须传参“date”非必须默认使用当天相关的使用也在示例中给出。假如大模型收到用户提问“查询下北京今天天气”最终返回的结果{too1:get_weather, params{ city“北京” date2024-01-19 }}模型根据问题找到正确的工具并且从问题中解析出参数最终以JSON 形式返回了调用请求Agent收到这个JSON 格式信息后就可以真正的调用天气API去查询天气了。2Function Calling 函数调用使用prompt 工程调用工具确实风险较大不是一名经验丰富的 牛马 老程序员的调性那Function Calling 是一个进阶的选择。Function Calling 是大模型厂商如OpenAl、Anthropic等) 通过微调或架构优化赋予模型生成结构化指令的能力模型能精准匹配预定义函数而非依赖自然语言生成使得工具调用“稳如老狗”。注意Function Calling 本身没有统一协议不同厂商实现方式不同如 OpenAl 的 tools 参数、Claude的 tool_use 字段。这也是为什么后面又推出了标准化的MCP协议统一工具调用流程的重要原因。图1function calling 的工作流Function Calling 的一般流程• 用户定义 Tools 并告知 LLM• LLM 根据拿到的Tools 信息判断需要调用哪个工具并生成对应 JSON 格式调用请求• 大模型根据请求调用具体工具• 将调用结果返回 LLM整合结果返回最终结果Function Calling 起步相对容易只需按照 API 要求定义函数规格通常 JSON 模式并将其随请求发送模型就可能按照需要调用这些函数逻辑较直观。因此对于单一模型、少量功能的简单应用Function Caling 实现起来非常直接几乎“一键”将模型输出对接到代码逻辑中。但是它的局限在于缺乏跨模型的一致性每个LLM 供应商的接口格式略有差异开发者若想支持多个模型需要为不同 API做适配或使用额外框架处理。例如如果有M个不同LLM应用和N个不同工具/服务理论上可能需要实现 MxN次重复的对接工作。此外对于函数的链式调用Function Calling 本身并不直接支持多步调用组合模型只能一次调用一个函数获取结果后如果需调用下一个函数需要由应用逻辑将结果馈入模型下一轮对话再触发下一个函数调用。虽然在原理上可以实现函数输出作为输入形成链条但这一切需要开发者在应用层精心编排模型自身缺乏对跨调用流程的全局观。小结Function Calling 和 System Prompt 的区别• System Prompt 主要依赖于模型的自然语言生成能力不够稳定此时的模型只是根据Prompt 生成返回。• Function Calling 则是直接对模型进行微调从而赋予模型生成结构化指令的能力更加准确。此时的模型经过特殊的微调能够更好的处理这种需求因此能够更加精准的匹配预定义函数更多实际用例请参考文末给出的openai官方链接。3MCP 模型上下文协议Function Calling 不能解决一对多的适配问题那必须整点“花活”才能在大模型工具调用这一块“游刃有余”MCPModel Context Protocol是 Anthropic 提出的协议旨在解决不同大模型与不同外部工具集成的标准化问题。官方给了一个形象的比喻MCP 像是一个用户AI应用级的 USB-C它可以通过标准协议的方式连接任何的外部AI应用。从架构上来说MCP采用了客户端-服务器架构主要包括以下几个核心组件图2MCP 客户端-服务器架构图。• MCP 主机 (Hosts)这是需要访问数据的程序如Claude Desktop、各种IDE 或AI工具。它们是MCP生态系统的入口点负责向用户提供AI功能。• MCP 客户端(Clients)这些是协议客户端负责维持与MCP 服务器的 1:1连接。它们处理通信细节确保主机和服务器之间的数据传输顺畅。• MCP 服务器(Servers)这些是轻量级程序每个服务器都通过标准化的 Model Context Protocol 暴露特定功能。服务器是 MCP的核心它们连接 AI模型与实际数据源。数据源包括两类• 本地数据源您计算机上的文件、数据库和服务MCP 服务器可以安全访问这些资源• 远程服务通过互联网可用的外部系统 如通过 API)MCP服务器可以连接这些系统这些组件共同工作形成了一个完整的生态系统让Al模型能够安全、高效地访问各种数据和工具通过以上的讲解感觉MCP还是懵的不如 prompt 工程和 function calling 来的实在。所以一般的工程小项目可以先采用简单的方式实现。过于复杂的工程可以考虑采用MCP 方式。不过为了方便文末提供了官方快速上手的链接。4, A2A 智能体间通信有的博客上讲A2A就是炒作起来的概念是Function Calling 和 MCP 的再次包装既然它火起来了也需要稍微的了解下毕竟别人滔滔不绝 A2A 的时候沉默的你倒显得不解风情。图3A2A交互示意图A2AAgent to Agent解决是Agent 之间通信的问题是一项开放标准可让不同平台和框架之间的Al Agent 进行通信和协作而无需考虑其底层技术。Agent可以调用不同的工具为什么还需要多个Agent因为构建一个能解决所有问题的Agent 很难或者说基本不可能实现因此一般选择多Agent 分工协作每个 Agent 只需要专注某一方面解决通过A2A让多个不同领域的Agent 协作解决问题多个Agent 构成流水线共同完成某个任务。又有人问了 ”如果把Agent 弱化成函数或者工具那同样面临多个Agent 如何通信的问题吧“这时候A2A登场了其实更像是进阶版的MCP。A2A像一门统一的语言让Agent ”说人话“清晰的传递意图、协商任务、共享信息。能够连接任何其它的基于 A2A构建 Agent并使用户能够灵活组合来自不同供应商的Agent。最重要的是企业可以通过标准化方法管理其跨不同平台和云环境的 Agent。A2A是一种开放标准可让不同平台和框架之间的Al Agent进行通信和协作而无需考虑其底层技术的协议。Agent 之间通过 A2A协议通信Agent 通过 MCP协议调用外部工具总结本文主要介绍了下当前使用工具的几种主要方式概念性的东西没有涉及太多的实操因为每一个单拎出来都要讲好几天。做工程要找最合适的方法如果function calling 能满足项目当前的需求那就投入时间重点上手实践下没必要使用MCP 和A2A 徒增项目的复杂性还有MCP 和A2A 的学习成本还是有一些的。如何学习AI大模型如果你对AI大模型入门感兴趣那么你需要的话可以点击这里大模型重磅福利入门进阶全套104G学习资源包免费分享这份完整版的大模型 AI 学习和面试资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】这是一份大模型从零基础到进阶的学习路线大纲全览小伙伴们记得点个收藏第一阶段从大模型系统设计入手讲解大模型的主要方法第二阶段在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用第三阶段大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统第四阶段大模型知识库应用开发以LangChain框架为例构建物流行业咨询智能问答系统第五阶段大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型第六阶段以SD多模态大模型为主搭建了文生图小程序案例第七阶段以大模型平台应用与开发为主通过星火大模型文心大模型等成熟大模型构建大模型行业应用。100套AI大模型商业化落地方案大模型全套视频教程200本大模型PDF书籍学会后的收获• 基于大模型全栈工程实现前端、后端、产品经理、设计、数据分析等通过这门课可获得不同能力• 能够利用大模型解决相关实际项目需求 大数据时代越来越多的企业和机构需要处理海量数据利用大模型技术可以更好地处理这些数据提高数据分析和决策的准确性。因此掌握大模型应用开发技能可以让程序员更好地应对实际项目需求• 基于大模型和企业数据AI应用开发实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能 学会Fine-tuning垂直训练大模型数据准备、数据蒸馏、大模型部署一站式掌握• 能够完成时下热门大模型垂直领域模型训练能力提高程序员的编码能力 大模型应用开发需要掌握机器学习算法、深度学习框架等技术这些技术的掌握可以提高程序员的编码能力和分析能力让程序员更加熟练地编写高质量的代码。LLM面试题合集大模型产品经理资源合集大模型项目实战合集获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】