乐于分享
好东西不私藏

理解 AI Agent 架构层级:Prompt/Skill/Tool/Plugin/ MCP/ Agent

理解 AI Agent 架构层级:Prompt/Skill/Tool/Plugin/ MCP/ Agent

理解 AI Agent 架构层级:Prompt/Skill/Tool/Plugin/ MCP/ Agent


我上周在配置AILink-Debot工作流的时候,突然停下来了。

对着屏幕愣了几秒。手指悬在鼠标上,脑子里冒出一个特别朴素的问题,我把一段Prompt塞进LLM组件里,配好输入输出,然后把它当成一个Skill在用。但等等,这真的是Skill吗?还是只是Prompt换了个地方躺着,穿了件新衣服?

这个念头像根刺一样扎了我一下午。回去翻资料、看文档、跟几个朋友讨论,才发现很多人在这个问题上都是糊涂的,包括一些做了两三年AI应用的老手。Prompt、Skill、Tool、Plugin、MCP、Agent,这六个词看起来各管一摊,但边界到底在哪?它们是怎么一层一层叠起来的?谁在指挥谁,谁又在给谁打工?

今天把我这段时间理清楚的东西,毫无保留地掏给你。


故事得从最开始的地方说起。

你在ChatGPT对话框里敲下的每一个字,都是Prompt。你说「你是专业翻译,把下面这段中文译成正式英文」,然后贴上一段文字。模型给你结果,这段Prompt的使命就结束了。下次再问,你得从头交代上下文,它不会记得你上回是谁。

这就是Prompt的本质。它是发给LLM的自然语言指令,单次引导模型行为。无状态、无逻辑、一次性。就像你走进厨房对厨师说一句「这个鱼加点姜蒸」。厨师照做了,鱼端上来,这句话的历史使命就完成了。下一条鱼,你还得再说一遍。

很多人以为把Prompt放进AILink-Debot的流水线里,它就升级成Skill了。坦率的讲,我以前也这么以为。但你仔细想想,那个LLM组件里的Prompt文本,本质上还是「对模型说什么」本身。它只是被流水线固化了位置,内容没有变,边界没有变,复用方式也没有变。Prompt放在对话框里是Prompt,放在YAML配置里,它还是Prompt。

那什么才是真正的Skill?

Skill是Prompt的结构化封装层。它不只是固定了一段Prompt模板,还定义了触发条件、任务规则和输出格式。一个真正的Skill有清晰的边界,什么情况进来、什么情况出去、输出什么Schema、能不能被其他Skill调用。你不需要每次告诉它「你现在是一个文本摘要专家」,它自己就知道自己是谁、该干什么、干完长什么样。

典型Skill比如文本摘要、情感分析、代码解释、文案润色。这些能力纯靠LLM本身就能完成,不依赖外部工具。但Skill的价值在于,定义一次,之后无数次调用,而且可以被路由、被组合、被管理。Prompt是能力单元里的文本内容,Skill才是那个能力单元本身。

我自己在做项目的时候踩过这个坑。早期我把所有逻辑都写成大段Prompt塞进工作流,结果每次改一个小需求,都要从头到尾翻一遍上下文,生怕哪句话让模型理解偏了。后来把常用能力拆成独立Skill,配上输入输出Schema,才发现整个世界安静了。不是Prompt不重要,而是Prompt需要被装进一个有身份、有边界的容器里,才能从「一次性指令」变成「可复用资产」。

说到这,有个特别关键的区分要拎清楚。Prompt和Skill本身不产生真实副作用。它们只是在跟LLM对话,输出一段文本。但如果你想让AI去查天气、算数学题、读写数据库、跑一段代码,LLM自己是干不了的。它不会真的去打开一个网页,也不会真的去执行一段Python脚本。这时候就需要Tool登场。

Tool的本质是可被调用的外部功能、函数或服务。它完成的是LLM无法独立完成的真实世界操作。你调用一个计算器Tool,真实世界会发生变化,一个数字被算出来了。你调用一个数据库Tool,真实世界也会变化,一条记录被读出来或者写进去了。你调用一个搜索引擎Tool,模型能获取到训练数据之外的实时信息。你调用一个代码执行器Tool,一段Python脚本真的会被跑起来,返回运行结果。

Prompt和Skill是「动嘴皮子」,Tool是「动手干活」。这个区分特别重要,因为它决定了你的系统能不能影响真实世界。很多企业做AI应用的时候,只停留在Prompt和Skill层,做出来的东西就是一个高级聊天机器人,能说会道但什么都干不了。想要真正的价值,必须让AI长出触手,伸到真实系统里去。

但Tool自己不会说话,至少不会说LLM能听懂的话。你扔给它一个Python函数,LLM不知道这个函数是干什么的、需要什么参数、返回什么格式。这时候就需要Plugin来当翻译。

Plugin的本质是Tool加上接口描述、参数规范和权限配置。它是一份使用说明书,告诉Agent或LLM这个工具是干什么的、怎么调用、传入什么参数。你去看OpenAI的Function Calling或者Claude的Tool Use,背后都是Plugin逻辑在支撑。Tool是功能本体,Plugin是功能的使用手册。没有Plugin,Tool就像一把没有说明书的瑞士军刀,你根本不知道哪个刀片是开瓶器。

Plugin通常用JSON Schema来描述。一个计算器Plugin大概长这样,name字段叫calculator,description写计算数学表达式,parameters里定义expression字段是字符串类型。LLM读到这个描述,就明白什么时候该调用它、该传什么值。这种标准化的描述方式,是Tool能被模型理解和调用的前提。

到这一层,事情开始变得有点复杂了。你有Prompt、有Skill、有Tool、有Plugin,但它们之间怎么通信?每个Tool都要给不同的AI系统写不同的适配代码吗?换个平台就要重写一遍接口吗?

这个问题在2024年底被Anthropic用一个协议解决了。就是现在圈内很火的MCP。

MCP全称Model Context Protocol,是一套标准化通信协议加接口层。它专门解决一个问题,AI如何安全、统一地调用外部工具和服务?它的定位特别像USB-C接口。电脑不需要知道每个设备的驱动程序,走USB-C协议,鼠标键盘硬盘都能用。外部设备也不需要为每台电脑写不同的驱动,暴露MCP接口,就能被所有支持MCP的AI系统调用。

没有MCP之前是什么状况?每个AI系统每个Tool都要单独写适配代码,OpenAI一套、Claude一套、LangChain一套、AILink-Debot又是一套。换个平台,接口重写,重复劳动无穷无尽。有了MCP,Tool一次封装,协议通用,换平台不换接口。这是我最近半年看到的最务实的行业标准推进,没有之一。

MCP的架构特别聪明。它分Client和Server两端。Agent这边装MCP Client,外部工具那边暴露MCP Server。双方用统一的协议通信,Server把自己的能力清单发过去,Client让LLM理解这些能力,然后在需要的时候发起调用。整个过程透明、标准化、可复用。

我上周试了一个MCP Server,接的是本地文件系统。在Claude Desktop里配置好,模型直接就能读取我电脑里的代码文件、分析项目结构、帮我改bug。整个过程没有写一行胶水代码,全靠MCP协议在底层搭桥。那种「插上去就能用」的爽感,真的让我愣了一下。这可能就是标准化协议的魅力,它让复杂的东西变简单,让不兼容的东西变兼容。

而且MCP的生态正在快速膨胀。GitHub上已经有几百个开源MCP Server,覆盖文件系统、数据库、浏览器、Git、Slack、Notion各种场景。国内也有团队开始跟进,比如阿里云百炼已经支持MCP调用,字节跳动的Coze也在做类似的标准化接入。这个趋势很明确,MCP正在从「Anthropic的小众实验」变成「行业公认的事实标准」。

但MCP再厉害,它也只是协议层。它解决的是「怎么连」的问题,不解决「连上之后干什么」的问题。真正决定「干什么」的,是Agent。

Agent是这六层架构的最顶端,自主决策大脑。它具备目标驱动、规划、记忆、反思和调度能力。Agent里有LLM负责理解用户意图,有目标理解模块拆解用户想要什么,有任务规划模块制定执行步骤,有反思纠错模块检查并修正错误,还有记忆管理模块跨会话保持上下文。

Agent跟前面五层的根本区别在于,它有状态,可自主决策,可处理复杂长流程任务。它不是在回答问题,而是在完成任务。你说「帮我整理一下这个项目的代码,找出潜在bug,然后生成一份报告」。一个Prompt只能给你一段文本回复,一个Skill只能做文本摘要,一个Tool只能跑静态分析,但一个Agent会把这整件事拆解成「读取代码→分析结构→运行检测→整理结果→生成报告」多个步骤,自主调度Skill和Tool,多轮执行、纠错、重试,最后把一份完整报告拍在你面前。

Agent的核心是编排执行器。它不直接调用Tool,而是通过编排执行器统一调度。编排执行器负责选工具、调度顺序、重试失败的任务。这个设计特别关键,因为它把「决策」和「执行」解耦了。Agent负责思考该做什么,编排器负责具体怎么做。这种分层让系统更稳定,也更容易调试。

我在做AI智能体平台开发的过程中,越来越清晰地感受到这个分层的力量。Prompt是最底层的原子,Skill是原子组成的分子,Tool是伸向外部世界的触手,Plugin是触手的神经系统,MCP是神经系统之间的通用语言,Agent则是拥有自我意识的大脑。每一层都有明确的职责边界,不越位也不缺位,整个系统才能跑得稳、扩得开。

顺着上面的逻辑再聊聊,这六层之间到底是什么关系?

Agent作为大脑,通过编排执行器统一调度。Skill构建在Prompt之上,是LLM原生能力的封装。Plugin封装Tool的功能描述,让模型理解工具。MCP是AI和外部能力之间的USB-C,统一协议,两头通用。Tool和外部系统打交道,产生真实副作用。Prompt躺在最底层,是所有上层能力的起点,但本身不具备独立身份。

这个分层不是谁拍脑袋想出来的,它是AI应用工程化演进的自然结果。早期大家直接用Prompt做一切,很快发现不可复用、不可维护。然后封装出Skill,发现还是只能动嘴皮子不能动手。于是引入Tool,发现Tool多了管理混乱。于是定义Plugin规范,发现每个平台规范不统一。于是推出MCP协议,最后发现没有大脑统筹,一切都是散兵游勇。于是Agent应运而生。每一层的出现,都是为了解决上一层解决不了的痛点。

说到这,我想聊一个更深的问题。为什么很多人会把这些层级搞混?

我觉得根源在于,我们太习惯用「AI」这个词一锅端了。chatbot是AI,自动驾驶是AI,推荐算法也是AI。这个词太大了,大到掩盖了内部结构的复杂性。Prompt和Agent都被称为AI,但它们的复杂度差了不止一个数量级。就像你把一颗螺丝钉和一台发动机都叫「机械」,聊起来肯定要出误会。

另一个原因是,现在的开发平台和框架在有意模糊这些边界。AILink-Debot、Coze、LangChain这些工具把很多层级封装得很漂亮,让你点几下鼠标就能跑起来。这当然是好事,降低了入门门槛。但如果你只停留在「能跑就行」的层面,不去理解底层架构,等遇到复杂需求的时候,你会发现自己根本不知道问题出在哪一层。是Prompt写错了?还是Skill边界没定义好?还是Tool的返回格式不对?还是Agent的规划逻辑有bug?

我自己吃过这个亏。上个月一个项目里,Agent在调度工具的时候总是出错,我一开始以为是Tool的代码有bug,查了半天没问题。后来发现是Plugin的参数描述写得不准确,模型理解错了该传什么值。再往前追溯,是因为那个Skill的触发边界没定义清楚,不该它接的请求被路由过来了。一个问题,横跨了三层。如果我不理解这个分层架构,可能现在还在原地打转。

所以这个六层模型,不只是个分类游戏,它是你排查问题的地图,是你设计系统的蓝图。

回到开头那个让我愣神的问题。我在AILink-Debot里配的LLM组件,到底是Prompt还是Skill?

现在我可以给出一个清晰的答案了。不在于它「放在哪里」,在于它「有没有独立身份」。如果你只是写了一段Prompt文本,配了个输入输出,那它就是Prompt。如果你给它定义了触发条件、输出Schema、可被其他模块调用,那它才升级成了Skill。下次你设计AI系统的时候,也可以问问自己这个问题,我是在写一段文本,还是在定义一个能力?前者是Prompt,后者才是Skill。

顺着这个思路再往前推演一步。未来的AI系统会怎么演化?

我看过一个很有意思的观点,说这六层架构其实跟计算机体系结构有异曲同工之妙。Prompt像机器指令,Skill像微程序,Tool像硬件外设,Plugin像驱动程序,MCP像总线协议,Agent像操作系统。计算机从裸机到现代操作系统走了几十年,AI应用从Prompt到成熟Agent生态可能只需要几年,但底层逻辑是相通的,分层解耦、标准化接口、向上抽象。

MCP的出现是一个关键拐点。它让Tool层真正具备了跨平台复用的可能性,就像TCP/IP让不同网络能互联互通一样。我可以预见,未来会出现大量第三方MCP Server市场,你需要什么能力,搜一下、配一下、插上就能用。查股票的有股票MCP,操作Excel的有表格MCP,控制智能家居的有IoT MCP。Agent作为大脑,像搭积木一样组合这些能力,完成越来越复杂的任务。

但我也得泼点冷水。Agent不是万能药。现在的Agent在简单任务上表现不错,一旦任务链超过五六步,出错率就会明显上升。规划能力、反思能力、记忆能力,这些听起来很酷,但工程落地的时候到处都是坑。状态管理怎么做、长记忆怎么存、多Agent怎么协作、安全边界怎么设,这些问题到现在都没有标准答案。

我有时候觉得,现在的Agent生态像是2010年的移动互联网。iPhone刚出来几年,大家都知道方向是对的,但具体怎么做应用、怎么商业化、怎么形成生态,还在摸索。MCP可能是那个「App Store时刻」,让更多人能参与进来,但距离真正成熟,还有一段路要走。

所以我的态度是,既兴奋又谨慎。兴奋的是,这六层架构的清晰化,让AI应用开发从「炼丹」变成了「工程」。谨慎的是,每一层都有大量的细节魔鬼,不是看了几篇科普文就能搞定的。

最后,我想用大白话把这六层再串一遍,方便你记住。

Prompt是你对厨师说的一句指令,「这个鱼加点姜蒸」。Skill是厨师练出来的手艺,切、炒、炖,每样都是标准动作,不用你每次都教。Tool是锅铲烤箱秤,真实干活的物理工具。Plugin是工具的使用说明书,告诉你这个锅怎么开火、那个秤怎么读数。MCP是后厨的标准化传菜通道,菜做完了走这个通道送出去,不管送到哪张桌子都走同一条路。Agent是主厨,统筹点菜、排菜、流程、把控最终结果。

你从顾客走进餐厅到一盘菜端上桌,背后就是这六层在协作。缺了哪一层,这顿饭都吃不安生。

写到这,我想起一个特有意思的事。有个朋友问我,既然Agent这么厉害,那未来是不是不需要程序员了?

我当时的回答是,那你得先搞清楚,你问这个问题的这个行为本身,是在哪一层发生的。你用的是Prompt,期待的是Agent的能力,但中间隔了Skill、Tool、Plugin、MCP整整四层。每一层都需要有人去设计、去维护、去优化。Agent越强大,底层的工程量反而越大。不是不需要程序员了,是程序员的工作内容变了。从写业务代码变成了设计Skill边界、定义Tool接口、维护MCP协议、调试Agent决策逻辑。

这大概就是技术演化的常态。每一波新技术都嚷嚷着要消灭某个职业,最后往往是那个职业换了身衣服继续存在,而且变得更重要了。


最后总结下:

  1. 1. Prompt:最底层的原子指令本质:发给LLM的自然语言上下文指令,单次引导模型行为。无状态、无逻辑、一次性。价值:单次引导模型
  2. 2. Skill:Prompt的结构化封装层本质:可复用的LLM原生任务能力单元。价值:可复用原生能力
  3. 3. Tool:外部真实执行单元本质:可被调用的外部功能、函数或服务作用:完成LLM无法独立完成的真实世界操作——计算器算数学、搜索引擎查资料、数据库读写、代码执行器跑程序。价值:真实世界执行
  4. 4. Plugin:Tool的标准化接口封装本质:Tool + 接口描述 + 参数规范 + 权限配置。作用:让Agent/LLM能够理解一个工具是干什么的、怎么调用、传入什么参数。价值:让模型理解工具
  5. 5. MCP:AI调用外部能力的标准化协议MCP,全称Model Context Protocol,是一套标准化通信协议 + 接口层,专门解决一个问题:AI如何安全、统一地调用外部工具和服务?价值:AI与外部能力的统一接口
  6. 6. Agent:顶层自主决策大脑本质:具备目标驱动、规划、记忆、反思、调度能力的决策系统。Agent有状态,可自主决策,可处理复杂长流程任务——它不是在回答问题,而是在完成任务。价值:目标驱动自主完成任务

谢谢你看我的文章,我们,下次再见。

/ 作者:mojianpo/ 投稿或爆料,请联系邮箱:406223802@qq.com