简介:很多人误以为大模型 Agent 就是各种 Prompt 的简单堆叠。本文系统定义 Agent 的本质,拆解其感知、规划、工具调用、记忆与执行的完整闭环,并用一张对比表分清 Agent Skills、普通 Prompt 与 MCP 三者的边界差异,帮助你判断什么时候用 Prompt 就够了、什么时候才需要真正的 Agent 架构。
大模型 Agent(智能体)是一种以大语言模型为决策核心、围绕用户目标进行自主感知、规划、决策与执行,并能依据环境反馈持续调整行为、直至任务完成的软件系统。
理解这个定义,要抓住三个关键词:
而 Prompt 只是人与模型之间的一次输入表达。一句话概括:Prompt 是接口,Agent 是架构。把 Agent 说成 Prompt 的堆叠,就像把一辆车说成“零件的堆叠”——零件确实都在,但真正让零件成为车的,是结构、控制系统和动力闭环。
这个误解并非空穴来风。从实现细节看,Agent 与大模型的每一次交互确实都表现为一段 Prompt:系统指令是 Prompt,工具返回结果拼接后是 Prompt,历史对话塞回上下文也是 Prompt。于是很容易得出结论:Agent 无非是把很多 Prompt 串在了一起。
但这里混淆了两个层面:
堆叠意味着静态、固定、无反馈;Agent 的核心则是动态循环:规划 → 行动 → 观察 → 修正。如果抽掉循环控制与反馈机制,只留下一摞写死的 Prompt,Agent 就退化成一份很长的说明书,遇到任何计划外状况都会失效。这就是二者在能力上的分水岭。
一个典型的大模型 Agent 通常由五个部分协同构成:
可见,Prompt 只是让“大脑”接收信息的载体之一;五个模块协同构成的系统,才是 Agent 的本体。
Agent 的运行可以概括为“感知—规划—行动—观察”的循环,示意如下(伪代码):
goal = 获取用户目标()state = 初始化状态()while 未完成(goal, state) and 步数未超限:plan = 大模型.规划(goal, state, 记忆.检索(goal))action = 大模型.选择动作(plan, 可用工具列表)if action 属于工具调用:result = 沙箱.执行(action) # 含权限校验else:result = action.文本回复state.更新(action, result)记忆.写入(action, result)return 汇总最终结果
这个循环揭示了 Agent 与 Prompt 堆叠的本质差异:Prompt 堆叠是“一次性把所有指令写完”,要求使用者预判全部情况;Agent 是“边执行边决定下一步”,由系统在运行中消化不确定性。前者靠人的前瞻,后者靠机器的反馈。
这是实践中最容易混淆的三个概念,核心差异如下:
| 维度 | 普通 Prompt | Agent Skills | MCP |
|---|---|---|---|
| 本质 | 一段自然语言指令 | 封装好的能力模块 | 标准化的工具/上下文接入协议 |
| 作用层面 | 输入层:告诉模型做什么 | 能力层:扩展 Agent 会做什么 | 连接层:规范模型与外部系统如何连接 |
| 结构化程度 | 纯文本,无结构约束 | 通常含名称、描述、触发条件、执行步骤与输出规范 | |
| 复用性 | 低,逐次手工编写 | 高,可被多个 Agent 复用 | 高,一次接入、多处调用 |
| 直观类比 | 给员工的一句嘱咐 | 员工掌握的一项技能 | 公司统一的接口规范 |
分别展开:
三者的关系可以一句话理解:Prompt 决定模型这一次怎么想,Skills 决定 Agent 掌握哪些可复用的做事方法,MCP 决定这些方法背后的工具如何被标准化连接。它们处于不同抽象层次,比较的其实是“输入、能力、连接”三个层面,而非同一维度的竞争关系。
Prompt 足够的场景:任务单步可完成、路径确定、不依赖外部信息。如文本润色、格式转换、模板化生成、一次性问答。这类任务上引入 Agent 属于过度设计,反而徒增延迟与成本。
需要 Agent 的场景:
一个简单判断标准:如果你在写 Prompt 时能预判全部情况,用 Prompt;如果任务需要“边走边看”,才需要 Agent。
回到最初的问题:大模型 Agent 不是 Prompt 的堆叠。Prompt 是模型的信息入口,Agent 是以模型为决策核心、由规划、工具、记忆与治理共同构成的动态系统;堆叠是静态拼接,Agent 是带反馈的闭环。分清普通 Prompt(输入表达)、Agent Skills(能力封装)与 MCP(连接标准)三个层次后,你就能在“写好一段提示词”与“构建一个智能体”之间,做出清醒而克制的技术选择。