【Java 开发日记】你分得清 Prompt、Agent、Function Call、Skill、MCP 吗?
前言随着 AI 的迅速崛起有很多词汇你可能会经常听到但是让你来详细地说一下它们各自的区别与联系有很多人还是回答不上来的这期咱们就来详细地讲解一下它们各自的区别与联系让你对它们有更多的了解。可以把它们想象成构建一个智能应用比如一个智能助手的不同层次和组件从最基础的指令到高级的交互协议。1. 核心概念定义Prompt提示词/提示工程是什么这是用户与 AI 模型交互的最基本形式。它是你输入给大语言模型LLM的一段文本用来引导模型生成你想要的回复。本质可以看作是写给 AI 的“使用说明书”或“指令”。它本身不执行动作只是告诉模型应该做什么、扮演什么角色、输出什么格式。示例你问“法国的首都是哪里”这就是一个简单的 Prompt。复杂的 Prompt 可能包括“你是一个专业的旅游顾问请为我规划一个为期 3 天的巴黎行程并以列表形式输出。”Agent智能体/代理是什么Agent 是一个更复杂的系统它利用 LLM 作为核心“大脑”或“决策引擎”来自主地完成一个相对复杂的任务。它通常具备规划、记忆、以及使用工具的能力。本质Agent 是一个能“行动”的实体。它不仅仅是被动地回答问题而是会主动思考要实现这个目标我需要做哪些步骤第一步该做什么如果失败了怎么办工作流程示例你让它“帮我预订一张下周五从北京到上海的机票”。Agent 会规划需要查询航班、比较价格、选择航班、然后下单。调用工具它可能会调用一个“查询航班”的工具Function Call。执行与反馈拿到查询结果后它会整理信息再询问你要选哪个最后帮你下单。整个过程中它可能需要进行多次“思考-行动-观察”的循环。Function Call函数调用是什么这是 LLM 的一种能力。在请求模型时你可以向它描述一系列函数包括函数的功能、参数等。当用户的问题需要执行特定操作或获取实时信息时模型不会自己去执行代码而是返回一个“调用某个函数”的请求并附带好相应的参数。本质这是连接 LLM 与外部世界数据、系统、API的“桥梁”。它让 LLM 从只能“说话”升级为可以“动手”的接口。示例你问“北京天气怎么样”。你在 Prompt 中向模型描述了一个get_weather(city: string)函数。模型判断出需要调用这个函数于是返回一个特殊格式的回复内容类似于{ function: get_weather, parameters: {city: 北京} }。你的程序收到这个请求然后去执行真正的天气 API 调用获取数据最后把数据返回给模型让模型用自然语言告诉你“北京今天晴10-20度”。Skill技能是什么这是一个偏产品和应用层的概念。一个 Skill 可以理解为赋予 Agent 的一种特定能力或“插件”。它通常封装了一系列用于完成特定领域任务的 Prompt、工作流和 Function Call。本质可以看作是 Agent 的“应用程序”。安装一个“音乐技能”Agent 就能放歌安装一个“办公技能”Agent 就能帮你处理文档。示例在一个智能音箱里“闹钟技能”包含了设置闹钟、取消闹钟、查询闹钟等功能。对于 Agent 来说一个 Skill 可能对应着一个或多个底层的 Function Call也可能结合了特定的 Prompt 模板来指导 Agent 如何使用这些功能。MCP模型上下文协议 / Model Context Protocol是什么这是一个开放的、标准化的协议由 Anthropic 提出。它旨在解决一个问题如何让 AI 模型特别是 Agent能够以一种统一、安全的方式动态地发现和使用各种外部工具和数据源。本质可以看作是AI 世界的“USB-C 接口”。想象一下以前每个外部设备打印机、键盘、显示器都需要不同的接口和驱动。MCP 就是想成为一个通用的标准接口。只要你的 AI 应用支持 MCP它就能即插即用地连接到任何也支持 MCP 的数据源或工具服务器。工作流程一个支持 MCP 的 Agent 可以通过 MCP 客户端去连接一个 MCP 服务器比如一个 Google Drive 服务器或一个本地文件服务器。服务器会告诉客户端“我有这些工具list_files、read_file、search_docs”。Agent 就可以像使用本地 Function Call 一样去调用这些远程工具。2. 区别与联系现在我们用一张图和一个类比来串联它们。关系图核心区别与联系概念核心角色层次核心问题相互关系Prompt指令交互层我该怎么告诉 AI 我想要什么是一切交互的基础。Agent 的思考过程、Function Call 的描述本质上都是在使用 Prompt。Agent执行者应用层我如何自主地完成一个复杂目标它是“老板”负责统筹规划。它使用Function Call 作为手脚管理着各种 Skill。Function Call接口模型能力层LLM 如何请求调用外部工具它是“手脚”是 Agent 执行具体操作的方式。一个 Skill 可以封装多个 Function Call。Skill能力包应用/产品层如何将一组相关功能打包方便 Agent 调用它是“技能包”或“应用”是组织 Function Call 和 Prompt 的高级单元。Agent 通过拥有Skill 来获得能力。MCP协议基础设施层如何让 Agent 能通用、安全地发现和连接任何工具它是“万能接口标准”。它标准化了 Function Call 的发现和调用过程让 Skill 的开发和使用更加模块化和解耦。3. 综合类比一个智能厨房为了更好地理解我们把这个过程比作一个智能厨房Prompt指令你对厨房机器人说“我饿了给我做一份番茄炒蛋。” 这就是 Prompt是你下达的初始指令。Agent智能厨房机器人机器人本身就是 Agent。它听到你的话开始思考做番茄炒蛋需要先洗番茄、切番茄、打鸡蛋、炒菜……这是一个有规划的过程。Function Call具体动作机器人的手臂开始执行具体动作“拿起番茄”这是一个 Function Call、“打开水龙头”另一个 Function Call、“开启炉灶”又一个 Function Call。LLM 本身不做这些但它会决定何时调用这些动作。Skill烹饪技能包机器人内部安装了一个“中式烹饪技能包”这个技能包里包含了“洗菜”、“切菜”、“炒菜”等一系列相关的 Function Call 的说明书和操作流程。如果装的是“西式烘焙技能包”那它就会调用和面、烤箱相关的功能。MCP通用厨房接口标准假设你的厨房还有一台独立的智能冰箱和智能烤箱它们各自有不同的接口。如果它们都遵循 MCP 标准那么你的厨房机器人就可以通过标准的“查询库存”接口访问冰箱通过标准的“设置温度”接口控制烤箱无需为每个设备单独写一套连接代码。总结Prompt是语言告诉 AI“要什么”。Function Call是工具赋予 AI“怎么做”的能力接口。Skill是技能包将相关工具打包让 AI 的能力模块化。Agent是执行者利用大脑LLM规划使用手脚Function Call/Skill去自主完成任务。MCP是标准接口让 AI 能通用、便捷地连接任何外部工具是整个生态的“基础设施”。如果小假的内容对你有帮助请点赞评论收藏。创作不易大家的支持就是我坚持下去的动力
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2420177.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!