目录
- 一、什么是 Agent 架构?
- 二、Agent最基本的架构:ReAct
- 三、ReAct架构的优点和问题
- 四、Plan-and-Execute:先规划,再执行
- 五、Plan-and-Execute与ReAct有什么区别?
- 六、Workflow:企业级Agent非常重要的架构
- 七、为什么Workflow对ECU测试特别重要?
- 八、Router架构:让Agent决定“谁来做”
- 九、Multi-Agent:多个Agent协同工作
- 十、Hierarchical Agent:层级式Agent
- 十一、Reflection:让Agent检查自己的结果
- 十二、Memory:Agent的记忆
- 十三、RAG + Agent
- 十四、Tool Calling:Agent真正执行工作的基础
- 十五、一个完整Agent系统应该是什么样?
- 十六、这些架构不是互相替代,而是可以组合
- 十七、ECU测试Agent应该采用什么架构?
- 十八、真正决定ECU测试Agent价值的是什么?
- 十九、总结
随着大语言模型(LLM)能力不断增强,AI已经从“聊天机器人”逐渐发展为能够调用工具、执行任务、访问知识库并自主完成复杂工作的 Agent。
很多人开始接触 Agent 时,会产生一个疑问:
Agent 到底是什么架构?
为什么有的 Agent 只是调用几个工具,有的却能够自动规划任务、执行代码、分析结果,甚至让多个 Agent 协同完成一个复杂项目?
实际上,Agent 并不存在唯一的架构。ReAct、Plan-and-Execute、Workflow、Reflection、Router、Multi-Agent、Hierarchical Agent 等,都是目前常见的 Agent 架构模式。
本文从工程实践的角度,对这些架构进行系统梳理,并结合 ECU 测试场景说明这些架构应该如何使用。

一、什么是 Agent 架构?
首先需要区分三个概念:
LLM
↓
Agent
↓
Agent System
LLM 主要负责理解和生成。
Agent 在 LLM 的基础上增加了:
- 状态
- 工具
- 任务规划
- 环境交互
- 记忆
- 工作流
- 反馈机制
因此可以简单理解为:
Agent = LLM + 状态 + Tools + Planning + Memory + Execution
一个最基本的 Agent 可以抽象成:
User
↓
Agent
↓
┌──────┴──────┐
↓ ↓
LLM Tools
↓ ↓
Decision Environment
↑ ↓
└──── Result ─┘
Agent 不只是“回答问题”,而是:
理解任务 → 决定下一步 → 调用工具 → 获取结果 → 根据结果继续执行。
这也是 Agent 与普通 Chatbot 最大的区别。
二、Agent最基本的架构:ReAct
ReAct 是非常经典的 Agent 思维模式。
ReAct 的核心是:
Reason + Act
即:
思考 → 行动 → 观察 → 思考 → 行动……
典型流程:
User
↓
LLM
↓
Reasoning
↓
选择Tool
↓
Tool执行
↓
Observation
↓
LLM再次推理
↓
选择下一步Tool
↓
……
↓
Final Answer
例如用户提出:
分析这个 ECU 的 CAN 通信问题。
Agent 可能执行:
1. 读取DBC
2. 分析Message
3. 查询相关Signal
4. 读取测试日志
5. 分析异常帧
6. 判断可能原因
7. 输出分析结果
每一步并不是预先固定的。
Agent 根据上一步的结果决定下一步做什么。
三、ReAct架构的优点和问题
ReAct 最大的优势是灵活。
例如:
读取日志
↓
发现缺少DBC
↓
搜索工程目录
↓
找到DBC
↓
重新分析
↓
发现Signal异常
↓
继续分析
它可以根据环境动态调整执行路径。
但是问题也非常明显。
1. 执行路径不稳定
同一个任务,Agent 每次可能采用不同的方法。
2. 很难控制
企业测试通常要求:
需求分析
→ 测试设计
→ 测试实现
→ 测试执行
→ 测试分析
→ 测试报告
如果全部交给 Agent 自由决定,容易出现:
- 漏步骤
- 顺序错误
- 输出格式不统一
- 测试过程不可追踪
3. 不适合强流程业务
因此:
ReAct适合探索型任务,但不一定适合所有企业级任务。
这也是后续 Workflow 架构出现的重要原因。
四、Plan-and-Execute:先规划,再执行
Plan-and-Execute 的核心思想是:
先制定计划,再执行计划。
架构可以表示为:
User
↓
Planner
↓
Task Plan
↓
┌────────────┼────────────┐
↓ ↓ ↓
Task 1 Task 2 Task 3
↓ ↓ ↓
Executor Executor Executor
└────────────┼────────────┘
↓
Result
例如:
任务:
完成某ECU CAN通信测试
Planner 可以生成:


953

被折叠的 条评论
为什么被折叠?



