Jean's Blog

一个专注软件测试开发技术的个人博客

0%

智能体(AI Agent)介绍:从大模型到自主执行

智能体(AI Agent)介绍

本文是「智能体」系列的开篇。与其把 Agent 简单理解成“接入了工具的大模型”,不如把它看成一个由模型、上下文、运行时、推理、记忆、工具和技能共同组成的执行系统。

本文重点回答几个问题:

  • Agent 与普通聊天机器人、传统工作流有什么区别?
  • AI Agent 是如何从“会回答”演进到“能完成任务”的?
  • 一个现代 Agent 的完整架构包含哪些层?
  • Agent 从接收用户目标到返回结果,要经过哪些步骤?
  • ReAct、Workflow、Runtime、Harness Engineering 和 MCP 分别解决什么问题?
  • 面对 LangChain、LangGraph、OpenAI Agents SDK、DeepAgents 等方案,应该如何选择?

一、为什么需要智能体:从“会回答”到“能完成任务”

大语言模型(LLM)擅长理解上下文、生成文本和进行推理,但模型本身并不等于一个完整的执行系统。它可以提出“应该查天气、读取文件或运行测试”,却需要外部运行时真正完成这些动作,并将结果再次反馈给模型。

因此,下面这些说法需要稍微修正:

常见说法 更准确的理解
LLM 没有记忆 模型本身不会自动形成跨会话记忆,但应用可以通过上下文、会话状态、数据库或知识库提供记忆。
LLM 不会使用工具 模型可以生成结构化的工具调用请求;工具的实际执行、权限控制和结果回传由运行时负责。
LLM 只能单轮问答 只使用模型接口时通常是单轮生成;加入运行时后,可以形成多轮、多步骤的执行循环。
LLM 输出不可控 幻觉和不稳定性仍然存在,但可以通过工具验证、结构化输出、评估、重试和人工审核降低风险。

Agent 的价值,不只是给模型增加“手和脚”,而是把模型放进一个可执行、可观测、可恢复的工作环境中。 模型负责理解目标和做决策,运行时负责调度工具、管理状态、处理错误,并决定何时暂停或结束。

Agent 的基本定义

可以用一句工程化的定义概括:

AI Agent 是一个以模型为决策核心,能够接收目标、使用上下文和工具,在运行时中循环执行并交付结果的系统。

这里的关键词是:目标、决策、工具、状态、反馈和执行。Agent 不一定完全自主,也不一定必须进行复杂规划;在高风险任务中,让人类在关键节点确认,反而是更可靠的设计。


二、智能体、大模型与传统程序的区别

维度 传统程序 大模型(LLM) 智能体(Agent)
本质 固定逻辑和确定性流程 参数化概率模型 模型与执行环境组成的系统
输入 结构化参数 自然语言或多模态输入 用户目标、上下文和环境状态
行为 按预先编排的路径执行 生成文本或结构化结果 根据当前状态决定下一步行动
工具 在代码中显式调用 只能描述要调用什么 选择工具,由运行时执行并回传结果
记忆 通常由程序显式管理 依赖当前上下文窗口 结合会话状态、长期记忆和检索系统
控制方式 程序员控制每一步 用户控制每一轮 运行时、策略和人工共同控制执行过程
失败处理 由代码预先定义 通常只返回一次结果 可以重试、回滚、反思、转交或请求人工介入

一句话总结:大模型是决策能力,传统程序是确定性执行,智能体是把两者放进同一套闭环系统。


三、智能体的演进:七个阶段

智能体(Agent)演进全景图:从提示词到自主智能体

智能体的演进,不是简单地“模型越来越聪明”,而是模型能力、上下文组织、工具连接和运行环境逐步补齐的过程。可以按照能力跃迁分为七个阶段:

阶段 时间参考 核心问题 典型能力
提示词工程(Prompt Engineering) 2018 年以前 如何让模型回答得更好? 通过提示词约束角色、格式和任务目标
上下文工程(Context Engineering) 2018—2020 年 如何把正确的信息交给模型? 组装文档、知识库、历史对话、检索结果和工具结果
工具使用智能体(Tool-Using Agent) 2021—2022 年 如何让模型采取行动? Function Calling、API、搜索、文件和数据库调用
工作流 / 编排智能体(Workflow Agent) 2023—2024 年 如何可靠地执行复杂流程? DAG、状态图、条件分支、重试、回滚和人工介入
Agent Runtime 2025 年 如何让 Agent 稳定运行? 运行状态、记忆、计划、反思、工具和可观测性统一管理
Harness Engineering 2026 年 如何给 Agent 提供完整的工作环境? 权限、安全、验证、反馈、代码库规则和任务边界协同工作
自主进化智能体 2026 年以后 如何长期完成目标并持续改进? 长周期任务、自主规划、经验沉淀、协作和受控自我改进

其中,Harness Engineering 不是某个单独的模型或 SDK,而是一种面向 Agent 的工程方法:人类负责定义目标、约束和反馈机制,Agent 在明确的工具、权限、测试与验证环境中执行任务。

智能体(Agent)演进路线图

从“提示词”到“工作环境”的变化

早期关注点是“怎样写一条更好的提示词”;现在更重要的问题是:

  • Agent 能否获得完成任务所需的上下文?
  • 工具是否有清晰的边界、权限和输入输出约束?
  • 任务是否可以暂停、恢复、重试和回滚?
  • 结果是否能够通过测试、规则或人工审核验证?
  • 运行过程是否可观测,出了问题能否定位原因?

这也是为什么现代 Agent 的竞争力,越来越取决于模型之外的系统设计


四、智能体的核心架构:七层而不是五个孤立组件

现代 AI Agent 七层架构图

传统介绍经常把 Agent 概括成“模型、规划、记忆、工具、行动”五个组件。这个概括适合入门,但在工程实践中还需要把上下文工程、运行时 / Harness 和技能层单独看出来。一个更完整的七层架构如下:

层级 模块 主要职责
1 基础模型(Foundation Model) 理解、生成、推理和多模态处理,提供 Agent 的基础智能。
2 上下文工程(Context Engineering) 组织系统提示词、用户输入、历史对话、检索内容、工具结果和任务约束。
3 运行时 / Harness(Runtime / Harness) 管理执行循环、状态、权限、超时、重试、并发、暂停恢复和安全边界。
4 推理与决策(Reasoning) 对目标进行拆解,选择下一步行动,依据反馈进行调整或反思。
5 记忆系统(Memory) 管理短期会话记忆、长期知识、用户偏好、任务历史和检索增强(RAG)。
6 工具与连接层(Tools & MCP) 连接数据库、API、文件系统、搜索引擎、浏览器及其他外部系统。
7 技能层(Skills) 将领域知识、操作规范和可复用工作流封装成可调用的能力模块。

各层之间如何协作

一次典型执行可以抽象为:

1
2
3
4
5
6
7
8
9
10
11
12
13
用户目标

上下文工程:准备规则、历史、知识和任务状态

模型推理:理解目标,选择计划或下一步行动

运行时:检查权限并执行工具 / 技能

观察结果:把工具输出、错误和环境变化写回上下文

继续推理、修正、重试,或请求人工确认

生成结果并记录运行轨迹

因此,Agent 不是一个“会自主思考的函数”,而是一个包含状态和执行边界的系统。模型可以更换,工具可以扩展,但运行时、权限、验证和可观测性决定了它能否真正进入生产环境。


五、Agent 如何工作:从输入到结果返回的完整闭环

前面的七层架构回答了“Agent 由什么组成”,运行流程则回答“这些组件如何在一次任务中协同工作”。完整流程不只是 ReAct 的“思考—行动—观察”,还包括上下文构建、结果验证、完成判断、安全控制和可观测性。

image-20260821093458621

1. 主流程:九个步骤

一次完整的 Agent 运行,可以拆分为九个步骤:

步骤 阶段 主要工作 核心负责方
1 意图理解 识别用户意图,解析目标、约束和期望输出。 Agent + LLM
2 上下文构建 组装系统规则、对话历史、长期记忆、知识检索结果和环境状态。 Runtime / Context Engineering
3 规划与决策 基于当前上下文推理,决定下一步行动,必要时拆分任务。 LLM
4 执行动作 根据模型决策,调用 Skill 或 Tool,或者直接回答、追问、继续推理。 Runtime
5 观察结果 接收工具或技能的执行结果,包括成功数据、错误信息和环境变化。 Runtime
6 结果处理与验证 解析、过滤、校验和结构化执行结果,判断数据是否可信、完整。 Runtime + Guardrails / Validators
7 评估与判断 判断目标是否完成、结果是否可靠、是否还需要更多信息。 LLM + Runtime 策略
8 生成最终回答 整合有效信息,生成自然语言、结构化数据或其他交付物。 LLM
9 返回结果 将答案交付给用户,并按需保存状态、记忆和运行记录。 Agent / Application

这里最重要的是第 7 步“评估与判断”

  • 如果目标已经完成,进入第 8、9 步,生成并返回最终结果;
  • 如果目标尚未完成,则更新上下文,回到规划阶段,开始下一轮循环;
  • 如果缺少必要信息,可以向用户追问;
  • 如果遇到高风险操作、权限不足或无法自动处理的异常,可以暂停并请求人工介入;
  • 如果达到时间、token、费用或最大循环次数限制,则由运行时终止任务并返回可解释的状态。

因此,Agent Loop 不是无限循环,而是一个受到完成条件、失败条件、资源预算和安全策略共同约束的状态循环。

2. ReAct 是运行循环的核心模式,但不是完整流程

ReAct(Reasoning + Acting)通常用于描述 Agent 内部的核心循环:

1
2
3
Reason:根据目标、上下文和观察结果进行推理
Act:选择并调用 Skill 或 Tool
Observe:接收外部执行结果并写回上下文

它大致对应上图中的:

1
2
3
规划与决策(3) → 执行动作(4) → 观察结果(5)
↑ ↓
└── 评估后继续循环(7)

但生产级 Agent 不能只实现这三个动作。它还需要在循环前完成意图理解和上下文构建,在工具返回后进行结果验证,在循环结束后生成并返回答案。换句话说:

ReAct 描述的是 Agent 的局部决策循环,Runtime 描述的是保障整个任务从开始到结束的完整执行机制。

3. LLM、Agent、Runtime 与能力层如何分工

这几个概念容易混淆,可以按照职责区分:

组件 负责什么 不负责什么
LLM 理解、推理、规划、选择下一步行动、生成回答 不直接访问数据库、执行代码或改变外部系统
Agent 面向用户目标组织模型、上下文、记忆和能力,形成任务闭环 不等于某一次模型调用,也不等于某一个工具
Runtime / Harness 驱动循环、调度调用、管理状态、权限、预算、异常和暂停恢复 不替代模型完成语义推理
Skill 封装可复用的领域知识、操作步骤和工作流 不一定直接连接外部系统
Tool 执行数据库查询、API 调用、文件读写、代码运行等具体操作 不负责理解完整用户目标
MCP 标准化暴露、发现和连接工具或资源 MCP 本身不是工具,也不自动保证工具安全可靠
外部系统 提供真实数据或接受操作,例如数据库、业务 API、文件系统和搜索服务 不参与 Agent 的规划与完成判断

例如,当用户要求“读取销售数据并生成分析报告”时,LLM 决定需要哪些数据;Runtime 校验调用是否合法;Tool 或 Skill 执行查询与分析;MCP 可以作为连接这些能力的标准协议;最终仍由 Agent 汇总结果并返回给用户。

4. 贯穿全流程的三类治理能力

完整运行流程还包含三组不属于某个单一步骤、而是贯穿始终的横切能力。

安全与控制

  • 权限与访问控制:限制用户、数据和操作权限,遵循最小权限原则;
  • Guardrails 与限制:进行内容过滤、敏感操作拦截、参数校验、超时和成本控制;
  • 人工参与(HITL):在付款、删除、发布、发送等高风险动作前进行审批或确认。

观察与监控

  • 日志记录:保存模型请求、工具调用、响应、错误和状态变化;
  • 指标监控:统计延迟、成功率、token、成本、循环次数和资源使用;
  • 追踪与调试:通过 trace 还原每一步决策和调用链路,支持问题定位与回放。

评估与优化

  • 效果评估:使用准确性、任务完成率、用户满意度和业务指标衡量质量;
  • 提示词与 Skill 优化:根据失败案例改进指令、上下文组织和能力封装;
  • 回归测试:建立固定测试集,防止模型、提示词、工具或工作流更新造成能力退化。

所以更准确的表达是:模型负责决策,Runtime / Harness 负责执行与治理,Skill 和 Tool 提供能力,MCP 提供标准化连接,外部系统承载真实数据与操作。


六、工具、MCP 与技能:Agent 如何连接外部世界

工具(Tools)

工具是 Agent 可以调用的外部能力,例如搜索、数据库查询、文件读写、代码执行、浏览器操作和业务 API。一个好的工具应该具备:

  • 清晰、稳定的名称和参数 Schema;
  • 明确的返回格式和错误信息;
  • 最小必要权限;
  • 幂等、超时和审计设计;
  • 对危险操作提供预览或人工确认。

MCP(Model Context Protocol)

MCP 可以理解为一种连接标准:它让 Agent 通过统一的协议发现和使用外部工具、资源与提示模板,减少每个应用都重复编写连接适配器的工作。MCP 解决的是连接与发现问题,并不会自动解决权限、安全、数据质量或业务正确性问题。

技能(Skills)

技能位于工具之上,更接近“完成一类工作的能力”。例如“分析一份测试报告”可能会组合读取文件、运行脚本、查询缺陷系统和生成 Markdown 报告等多个工具。将这些步骤和领域规则封装成技能,可以让 Agent 复用成熟的工作方式,而不是每次从零规划。


七、主流框架与平台:按控制程度选择

截至 2026 年 8 月,可以从“控制程度”和“运行环境”两个维度理解常见方案:

方案 定位 适合场景
LangChain 模型、工具、消息和中间件等通用抽象 快速搭建 LLM 应用与标准 Agent
LangGraph 面向状态图的 Agent 编排运行时 需要分支、循环、持久化、恢复和人工介入的复杂流程
OpenAI Agents SDK 提供 Agent、Runner、工具、Handoff、Guardrails 等原语 希望用较少抽象构建单 Agent 或多 Agent 应用
DeepAgents 面向复杂任务的深度智能体能力 任务分解、上下文隔离、子智能体和长任务执行
Claude Code / Devin 等 Coding Agent 以代码仓库和开发工具为工作环境的 Agent 编码、测试、调试、提交和代码审查
Dify / Coze 等平台 可视化工作流与 Agent 平台 快速验证业务想法、低代码交付

选择时可以遵循一个简单原则:

  • 流程确定、分支清晰:优先使用普通代码或工作流,不必强行引入 Agent。
  • 需要模型在有限范围内选择动作:使用 Tool-Using Agent 或 LangChain。
  • 需要循环、持久化、暂停恢复和人工审核:使用 LangGraph 或其他明确的 Runtime。
  • 需要长任务、子智能体和上下文隔离:考虑 DeepAgents 等深度智能体方案。
  • 需要让 Agent 操作代码库或真实工作区:重点设计 Harness,而不只是选择模型。

八、智能体的应用场景

Agent 适合那些目标可以描述、行动可以授权、结果可以验证的任务:

场景 典型应用 关键控制点
知识问答 检索企业文档、汇总资料、回答问题 引用来源、检索质量、权限隔离
代码开发 修改代码、运行测试、提交变更、代码审查 沙箱、测试、差异审查、人工合并
数据分析 查询数据库、生成图表、解释指标 SQL 权限、数据脱敏、结果校验
客户服务 查询订单、处理工单、转接人工 身份认证、操作授权、升级策略
办公自动化 整理邮件、生成文档、同步任务和日程 外发确认、敏感信息保护、审计
软件测试 生成用例、执行测试、分析失败日志 环境隔离、可重复执行、人工复核
多智能体协作 研究、规划、执行和审核分工 角色边界、通信成本、统一验收

九、挑战与展望

当前挑战

  • 可靠性:多步执行会放大错误,需要计划、验证、重试和人工介入。
  • 上下文管理:上下文并非越多越好,必须保持相关、最新且可追溯。
  • 安全与权限:工具调用可能产生真实副作用,必须遵循最小权限和可审计原则。
  • 成本与延迟:循环、检索和多智能体协作都会增加模型调用次数。
  • 评估困难:Agent 的结果和过程都需要评估,单看最终文本往往不够。
  • 长期任务管理:任务暂停、恢复、超时、回滚和环境变化仍然是工程难点。

未来趋势

未来的重点不会只是“让模型更会回答”,而是建设更完整的 Agent 工作环境:

  • 更强的 Runtime / Harness:让任务可控、可观测、可恢复、可治理;
  • 更好的上下文工程:自动选择信息,减少噪声和上下文污染;
  • 更成熟的技能与协议生态:通过 Skills、MCP 等方式复用能力;
  • 更可靠的人机协同:让人类负责目标、边界和验收,Agent 负责执行;
  • 受控的长期自治:在明确权限和反馈机制下完成长周期任务,而不是无限循环。

结语

智能体的演进路线,可以概括为:

单次对话 → 工具调用 → 流程自动化 → 自主规划 → 协作智能 → 自我改进

理解 Agent,不能只盯着模型本身。真正决定系统能否落地的,是上下文是否准确、工具是否可靠、运行时是否可控、结果是否可验证,以及整个工作环境是否为 Agent 做了正确的设计。

后续文章将分别介绍 LangChain 系列LangGraph 系列DeepAgents 系列Harness Engineering 系列 的具体实践。