Appearance
利用 Agent 技术让 AI 像人类一样拆解任务并逐一完成
本文旨在全面介绍 AI Agent 技术的概念、架构、核心能力及其在任务自动化和智能化处理中的应用,深入剖析 Agent 如何模拟人类思维方式,实现复杂任务的拆解、规划、执行与反思。我们将探讨 Agent 如何通过工作流、思维链(Chain of Thought)、工具使用等关键机制提升任务处理的准确性和可控性,并结合实际案例和 Coze 平台的操作演示,帮助读者构建对 Agent 技术的系统性认知。
一、Agent 概念解析
1.1 Agent 的定义与理解
Agent,通常翻译为“代理”或“智能体”。“智能体”的翻译更为贴切。从广义上讲,Agent 是一个应用程序,它可以是纯软件,也可以结合硬件。这个应用程序具备一定的智能属性。
Agent 的核心特征在于它不仅仅是一个被动执行指令的程序,而是能够感知环境、进行决策、并采取行动以达成特定目标的实体。它能够模拟人类的某些认知功能,如学习、推理、规划和问题解决。
与传统的语言模型(LLM)相比,Agent 的能力更为广泛:
- LLM(大语言模型): 主要功能是文字输入和文字输出(部分模型支持图片或视频输出)。LLM 本身不具备操作软件、调用接口、访问数据库或执行复杂任务链的能力。
- Agent: 必须具备使用工具、记忆、规划和执行动作的能力。它以 LLM 为核心大脑,但通过外部功能、代码和周边系统进行配合,从而超越 LLM 的局限。
1.2 Agent 的核心组成与能力
一个典型的 Agent 系统通常由以下几个核心组件和能力构成,如下图所示:
mermaid
graph LR
A[Agent] -- 核心 --> LLM{LLM(大脑)}
A --> Tools[工具使用 Tools]
A --> Memory[记忆 Memory]
A --> Planning[规划 Planning]
A --> Action[行动 Action]
Memory --> STM[短期记忆 Short-term memory]
Memory --> LTM[长期记忆 Long-term memory]
Tools --> C[日历 Calendar()]
Tools --> CC[计算器 Calculator()]
Tools --> CI[代码解释器 CodeInterpreter()]
Tools --> S[搜索 Search()]
Tools --> M[...]
Planning --> R[反思 Reflection]
Planning --> SC[自我批评 Self-critics]
Planning --> CoT[思维链 Chain of thoughts]
Planning --> SD[子任务分解 Subgoal decomposition]
subgraph "Agent 核心能力图示"
direction LR
A
LLM
Tools
Memory
Planning
Action
STM
LTM
C
CC
CI
S
M
R
SC
CoT
SD
endLLM (大语言模型): 作为 Agent 的“大脑”,负责理解、推理、生成内容和决策。
工具 (Tools): Agent 能够调用外部工具或 API 来获取信息、执行操作或与外部系统交互。例如:
- 日历 (Calendar())
- 计算器 (Calculator())
- 代码解释器 (CodeInterpreter())
- 搜索引擎 (Search())
- 各类数据 API、企业系统 API 等。
记忆 (Memory): Agent 必须具备记忆能力,以存储和检索信息,支持持续学习和上下文感知。
- 短期记忆 (Short-term memory): 用于存储当前任务或对话的即时信息。
- 长期记忆 (Long-term memory): 用于存储持久化的知识、经验和用户偏好,通常通过数据库或向量库实现。
规划 (Planning): Agent 能够制定计划、分解复杂任务,并决定执行步骤。其子能力包括:
- 反思 (Reflection): 对过去的行动和结果进行评估和学习。
- 自我批评 (Self-critics): 识别自身决策或行动中的错误和不足。
- 思维链 (Chain of Thoughts, CoT): 模拟人类的推理过程,通过输出一系列中间步骤来解决复杂问题。
- 子任务分解 (Subgoal decomposition): 将一个大的、复杂的目标分解为一系列更小、更易于管理和执行的子任务。
行动 (Action): Agent 能够根据其决策执行具体的动作,这些动作可能涉及调用工具、与用户交互或改变内部状态。执行动作的前提是能够做出决策。
1.3 Agent 架构概览
1.3.1 通用 Agent 架构
下图展示了一个更通用的 Agent 架构,强调了用户、Agent 和 LLM 之间的交互流程:
mermaid
graph TD
User[用户] -- Prompt/请求 --> Agent[Agent]
Agent -- Response/回复 --> User
Agent -- "使用" --> PromptTemplate[提示词模板<br/>Prompt Template]
Instructions[具体指令<br/>Instructions] --> PromptTemplate
Agent -- "驱动" --> Planning[规划与推理模块<br/>Planning/Reasoning]
Planning -- "交互" --> LLM[LLM 大语言模型]
Agent -- "发起" --> Actions[行动模块<br/>Actions]
Actions -- "调用" --> Tools[外部工具<br/>Tools]
Agent -- "管理" --> MemoryAccess[记忆存取模块<br/>Store/Retrieve]
MemoryAccess -- "操作" --> Memory[记忆<br/>Memory]核心流程:
- 用户输入 (Prompt): 用户向 Agent 提出请求或问题。
- Agent 处理: Agent 接收请求,而不是直接传递给 LLM。
- 规划与推理 (Planning/Reasoning): Agent 利用其规划能力,决定如何处理该请求,可能需要 LLM 进行思考和决策。
- LLM 调用: Agent 指示 LLM 进行必要的思考、分析或内容生成。
- 工具使用与记忆调取: 基于 LLM 的输出和自身规划,Agent 可能会调用外部工具或从记忆中检索信息。
- 行动执行: Agent 执行最终的行动。
- 响应生成: Agent 将结果或回复反馈给用户。
这个架构的核心思想是将用户交互的中心从 LLM 转移到了 Agent。Agent 负责协调所有资源(LLM、工具、记忆)来完成任务。
具体应用示例:Feature Store 与个性化邮件营销
一个具体的例子是 Agent 利用记忆和工具执行业务任务。例如,Agent 可以访问存储用户电影偏好等信息的特征库(Feature Store,这是一种记忆形式)。结合语言模型(大脑)的理解和生成能力,Agent 可以为特定用户(如用户 ID14,偏好科幻和动作片)生成个性化的营销邮件,推荐相关的电影(如《肖申克的救赎》、《教父》等,尽管这些例子本身可能与用户画像不完全匹配,但演示了机制)。这体现了 Agent 如何整合用户数据、通过 LLM 进行内容创作,并可能通过邮件发送工具(一种行动)来完成一个完整的营销活动。
1.3.2 更全面的 Agent 系统架构
下图描绘了一个更全面的 Agent 系统,整合了用户交互界面、Agent 核心组件以及外部 API 和服务:
mermaid
graph TD
UI[用户交互界面] --> AGENT_CORE[Agent 核心]
subgraph AGENT_CORE_GROUP[Agent 核心组件]
P[Prompt]
L[LLM 大语言模型]
W[工作流 Workflow]
DDB[数据库 Database]
VDB[向量库 Vector Store]
T[触发器 Triggers]
end
AGENT_CORE -- 使用 --> P
AGENT_CORE -- 使用 --> L
AGENT_CORE -- 控制/调度 --> W
W -- 可能调用 --> L
W -- 可能读写 --> DDB
W -- 可能查询 --> VDB
T -- 触发 --> W
%% 定义工具节点
MAP_TOOL[地图工具]
FORM_TOOL[表单工具]
SEARCH_TOOL[搜索工具]
CODE_EXEC_TOOL[代码执行工具]
DATA_FETCH_TOOL[数据获取工具]
IMG_REC_TOOL[识别工具]
IMG_GEN_TOOL[生图工具]
VID_GEN_TOOL[生视频工具]
TTS_TOOL[语音合成工具]
GEN_3D_TOOL[3D生成工具]
%% Agent核心连接工具
AGENT_CORE -- 使用 --> MAP_TOOL
AGENT_CORE -- 使用 --> FORM_TOOL
AGENT_CORE -- 使用 --> SEARCH_TOOL
AGENT_CORE -- 使用 --> CODE_EXEC_TOOL
AGENT_CORE -- 使用 --> DATA_FETCH_TOOL
AGENT_CORE -- 使用 --> IMG_REC_TOOL
AGENT_CORE -- 使用 --> IMG_GEN_TOOL
AGENT_CORE -- 使用 --> VID_GEN_TOOL
AGENT_CORE -- 使用 --> TTS_TOOL
AGENT_CORE -- 使用 --> GEN_3D_TOOL
subgraph 外部API_通用
GM_API[高德地图 API]
GS_API[谷歌表单 API]
BS_API[百度搜索 API]
CE_API[代码执行 API]
DA_API[各类数据 API]
end
subgraph 外部API_多模态
IR_API[4O图像识别 API]
DALLE_API[DALLE 生图 API]
HV_API[海螺视频 API]
XF_API[讯飞语音合成 API]
SD3D_API[SD 3D API]
end
subgraph 企业内部系统与API
ENT_DB[企业数据库]
ENT_VDB[企业向量库]
ENT_SYS_API[企业系统 API]
end
%% 工具连接到API
MAP_TOOL --> GM_API
FORM_TOOL --> GS_API
SEARCH_TOOL --> BS_API
CODE_EXEC_TOOL --> CE_API
DATA_FETCH_TOOL --> DA_API
IMG_REC_TOOL --> IR_API
IMG_GEN_TOOL --> DALLE_API
VID_GEN_TOOL --> HV_API
TTS_TOOL --> XF_API
GEN_3D_TOOL --> SD3D_API
%% Agent核心直接连接到企业系统
AGENT_CORE -- 通过插件访问 --> ENT_DB
AGENT_CORE -- 通过插件访问 --> ENT_VDB
AGENT_CORE -- 通过插件调用 --> ENT_SYS_API
%% 用户界面交互
UI -- 输入 --> AGENT_CORE
AGENT_CORE -- 输出 --> UI主要组成部分:
用户交互界面 (User Interface): 用户与 Agent 交互的入口,可以是网页、App、聊天窗口等。它是 Agent 所有输入输出的通道。
Agent (核心层 - 内部组件):
- Prompt: 存储和管理用于指导 LLM 行为的提示词。
- LLM (大语言模型): 作为核心大脑,负责决策、分析和输出。
- 工作流 (Workflow): 定义任务执行的步骤、顺序、分支和循环,确保任务按预定逻辑进行。工作流引擎是 Agent 调度的核心。
- 数据库 (Database): 存储结构化数据,如用户信息、对话历史、配置信息等,用于实现 Agent 的短期和部分长期记忆。
- 向量库 (Vector Store): 存储非结构化的知识片段(如文档、FAQ),用于实现企业私有知识库(RAG 的核心组件),支持语义搜索和知识检索。
- 触发器 (Triggers): 使 Agent 能够主动执行任务,而不仅仅是被动响应。可以是定时触发(如每日报告)或事件触发(如特定条件满足时)。
外部 API 与服务 (External APIs & Services):
- 通用 API: 如高德地图 API、百度搜索 API、DALLE 生图 API、讯飞语音合成 API 等。
- 企业内部 API: 企业数据库 API、企业向量库 API、企业系统 API(如 ERP、CRM 接口)。
- 多模态模型 API: 如 4O 图像识别 API、海螺视频 API、SD 3D API 等。一个典型的多模态 Agent 应用场景是设备故障诊断。例如,在电信服务中,用户可以拍摄故障网络设备的照片并上传给 Agent。Agent 利用图像识别 API(如 4O 图像识别 API)识别设备型号,即使面对数百种不同型号的设备,也能快速调取对应的说明书或故障排除步骤,从而高效指导用户解决问题。这展示了 Agent 整合视觉信息处理能力的巨大价值。
工具/插件 (Tools/Plugins): Agent 通过这些接口调用外部服务或企业内部系统,扩展其能力范围。
交互逻辑:
- 用户通过交互界面发起请求。
- Agent 接收请求,其内部的工作流引擎开始运作。
- 工作流根据预设逻辑,调度 LLM 进行思考和决策。
- 在执行过程中,Agent 可能需要通过插件调用外部 API(如搜索、图像生成)或访问企业内部系统。
- Agent 从数据库或向量库中存取信息,以利用记忆和私有知识。
- 触发器可能根据预设条件主动启动某些工作流程。
- 最终,Agent 整合处理结果,通过用户交互界面反馈给用户。
1.4 Agentic Reasoning Design Patterns (Agent 推理设计模式)
吴恩达 (Andrew Ng) 提出了 Agent 推理的几种关键设计模式,这些模式对于构建强大和可靠的 Agent 至关重要:
- 反思 (Reflection): Agent 能够回顾和评估其先前的行动和结果,从中学习并改进未来的决策。这是一种自我纠错和优化的能力。
- 工具使用 (Tool use): Agent 能够有效地利用外部工具来扩展其能力,例如执行计算、搜索信息、与物理世界交互等。这是 Agent 区别于单纯 LLM 的关键特征。
- 规划 (Planning): Agent 能够将复杂任务分解为一系列可管理的步骤,并制定执行计划。这涉及到预见未来的状态和行动的可能后果。
- 多 Agent 协作 (Multi-agent collaboration): 多个 Agent 可以协同工作,共同解决更复杂的问题。每个 Agent 可能扮演不同的角色或拥有特定的专长。
其中,Reflection 和 Tool use 被认为是相对成熟和鲁棒的技术,而 Planning 和 Multi-agent collaboration 仍属于新兴技术领域,具有巨大的发展潜力。
1.5 Agent 与大模型的区别总结
| 特性 | 大语言模型 (LLM) | AI Agent |
|---|---|---|
| 核心功能 | 语言理解与生成 (主要文字输入输出) | 任务导向,整合多种能力 (LLM、工具、记忆、规划、行动) |
| 交互中心 | LLM 本身 | Agent (作为协调者) |
| 记忆能力 | 通常无内置持久记忆 (依赖上下文窗口) | 必须具备短期和长期记忆能力 (通过数据库、向量库等实现) |
| 工具使用 | 通常不直接使用外部工具 | 核心能力,通过 API 调用外部服务和系统 |
| 任务处理 | 擅长单轮或简单多轮对话,任务相对简单 | 能够处理复杂、多步骤的任务,通过工作流控制执行流程 |
| 主动性 | 被动响应用户输入 | 可通过触发器实现主动执行任务 |
| 本质 | 一种模型 | 一个应用程序或系统,LLM 是其核心组件之一 |
| 可控性 | 相对较低,输出有时难以预测 | 通过工作流、明确的指令和步骤,可控性更高 |
简单来说: 如果 LLM 是大脑,那么 Agent 就是拥有大脑、感官、记忆和行动能力的完整机器人。用户直接与 LLM 对话,就像只与大脑交流;而与 Agent 交互,则是与整个机器人系统互动。
二、Agent 如何提升准确性与可控性
Agent 的核心优势之一在于其能够显著提升 AI 应用在处理复杂任务时的准确性和可控性。这主要通过以下几个方面实现:
2.1 工作流 (Workflow) 的核心作用
- 明确任务步骤: 工作流允许将一个复杂的任务分解为一系列定义清晰的步骤。Agent 会严格按照这些步骤执行,从而使整个过程更加透明和可预测。
- 结果可控: 通过预设的流程,可以更好地控制每一步的输入和输出,减少 LLM 自由发挥带来的不确定性。
- 逻辑控制: 工作流支持条件分支(if-else)、循环(loop)、并行处理等逻辑控制结构,使得 Agent 能够根据不同情况采取不同策略,并能处理重复性任务或进行多次尝试。
- 错误处理与重试: 可以在工作流中设计错误检测和恢复机制。例如,如果某个步骤失败,可以自动重试,或者执行预定义的错误处理流程。
2.2 纠错与检测机制
- LLM 自我纠错: 对于 LLM 执行的步骤,如果可能出错,可以设计 Prompt 引导 LLM 进行自我检查和修正。
- 增加检测节点: 在关键步骤之后增加一个专门的检测节点(例如,另一个 LLM 或规则引擎),对前一步的结果进行评估和验证。例如,在生成回答后,用一个打分模型对回答质量进行评估。
- 犯错与自省过程 (思维链 CoT): 对于难以直接检测的任务,可以设计一个允许 LLM 犯错并随后进行反思和修正的过程。通过引导 LLM 输出其思考步骤(思维链),可以暴露其推理过程,从而更容易发现和纠正错误。
2.3 数据驱动的进化能力
中间数据的重要性: Agent 在执行任务过程中产生的各种数据(用户输入、LLM 输出、工具调用结果、错误信息、用户反馈等)是提升其能力和准确性的最重要抓手。
持续学习与优化: 通过收集和分析这些数据,可以:
- 优化 Prompt 设计。
- 改进工作流逻辑。
- 更新知识库(向量库)。
- 甚至为模型的微调(Fine-tuning)提供高质量数据。
进化能力优先: 一个 Agent 系统当前的性能固然重要,但更重要的是它是否具备通过数据积累和学习来持续进化的能力。
2.4 提升准确性的关键总结
- 可控性是核心: 通过工作流将复杂任务分解为可控的步骤,是提升准确性的首要前提。
- 明确的指令: 为 Agent 的每一步提供清晰、无歧义的指令(Prompt)。
- 多重验证: 结合 LLM 自我纠错、独立检测节点和用户反馈,形成多层验证机制。
- 思维链辅助: 在适当的场景下运用思维链,让模型“思考出声”,帮助发现和解决深层次问题。
- 数据闭环: 收集和利用任务执行过程中的数据,持续优化 Agent 的各个组件。
与强化学习的区别:
虽然目标都是让 AI 产品变得更聪明,但提升 Agent 准确性的方法与强化学习(Reinforcement Learning, RL)有显著区别。99% 以上的公司在优化 AI 应用时,不会直接采用复杂的强化学习方法来训练底层大模型。原因包括:
- 成本与复杂度高: 强化学习对数据量、算力以及算法工程师的专业技能要求极高。
- 可替代方案多: 通过优化 Prompt、工作流、知识库(RAG)、以及更简单的微调方法(如 SFT),往往能以更低的成本达到良好的效果。
- AI 产品 vs. 模型: 优化 AI 产品不一定需要改变模型本身。通过改进 Agent 的架构、流程和数据,即使底层 LLM 不变,AI 应用的表现也能持续提升。
三、思维链 (Chain of Thought, CoT)
3.1 思维链的定义
思维链 (Chain of Thought, CoT) 是一种促使大型语言模型(LLM)在回答问题或执行任务时,显式地输出一系列中间推理步骤的技术。其核心思想是模拟人类在解决复杂问题时的思考过程,通过“把思考过程写下来”的方式,引导模型更深入、更准确地进行推理。
对比示例:
问题: 如果把我们正在学的课程,所有的直播回放都转成文字,然后用来做 RAG,应该怎么切片?
无思维链的回答: 每 5 分钟切成一片。
- 评价: 过于简单,缺乏依据。
有思维链的回答: 课程里面的内容属于教学内容,教学内容一节课一般是 45-60 分钟,一节课里一般会有 2-3 个重要板块,平均每个板块 15-20 分钟、3-5 个知识点,也就是平均每个知识点 3-5 分钟。因此,我们可能平均 3-5 分钟切片一个片段比较好。严谨一点的话,我们可以让 GPT 处理一下知识点的段落分割。
- 评价: 展示了分析和推理过程,结论更合理。
思维链并非新生事物,早在 R1、O1 这类具备内化推理过程的模型出现之前,就可以通过 Agent 的架构和精心设计的 Prompt 来实现类似的多步推理效果。
3.2 思维链在 Agent 中的应用场景
思维链特别适用于以下场景:
- 复杂问题求解: 当任务需要多步逻辑推断、信息综合或复杂计算时。
- 需要解释性的任务: 当不仅需要答案,还需要了解得出答案的过程时。
- 提升鲁棒性和准确性: 通过分解问题,减少模型直接跳到错误结论的可能性。
- 文件检索与信息综合: 例如,在一个包含多个文档的知识库中查找特定信息,并基于这些信息回答复杂问题。Agent 可能需要依次检查多个文件,从每个文件中提取相关片段,然后综合这些片段形成最终答案。这个过程中的每一步决策(检查哪个文件、提取什么信息)都可以通过思维链来引导和记录。
3.3 思维链的实现机制
在 Agent 中实现思维链,通常依赖于精心设计的 Prompt 模板和多轮交互框架。
核心要素:
明确的指令结构: Prompt 中会明确要求模型输出其思考过程,包括:
- 关键概念识别与拆解: 分析任务中的核心实体、概念、数值等。
- 反思 (Reflection): 回顾已执行的步骤和结果,评估当前进展。
- 思考 (Thinking): 基于当前信息和目标,分析下一步需要做什么。
- 推理 (Reasoning): 进行逻辑推断。
- 计划 (Planning): 制定下一步的具体行动方案。
- 校验 (Verification): 检查计划的合理性和可行性。
受限的动作空间 (Action Space): Agent 通常只能执行预定义的一组动作或调用一组特定的工具。Prompt 会列出这些可选动作,模型需要在其思考的最后一步选择一个动作。
- 示例动作:
list_file_name (列出文件名),ask_document (基于文档回答问题),inspect_excel (探查表格结构),analysis_excel (分析表格数据),finish (结束任务)。
- 示例动作:
记录与反馈循环:
- Agent 执行一个动作后,其结果会作为新的信息反馈给模型。
- 这个反馈会更新“任务执行记录”部分,模型在进行下一步思考时会参考这些历史记录。
- 通过这种“思考 -> 决策动作 -> 执行动作 -> 获取结果 -> 更新记录 -> 反思 -> 新一轮思考”的循环,Agent 逐步完成任务。
示例:通过翻找文件回答问题的 Agent
任务目标: 让 Agent 像人类一样,通过翻找一系列文件来回答用户提出的问题(例如:“九月份销售额最高的产品是什么?”)。
约束与流程:
- 单步单操作: 每一步只允许 Agent 对一个文件执行一个操作。
- 结果反馈: 每一步操作后,Agent 会收到操作结果(例如,列出的文件名列表,或某个 Excel 文件的表头和前几行数据)。
- 记录思考过程: 记录每一步的思考、决策(选择的动作)、实际执行的动作以及操作结果。
- 回顾历史: 在进行下一步决策前,Agent 会回顾之前所有步骤的记录。
Prompt 核心结构 (简化版):
plaintext
你是强大的AI助手。
你的任务是:{{用户的问题}}
你必须按照以下步骤进行输出,输出形式如下:
{
"思考过程": {
"关键概念": "...",
"概念拆解": "...",
"反思": "回顾之前的执行记录,我发现...",
"思考": "为了回答用户的问题,我下一步需要找到/分析...",
"推理": "根据现有信息,我推断...",
"计划": "我计划执行以下动作...",
"校验": "这个计划看起来是合理的。"
},
"决策动作": { // 从以下可用动作中选择一个
"动作名称": "例如 inspect_excel",
"动作参数": { // 如果动作需要参数
"文件名": "例如 sales_data_2023.xlsx"
}
}
}
可用的动作/工具包括:
1. list_file_name: 列出所有可用的文件名。
2. ask_document: (参数: 文件名) 根据指定的Word或PDF文档内容回答问题。
3. inspect_excel: (参数: 文件名) 展示指定Excel文件的表结构(列名和前三行数据)。
4. analysis_excel: (参数: 文件名, Python代码) 对指定的Excel文件执行Python代码进行深度分析。
5. finish: (无参数) 当你认为任务已完成,所有信息已找到时,选择此动作。
约束:
- 每次决策只能选择一个动作。
- ... (其他约束) ...
- 请确保在决策动作之前,已完整输出思考和分析过程。
以下是你之前的任务执行记录:
{{历史执行记录}} // 初始为空,后续逐步填充值得注意的是,在一些高级或复杂的 Agent 应用中(如上述的‘通过翻找文件回答问题的 Agent’),所使用的思维链 Prompt 模板可能会非常详尽和复杂,可能包含数千字的指令。例如,其‘思考过程’部分可能会被进一步细分为‘关键概念识别’、‘概念拆解’、‘先前步骤反思’、‘当前步骤思考’、‘逻辑推理’、‘行动计划制定’、‘计划校验’等多个子环节,以更精细地引导模型的思考流程。同时,‘历史执行记录’的维护和传入也是这类复杂 CoT Agent 的核心机制。
执行流程示例:
第 1 轮:
- 用户问题: “九月份销售额最高的产品是什么?”
- 历史记录: 空
- Agent 思考: 需要找到销售数据文件,第一步应该是列出所有可用文件。
- Agent 决策:
list_file_name - 系统执行: (通过插件) 列出文件:
["2023年销售数据.xlsx", "2024年总结大会.pptx", "2025年上半年业务计划.docx"]
第 2 轮:
- 用户问题: (同上)
- 历史记录:
步骤1: 动作=list_file_name, 结果=["2023年销售数据.xlsx", ...] - Agent 思考: 发现 "2023 年销售数据.xlsx" 可能相关,需要查看其内容结构。
- Agent 决策:
inspect_excel, 文件名="2023年销售数据.xlsx" - 系统执行: (通过插件) 读取 Excel,返回表头(如:月份, 产品名称, 销售额)和前三行数据。
第 3 轮 (及后续):
- Agent 思考: 表格结构已知,需要筛选 9 月份数据并找出最高销售额。
- Agent 决策:
analysis_excel, 文件名="2023年销售数据.xlsx", Python 代码=(用于筛选和计算的Pandas代码) - 系统执行: (通过代码解释器插件) 执行代码,返回结果。
- 如果结果明确,Agent 下一步可能决策
finish 并提供答案。
通过这样的多轮“思考-行动-观察-再思考”循环,Agent 能够逐步逼近并解决复杂问题。思维链使得这个过程更加透明和可控,也更容易进行调试和优化。
四、基于 Coze 平台的工作流与 Agent 实践
Coze 等 Agent 开发平台提供图形化界面,使得非程序员也能构建和管理 Agent 的工作流。
4.1 工作流 (Workflow) 基础
工作流是控制 Agent 执行任务步骤的核心机制。它定义了任务如何开始、中间经过哪些处理节点、以及如何结束。
创建工作流: 在 Coze 平台的“资源库”中可以创建新的工作流(或对话流,对话流是特殊的工作流,更侧重对话任务)。
基本节点:
- 开始节点: 工作流的起点,通常接收用户输入(
USER_INPUT)作为初始数据。 - 结束节点: 工作流的终点,负责输出最终结果。
- 开始节点: 工作流的起点,通常接收用户输入(
连接线: 节点之间通过连接线传递数据和控制流程。
4.2 核心节点类型及其配置
大模型 (LLM) 节点:
作用: 调用指定的大语言模型(如 DeepSeek-V3, 通义千问, 豆包等)执行一次对话或处理任务。
配置:
模型选择: 选择要使用的大模型。
输入参数 (Input): 定义该节点接收的数据。通常会连接前一个节点的输出或开始节点的用户输入。
- 变量: 节点间传递数据的载体。变量有类型(如文本、数字),传递时需类型匹配。理解变量的一个简单方式是将其想象成一个杯子。杯子(变量)可以装东西(数据),比如水或酒。不同的杯子有不同的大小和用途(变量类型),例如啤酒杯和白酒杯。在节点间传递数据时,就像从一个杯子向另一个杯子倒水,需要确保两个杯子的类型是兼容的(例如,不能直接将大杯啤酒倒入小号白酒杯还期望它能装下所有内容),否则可能导致数据丢失或错误。
- 引用变量: 在 Prompt 中通过特定格式(如 Coze 中使用
)将输入数据显示在提示词中。
系统提示词 (System Prompt): 定义 AI 的角色、目标、行为准则、注意事项等。
用户提示词 (User Prompt): 通常包含具体的任务指令和引用的输入变量。
输出参数 (Output): 定义该节点产生的结果,可以被后续节点引用。通常为纯文本。
示例: “回答用户问题”节点,接收用户问题,结合系统提示词(如索尼店员角色),生成回答。
条件判断 (If/Else) 节点 / 选择器 (Selector):
作用: 根据特定条件的值,将工作流导向不同的分支。
配置:
- 输入条件: 通常引用前一个节点(如打分节点)的输出结果。
- 判断逻辑: 设置条件,如
打分节点的输出 == 90。在设计需要后续逻辑判断(如评分后决定是否重试)的工作流时,一个实用技巧是规范上游节点(如打分 LLM 节点)的输出格式。例如,明确要求打分模型仅输出一个数值(如‘60’、‘90’),而非包含解释性文字的段落。这样纯净的数字输出能被条件判断节点直接、准确地使用,简化了工作流的逻辑构建。 - 分支: “如果”条件满足则走一条路径,“否则”走另一条路径。
示例: 判断 LLM 生成的回答的得分,如果得分低于 90,则进入“重新生成回答”的分支。
循环 (Loop) 节点:
作用: 重复执行一组操作(循环体内的节点),直到满足特定条件或达到最大循环次数。
组成:
- 循环节点 (Loop Node): 控制循环的开始和结束。
- 循环体 (Loop Body): 包含需要重复执行的一系列节点。
终止条件:
- 循环数组: 提供一个数据列表,循环体对列表中每个元素执行一次。
- 指定循环次数: 预设固定的循环轮数(例如,最多尝试 5 次)。
- 无限循环 + 跳出条件: 理论上无限循环,但在循环体内设置条件判断,满足条件时通过“跳出 (Break)”节点主动结束循环。
示例: 重复“生成回答 -> 打分 -> 判断”的过程,直到回答得分达到 90 分或循环满 5 次。
插件 (Plugin) 节点:
作用: 调用外部 API 或预置的工具来执行特定功能,如搜索、读写文件、调用企业系统等。
配置:
- 选择插件: 从插件市场选择所需插件(如 Bing 搜索、读取 Excel 插件
ReadExcel、读取 PDF 插件ReadPDF)。 - 输入参数: 根据插件要求提供必要的输入(如搜索插件需要
query 搜索词)。 - 输出参数: 插件执行后返回的结果,可供后续节点使用。使用插件时,需要注意其输出数据的结构。不同插件返回的数据格式各异,有时可能较为复杂。因此,在将插件输出连接到后续节点前,通常需要查阅该插件的官方文档,明确哪个字段包含了所需的结果信息,以确保数据正确传递和使用。例如,搜索引擎插件的返回结果可能包含多个字段,如网页链接、摘要、完整内容等,需要准确选取。
- 选择插件: 从插件市场选择所需插件(如 Bing 搜索、读取 Excel 插件
重要性: 插件极大地扩展了 Agent 的能力边界,使其能够与外部世界交互并获取实时信息。工作流可以精确控制何时、如何使用哪个插件。
知识库 (Knowledge Base) / 向量库 (Vector Store) 节点:
- 作用: 从私有知识库中检索与用户问题相关的信息,为 Agent 提供领域知识支持(实现 RAG)。
- 配置: 通常需要指定要查询的知识库和用户问题。
数据库 (Database) 节点:
- 作用: 读写结构化数据,用于存储和检索 Agent 的记忆、用户画像等。
4.3 工作流的调试与运行
试运行: Coze 等平台通常提供试运行功能,可以在不实际发布 Agent 的情况下测试工作流的逻辑和每个节点的输出。
调试信息:
- 调用树/火焰图: 可视化展示工作流的执行路径、各节点的调用顺序和耗时。
- 节点详情: 查看每个节点的输入、输出、状态(成功/失败)、Token 消耗等。
- 日志: 记录详细的运行信息,帮助定位问题。
迭代优化: 根据调试结果,不断调整节点配置、Prompt 内容或工作流结构,直到达到预期效果。
4.4 Coze 平台实践要点总结
- 以工作流为中心: 复杂任务的实现应主要依赖工作流来编排,而不是仅仅依靠一个庞大而复杂的 Prompt。
- 模块化设计: 将不同的功能模块(如生成回答、评估质量、调用工具)封装在不同的节点或子工作流中,提高可维护性和复用性。
- 变量的正确使用: 理解变量的传递机制,确保节点间的输入输出正确连接。
- 模型选择: 根据任务需求选择合适的 LLM。注意不同模型在工具调用能力(Function Calling)、推理能力和成本上的差异。例如,DeepSeek-V3 早期版本可能不直接支持工具调用,而豆包通用模型 Pro 版则支持。
- Prompt 工程: 即使在工作流中,每个 LLM 节点的 Prompt 质量依然关键。系统提示词要清晰,用户提示词要准确引用变量。
- 错误处理: 在工作流中考虑异常情况,设计合理的错误处理逻辑。
- 文档查阅: 充分利用平台提供的官方文档,了解各节点、插件的具体用法和高级特性。
通过上述机制,Agent 能够以一种结构化、可控且可优化的方式执行复杂任务,从而在准确性和可靠性上超越传统的 AI 应用。
五、总结与展望
AI Agent 技术代表了人工智能从感知智能、认知智能向更高阶的决策智能和执行智能迈进的重要方向。通过模拟人类的思考、规划、工具使用和协作方式,Agent 能够自主或半自主地完成复杂任务,为各行各业的智能化转型提供了强大的新动能。
本教学文档从 Agent 的基本概念出发,深入探讨了其核心架构、关键能力(如记忆、规划、工具使用)、以及如何通过工作流和思维链等机制提升任务处理的准确性和可控性。结合 Coze 等低代码/无代码平台的实践演示,我们了解到即使非技术背景的人员也能参与到 Agent 的构建和应用中。
核心要点回顾:
- Agent 是超越 LLM 的应用系统: 它以 LLM 为大脑,但整合了工具、记忆、规划和行动能力。
- 工作流是 Agent 的“操作系统”: 通过图形化编排,实现复杂任务的步骤化、可控化执行。
- 思维链是 Agent 的“思考过程”: 通过引导模型输出中间推理步骤,提升复杂问题解决能力和可解释性。
- 数据是 Agent 进化的“食粮”: 持续收集和分析交互数据,是优化 Agent 性能的关键。
- 可控性与准确性相辅相成: 精心设计的 Agent 架构和流程,能够有效提升 AI 应用的可靠性和用户体验。
未来展望:
随着大语言模型能力的持续增强、工具生态的不断丰富以及 Agent 理论与技术的进一步成熟,我们可以预见:
- 更自主的 Agent: Agent 将具备更强的自主学习、自主规划和自主决策能力。
- 更广泛的应用场景: 从个人助手到企业级自动化流程,从虚拟世界到物理世界交互,Agent 的应用将无处不在。
- 多 Agent 协作的普及: 复杂的社会性问题和大规模系统将越来越多地依赖多个 Agent 的协同智能来解决。
- 人机协同的新范式: Agent 将成为人类强大的合作伙伴,辅助甚至替代人类完成日益复杂的工作。
当然,Agent 技术的发展也伴随着新的挑战,如安全性、伦理、可解释性、以及如何确保 Agent 的行为符合人类价值观等。这些都需要学术界、产业界和全社会共同努力去探索和解决。
希望本教学文档能够为您理解和应用 AI Agent 技术提供有益的参考和指引。