AIAgent 不只是大模型+ Function Calling!一文讲透 Planner、Memory、Skill、Tool、MCP 和 Harness
能回答问题的模型,和能独立完成任务的 Agent,中间隔着一整套工程体系。
这两年,AI Agent 的技术名词越来越多。
Planner、Reasoning、Memory、Tool、Function Calling、MCP、Skill、Workflow、Reflection、Harness……几乎每隔一段时间,就会出现一个新的概念。
有些开发者把 Agent 理解成大模型加工具调用,有些人认为接入 MCP 就拥有了智能体能力,还有人开始给 Agent 配置各种 Skill,希望它能够承担更多专业工作。
这些技术放在一起,究竟是什么关系?
我一直觉得,理解 AI Agent,不能只看它调用了多少工具,也不能只看它背后使用了什么模型。真正值得研究的是,当用户交给它一项复杂任务时,它如何理解目标、制定计划、选择技能、调用工具、处理结果,最后把事情完整交付。
我们可以用一个具体任务来理解。假设你对 Agent 说:
「帮我研究一下最近 AI Agent 行业的发展趋势,整理成一份 PPT,然后发送到飞书。」
这句话看起来很简单。但 Agent 真正需要完成的工作包括资料搜集、信息筛选、行业分析、观点提炼、PPT 制作、内容检查和消息发送。中间任何一个环节出现问题,都可能影响最终结果。
它需要知道先做什么,应该使用什么能力,资料不够怎么办,生成的 PPT 是否符合要求,飞书有没有真正发送成功。
这已经涉及一整套 Agent 技术架构。
📌 本文看点
01
九大模块与五层架构
02
Skill:从通用到专业
03
Agent Loop 与 Harness
01ARCHITECTURE
先看整体架构,AI Agent 到底由什么组成?
我把一个完整的 AI Agent 拆成九个核心模块:Planner、Reasoning、Memory、Skill、Tool、MCP、Agent Loop、Reflection 和 Harness / Runtime。它们分别承担不同的职责。
| 模块 | 核心职责 | 解决的问题 |
|---|---|---|
| Planner | 任务规划 | 接下来要做什么 |
| Reasoning | 推理决策 | 当前应该怎么判断 |
| Memory | 记忆管理 | 如何保留和使用信息 |
| Skill | 专业技能 | 具体工作应该怎么完成 |
| Tool | 工具执行 | 如何执行具体操作 |
| MCP | 外部连接 | 如何连接不同系统 |
| Agent Loop | 执行循环 | 如何持续推进任务 |
| Reflection | 结果反思 | 如何发现错误并修正 |
| Harness / Runtime | 工程运行 | 如何保证整个系统可靠运行 |
这里有一个容易被忽略的地方。这九个模块并不是九个互相独立的程序,也不一定对应九个独立的 Agent。它们是从不同职责角度划分出来的架构能力,实际产品可以把多个能力放在同一个运行时中。
从技术架构上看,可以把它们归纳为五个层次。
1任务入口。接收用户目标,明确任务要求和交付结果。
2智能决策。Planner、Reasoning、Memory 和 Reflection 负责理解、规划、判断与修正。
3专业能力。Skill 负责把专业知识、操作规范和工作方法组织起来。
4工具连接。Tool、Function Calling 和 MCP 负责让 Agent 获得外部执行能力。
5工程运行。Harness / Runtime 负责管理上下文、执行状态、权限、异常、日志和任务生命周期。
其中,Agent Loop 会贯穿整个执行过程。理解了这个结构,再来看每个模块,就容易多了。
02
PLANNING
Planner 和 Reasoning,决定 Agent 如何思考和行动
1. Planner,负责把目标拆成任务
用户提出的通常是一个结果要求,而不是一份可以直接执行的操作清单。例如,制作一份 AI Agent 行业研究 PPT。Planner 首先需要理解用户的目标,识别最终交付物,然后将任务拆解成若干步骤。
...task-decompositionUser Goal
│
▼
Planner
│
├── Task 1:收集行业资料
├── Task 2:分析技术架构
├── Task 3:研究代表性产品
├── Task 4:提炼行业趋势
├── Task 5:生成 PPT
├── Task 6:检查内容和格式
└── Task 7:发送飞书
这就是 Task Decomposition,也就是任务拆解。不过,Planner 的工作不应停留在生成一张 Todo List。复杂任务中,子任务之间存在依赖关系。
例如,PPT 的内容必须建立在研究结果之上,研究结论又需要经过资料验证。如果第一步没有找到足够的有效资料,后面的任务就应该调整。因此,Planner 还需要考虑任务依赖、执行顺序、任务状态和动态重规划。
2. Reasoning,负责当前的推理和决策
Planner 给出了整体计划,Reasoning 则负责处理执行过程中的具体判断。假设 Agent 搜索到两份资料:一份认为 AI Agent 已经进入企业核心业务,另一份认为大部分企业 Agent 仍处于试点阶段。Agent 应该如何处理?
它需要分析资料发布时间、来源可信度、研究对象和统计口径,判断两份资料是否真的存在冲突。如果两份资料讨论的是不同企业规模、不同业务场景,结论可能完全可以同时成立。
Reasoning 需要完成问题分析、逻辑推理、方案比较和行动决策。两者的职责可以这样理解:
「Planner 管理任务的整体安排,Reasoning 处理当前步骤中的判断。」
一个负责任务推进,一个负责具体决策。两者通常会相互配合。
03
MEMORY
Memory,为什么 Agent 需要记忆?
我们再看一个问题。假设 Agent 已经完成了三轮资料搜索,整理出一份研究框架,还生成了部分 PPT。这时,如果系统丢失了之前的任务状态,它可能会重新搜索资料,重复分析已经完成的内容,甚至忘记用户最初提出的要求。这就是 Memory 要解决的问题。
Agent 的记忆可以按照用途划分为几类。
| 类型 | 保存内容 | 使用场景 |
|---|---|---|
| 短期记忆 | 当前对话和上下文 | 理解用户刚刚提出的要求 |
| 工作记忆 | 当前任务状态和中间结果 | 记录已完成步骤 |
| 长期记忆 | 稳定偏好和长期信息 | 了解用户的长期习惯 |
| 情景记忆 | 过去任务及执行经验 | 参考以前的处理方式 |
这里需要注意,Memory 和 Context 并不是一回事。Context 是模型当前能够使用的信息集合,Memory 则负责保存、检索和更新有长期价值的信息。记忆中的内容可以在需要时被检索,再注入当前上下文。
一个比较完整的 Memory 系统,还需要处理几个问题。
Memory Retrieval
什么时候检索记忆。
Memory Update
什么情况下更新记忆。
Memory Consolidation
如何整理和压缩历史信息。
Context Management
如何控制上下文长度。
例如,用户曾经要求所有行业研究报告都附上资料来源,这个偏好可以进入长期记忆,在下一次研究任务中被检索出来。而当前 PPT 已经完成到第六页,则属于当前任务的工作状态。这两类信息不能混在一起管理。
04
SKILL
Skill,Agent 从通用能力走向专业工作的关键
我认为,Skill 是当前 Agent 架构中非常值得重点研究的一项技术。很多 Agent 已经具备浏览器搜索、代码执行、数据库查询和文档生成能力。但工具很多,能否完成专业工作,仍然取决于Agent 是否掌握正确的方法。
例如,让一个 Agent 制作行业研究报告。它可以调用搜索工具,也可以读取 PDF,还可以生成 PPT。但它是否知道应该如何选择资料来源?是否知道如何交叉验证信息?是否知道如何组织研究框架?是否知道一份报告应该检查哪些问题?这些都属于专业工作方法。Skill 正是为了解决这类问题。
1. Skill 到底是什么?
Skill 可以理解为一套可以被 Agent 发现、加载和执行的专业能力包。它通常包含技能说明、操作流程、参考资料、脚本和示例。以常见的 Agent Skills 目录组织方式为例,一个 Skill 可以长这样:
...directoryresearch-skill/
│
├── SKILL.md
│
├── references/
│ ├── research-method.md
│ ├── source-guide.md
│ └── report-template.md
│
├── scripts/
│ ├── search.py
│ └── verify.py
│
└── assets/
└── template.pptx
其中,SKILL.md是技能的入口文件。它会告诉 Agent 这个技能适合什么任务、什么时候应该使用、执行时需要遵循哪些要求,以及需要读取哪些资源。references保存专业知识和参考规范,scripts保存可以复用的程序,assets则可以放置模板等配套文件。
需要说明的是,不同 Agent 平台对 Skill 的目录结构和加载机制可能有所差异,上面展示的是一种常见的组织方式。
2. 一个 Skill 应该包含什么?
以 Research Skill 为例,可以把它拆成几个部分。
| 组成部分 | 作用 |
|---|---|
| Metadata | 技能名称和适用场景 |
| Instructions | 定义技能的执行规则 |
| Workflow | 规定具体工作步骤 |
| References | 提供专业知识和参考资料 |
| Scripts | 执行可复用的程序 |
| Examples | 展示输入输出和质量要求 |
这里最重要的是 Instructions。Agent 发现任务适合某个 Skill 后,可以读取 SKILL.md,了解这项工作的具体要求,再根据需要加载参考资料和脚本。例如,Research Skill 可以规定:
1先明确研究主题和范围。
2优先寻找可靠的信息来源。
3对重要信息进行交叉验证。
4将事实、观点和推断分开整理。
5提炼关键结论。
6按照指定模板输出研究报告。
7检查来源、数据和内容完整性。
Agent 执行这项任务时,就有了一套可以遵循的工作方法。
3. Skill 是如何被 Agent 使用的?
实际执行时,可以形成这样的过程。

这里有一个很重要的设计:Skill 通常可以按需加载,不必在 Agent 启动时把所有技能的完整内容都塞进上下文。Agent 可以先了解技能的名称和描述,判断是否匹配,再读取具体的 SKILL.md;遇到特定任务时,再加载相关参考资料和脚本。这样既能管理上下文,也方便企业持续增加专业技能。
4. 企业为什么需要 Skill?
想象一家企业,里面有销售、财务、研发、客服和数据分析团队,每个岗位都有自己的工作方法。销售人员知道如何整理客户信息、判断商机、准备拜访材料;财务人员知道如何核对数据、检查异常、执行审批;研发人员知道如何阅读代码、运行测试、进行代码审查。这些经验原来主要保存在员工的脑子里、团队文档里和业务流程里。
Skill 可以将其中一部分整理成 Agent 能够调用的专业能力。例如:
Research Skill
行业研究和资料分析。
Coding Skill
代码开发、测试和审查。
Data Analysis Skill
数据清洗、统计分析和报告。
PPT Skill
内容组织、页面设计和图表生成。
Customer Service Skill
客户问题分类、知识检索和回复规范。
企业可以逐步沉淀自己的 Skill 库。以后新建一个 Agent 时,不必从头编写所有专业工作规则,可以根据任务组合已有技能。这对企业 Agent 的规模化应用很有价值。
05
TOOL & MCP
Tool 和 MCP,Agent 如何真正连接外部世界?
有了规划、推理、记忆和专业技能,Agent 还需要执行能力。这就涉及 Tool 和 MCP。
1. Tool,提供具体的执行能力
Tool 是 Agent 可以调用的工具接口。常见的工具包括:
| 工具类别 | 典型能力 |
|---|---|
| 信息获取 | 浏览器搜索、网页读取 |
| 代码执行 | Python、Shell |
| 数据处理 | SQL、Excel |
| 文档生成 | Word、PPT、PDF |
| 协作办公 | 飞书、邮件、Notion |
| 企业业务 | CRM、ERP、业务 API |
例如,Research Skill 规定了研究步骤,Browser Search Tool 负责搜索资料,Python Tool 可以进行数据分析。Skill 决定工作方法,Tool 提供实际执行能力。
2. Function Calling,模型如何调用工具?
大模型通常不会直接操作外部系统。开发者需要向模型提供工具的名称、描述和参数结构。当模型判断需要调用工具时,会生成符合定义的结构化调用请求。例如:
...json{
"tool": "search_web",
"arguments": {
"query": "AI Agent industry trends 2026"
}
}
Agent Runtime 接收到调用请求后,再由对应的执行组件真正调用搜索服务。工具执行完成后,系统把结果返回给模型,模型根据结果继续处理任务。这就是典型的 Function Calling 流程。
💡 模型生成了工具调用请求,不代表工具已经成功执行。真正的执行结果需要由运行环境确认。
3. MCP,让 Agent 连接更多外部系统
当一个 Agent 需要连接 GitHub、飞书、Notion、数据库和企业内部系统时,逐个开发和维护接口会增加工作量。MCP,也就是 Model Context Protocol,为模型应用连接外部工具和上下文提供了一套标准化协议。它的基本组成包括:
MCP Host
承载 AI 应用的宿主环境。
MCP Client
负责与 MCP Server 通信。
MCP Server
向客户端提供能力。
Tools
提供可调用的操作。
Resources
提供可读取的上下文资源。
Prompts
提供可复用的提示模板。
例如,Agent 可以连接 GitHub MCP Server,获取仓库信息、读取代码或执行允许的操作;也可以连接飞书 MCP Server,查询消息、读取文档或发送通知。这里要分清三个概念:
「Skill 规定怎么做,Tool 提供具体操作,MCP 提供标准化连接方式。」
三者配合起来,Agent 才能把专业方法真正应用到外部系统中。
06
LOOP
Agent Loop,为什么智能体需要不断循环?
前面介绍的模块,最终都要进入一个执行过程,这就是 Agent Loop。传统的软件流程通常由开发者提前定义好每一步,程序按照固定顺序运行;而 Agent 面对的任务经常存在不确定性。
第一次搜索可能找不到有效资料,工具可能超时,生成的文件可能不符合要求。它需要根据实际结果决定下一步。一个典型的 Agent Loop 可以表示为:

例如,Agent 正在制作 AI Agent 行业研究 PPT。第一次搜索时,它发现资料不足。于是 Planner 调整研究计划,Reasoning 决定增加技术架构和产品案例两个方向,Research Skill 继续指导资料搜集,Tool 执行搜索。
接下来,Agent 获取资料并生成 PPT。如果检查发现数据缺少来源,它会重新检索;如果页面布局出现问题,则调用相应的文档处理工具进行修改。每一次工具执行,都会产生新的 Observation。Agent 根据这些结果更新当前状态,再决定下一步行动。
这就是 Agent Loop 的价值。它让 Agent 可以在复杂任务中持续推进,而不必把所有步骤都提前写死。
💡 循环必须有边界。系统需要设置最大执行步数、超时、预算、权限和终止条件,避免 Agent 陷入无休止的调用。
07
REFLECTION
Reflection,Agent 如何检查自己做得对不对?
Agent 完成了动作,事情就一定做好了吗?未必。搜索工具返回了结果,不代表资料可靠;PPT 文件生成成功,不代表内容正确;飞书接口返回了响应,也需要确认消息是否真正发送到目标位置。Reflection 负责对执行过程和最终结果进行检查。可以把它分成几个环节:
Result Verification
检查结果是否符合任务要求。
Error Detection
发现内容错误、工具异常和执行失败。
Plan Correction
发现问题后,调整原有任务计划。
Memory Update
将值得保留的经验和任务结果更新到记忆系统。
这里还有一个工程细节值得注意:Reflection 可以让模型参与判断,但不能把所有检查都交给模型自己说了算。例如,PPT 是否存在,可以通过文件系统检查;数据格式是否正确,可以通过程序校验;飞书是否发送成功,需要检查工具执行结果。不同类型的问题应该使用不同的验证方式。我比较认同一种设计思路:
「重要任务必须有明确的完成条件,不能只凭 Agent 自己认为已经完成。」
08
RUNTIME
Harness / Agent Runtime,决定 Agent 能否稳定运行
前面讲了八个核心能力,还有一层经常被忽略,那就是 Harness。如果说 Planner 负责规划,Skill 负责专业方法,Tool 负责执行,那么 Harness / Runtime 就负责让这些能力在一个可控的环境中协同工作。这也是为什么现在越来越多 Agent 工程讨论开始关注 Harness Engineering。一个 Agent 运行起来,至少要处理下面这些问题:
| 工程模块 | 具体职责 |
|---|---|
| Runtime | 管理 Agent 生命周期 |
| State Management | 管理任务状态 |
| Context Engineering | 管理上下文信息 |
| Tool Orchestration | 管理工具调用 |
| Permission Control | 控制工具和数据权限 |
| Retry & Recovery | 处理超时和异常 |
| Observability | 记录执行过程 |
| Evaluation | 评估任务完成质量 |
举个实际问题。用户让 Agent 修改 GitHub 仓库中的代码。Agent 已经读取文件,生成了修改方案,也准备调用工具提交代码。这时系统需要判断:
1当前 Agent 有没有权限修改这个仓库?
2是否允许直接提交?
3是否需要人工审批?
4执行失败后应该重试几次?
5任务中断以后能否恢复到之前的状态?
这些都属于 Harness 需要处理的工程问题。尤其在企业环境中,权限控制和执行审计非常重要。Agent 可以拥有很强的推理能力,但它能执行哪些操作,必须由运行环境和企业权限规则决定。
我认为,Harness Engineering 会成为企业 Agent 建设中非常重要的一项工程能力。模型能力影响 Agent 能够解决多复杂的问题,Harness 则影响它能否持续、稳定、可追踪地完成任务。
09
EXECUTION
把九大模块放在一起,完整执行一次任务
现在回到文章开头的例子:
「研究 AI Agent 行业趋势,生成 PPT,并发送到飞书。」
我们把整个过程串起来。
1用户提出目标。Agent 接收任务,理解最终需要交付一份 PPT,并发送到指定飞书位置。
2Planner 制定计划。将任务拆解为资料收集、信息分析、内容组织、PPT 生成、结果检查和消息发送。
3Reasoning 分析执行要求。判断研究范围、资料来源和内容组织方式,确定当前应该先做哪一步。
4Memory 提供上下文。读取用户之前的报告偏好、PPT 格式要求和当前任务状态。
5Skill 提供专业方法。加载 Research Skill,按照规定的研究流程搜集和验证资料;随后加载 PPT Skill,按照页面设计和内容规范制作演示文稿。
6Tool 和 MCP 执行具体操作。通过浏览器搜索资料,使用数据分析工具整理信息,调用 PPT 生成工具制作文件,再通过飞书连接发送。
7Agent Loop 持续推进。每完成一个步骤,就获取执行结果并判断下一步。如果资料不够,就继续研究;如果文件生成失败,就调整参数重新执行。
8Reflection 检查结果。检查 PPT 内容、文件完整性和发送状态,发现问题后重新处理。
9Harness 管理整个执行过程。持续管理任务状态、上下文、权限、调用记录、异常恢复和任务终止。
最终,Agent 向用户返回 PPT 文件和飞书发送结果。整个执行过程可以总结为:

这才是一套比较完整的 Agent 执行架构。
∞
SUMMARY
Agent 技术正在从模型能力走向系统工程
把这些技术放在一起看,会发现 Agent 的发展已经涉及多个不同的工程领域。Planner 负责任务拆解,Reasoning 负责判断,Memory 负责信息管理,Skill 负责专业工作方法,Tool 负责执行,MCP 负责连接,Agent Loop 负责持续推进,Reflection 负责检查,Harness 负责整个系统的运行管理。每一项技术都有自己的位置。
我尤其看好 Skill 和 Harness 这两个方向。Skill 让专业工作方法能够被沉淀和复用,未来企业可能会拥有自己的 Skill Library,把研发、财务、销售、客服和数据分析等岗位的部分工作经验整理成标准化技能。Harness 则让这些技能真正进入生产环境,它需要管理模型、上下文、工具、权限和执行状态,保证 Agent 在长任务中能够持续工作。
这也会改变企业建设 AI Agent 的方式。过去,企业更关心选择哪个模型、接入哪个 API、使用什么 Agent 框架;接下来,企业还需要认真考虑专业技能如何沉淀、工具如何管理、执行权限如何划分、任务如何验证,以及运行过程如何审计。
模型当然重要,但一个 Agent 能否真正承担工作,最终取决于整套系统的配合。