上一章 目录 下一章

第40章:Agent智能体架构

学习目标

  • 理解Agent的核心定义:自主规划与执行的AI系统
  • 掌握ReAct循环:思考→行动→观察→反思
  • 了解Agent的架构组成:规划器、执行器、记忆系统
  • 学会从测试视角评估Agent质量

前置要求

  • 已完成第36-39章MCP和Skills的学习
  • 理解LLM的推理和工具调用能力
  • 有基本的软件架构概念

一句话定义

Agent(智能体)

Agent是具有自主规划、决策和执行能力的AI系统——它不只是回答问题,而是能分解任务、选择工具、执行操作、处理异常,最终完成复杂目标。

生活类比:智能助理

为什么叫Agent?

普通AI像一个"知识渊博的顾问"——你问它答,但不动手。Agent像一个"全能助理"——你给它目标,它会自己规划、查资料、打电话、写文档、直到任务完成。

例如:"帮我准备明天的项目汇报"

  • 普通AI:生成汇报模板和内容建议
  • Agent:自动拉取项目数据→生成PPT→发送给团队→预定会议室→创建提醒事项

Agent vs Chatbot vs Skill

能力类型 交互模式 自主程度 典型应用
Chatbot 问答式:用户提问,AI回答 被动响应,无自主行动 客服咨询、知识问答
Skill 任务式:用户触发,执行固定流程 半自主:按预设流程执行 生成报告、发送通知
Agent 目标式:用户给目标,Agent自主完成 高自主:规划、决策、执行、调整 自动化测试、数据分析、项目管理

ReAct循环:Agent的核心机制

ReAct(Reasoning + Acting)是Agent的核心执行模式——思考、行动、观察、反思的循环:

ReAct循环示意
┌──────────────────────────────────────────────────────────────────┐
│                     ReAct 循环                                    │
│                                                                  │
│   用户目标:执行回归测试并生成报告                                 │
│                                                                  │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  Step 1: Reasoning(思考)                               │   │
│   │  ─────────────────                                      │   │
│   │  "我需要先查询当前版本,找出变更的模块,                    │   │
│   │   选择对应的测试用例,执行测试,分析结果,生成报告"          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                         ↓                                        │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  Step 2: Acting(行动)                                  │   │
│   │  ─────────────────                                      │   │
│   │  调用工具:query_version_diff()                          │   │
│   │  输入:{ current: "v2.1", previous: "v2.0" }             │   │
│   └─────────────────────────────────────────────────────────┘   │
│                         ↓                                        │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  Step 3: Observation(观察)                             │   │
│   │  ─────────────────                                      │   │
│   │  结果:变更模块:[payment, user, search]                  │   │
│   │  影响范围:支付流程、用户认证、搜索功能                    │   │
│   └─────────────────────────────────────────────────────────┘   │
│                         ↓                                        │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  Step 4: Reflection(反思)                              │   │
│   │  ─────────────────                                      │   │
│   │  "支付模块变更最大,需要重点测试。                         │   │
│   │   继续下一步:选择支付相关测试用例"                        │   │
│   └─────────────────────────────────────────────────────────┘   │
│                         ↓                                        │
│   循环继续:选择测试用例 → 执行测试 → 观察结果 → 反思 → ...      │
│                         ↓                                        │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  最终输出:                                               │   │
│   │  - 执行15个回归测试用例                                   │   │
│   │  - 通过率:93.3%                                         │   │
│   │  - 发现2个缺陷                                           │   │
│   │  - HTML报告已生成并发送                                   │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘
Agent测试架构:从组件验证到行为评估的多层测试策略

Agent架构组成

Agent智能体六大组件架构图
图40-1 Agent架构六大组件:规划器(分解目标)→ 执行器(调用工具)→ 观察器(收集结果)→ 反思器(评估调整),记忆系统与工具库贯穿全局
组件 职责 关键技术 测试关注点
规划器(Planner) 分解目标、制定执行计划 任务分解算法、优先级排序 计划合理性、覆盖完整性
执行器(Executor) 调用工具、执行具体操作 Tool调用、MCP集成 执行成功率、异常处理
观察器(Observer) 收集执行结果、反馈信息 结果解析、状态监控 信息完整性、准确性
反思器(Reflector) 分析结果、调整策略 结果评估、计划修正 反思有效性、调整正确性
记忆系统(Memory) 存储执行历史、上下文信息 短期记忆、长期存储 记忆准确性、检索效率
工具库(Toolbox) 提供可调用的工具集 MCP Servers、Skills 工具可用性、参数正确性

Agent的典型工作流程

Agent工作流程
Agent 完整工作流程:

输入:用户目标(如:"执行回归测试并报告结果")

┌────────────────────────────────────────────────────────────┐
│  Phase 1: 目标理解                                          │
│  ──────────────────────────────────────────────────────    │
│  1.1 解析用户意图                                           │
│  1.2 提取关键信息(项目、范围、时间等)                       │
│  1.3 确定成功标准                                           │
└────────────────────────────────────────────────────────────┘
                          ↓
┌────────────────────────────────────────────────────────────┐
│  Phase 2: 任务规划                                          │
│  ──────────────────────────────────────────────────────    │
│  2.1 分解为子任务                                           │
│      任务1:识别变更范围                                     │
│      任务2:选择测试用例                                     │
│      任务3:执行测试                                         │
│      任务4:分析结果                                         │
│      任务5:生成报告                                         │
│  2.2 确定任务顺序和依赖                                      │
│  2.3 估算所需资源和时间                                     │
└────────────────────────────────────────────────────────────┘
                          ↓
┌────────────────────────────────────────────────────────────┐
│  Phase 3: 循环执行                                          │
│  ──────────────────────────────────────────────────────    │
│  For each task:                                             │
│    3.1 选择合适的工具                                        │
│    3.2 准备调用参数                                          │
│    3.3 执行并收集结果                                        │
│    3.4 评估执行效果                                          │
│    3.5 如失败:尝试替代方案或调整计划                         │
│    3.6 更新记忆系统                                          │
└────────────────────────────────────────────────────────────┘
                          ↓
┌────────────────────────────────────────────────────────────┐
│  Phase 4: 结果整合                                          │
│  ──────────────────────────────────────────────────────    │
│  4.1 汇总各任务结果                                          │
│  4.2 验证目标达成情况                                        │
│  4.3 生成最终输出                                           │
│  4.4 报告执行过程和发现                                      │
└────────────────────────────────────────────────────────────┘

输出:完整报告 + 执行过程记录 + 发现的问题

企业测试Agent应用场景

场景 Agent任务 调用的工具链
自动化回归测试 分析变更→选测试用例→执行→分析→报告 版本比对工具、用例管理工具、执行引擎、报告生成
缺陷根因分析 读取缺陷→分析日志→定位代码→生成修复建议 缺陷系统、日志分析工具、代码检索、知识库
测试数据准备 分析需求→生成测试数据→验证数据质量→导入系统 需求解析、数据生成工具、数据校验、数据库操作
性能测试执行 设计场景→配置环境→执行压测→分析瓶颈→优化建议 场景设计工具、配置管理、压测工具、性能分析
测试报告自动化 收集数据→统计分析→生成图表→格式化报告→分发 数据采集工具、统计分析、图表生成、邮件发送

测试视角:Agent质量评估维度

评估维度 关键指标 测试方法
规划能力 任务分解合理性、计划覆盖率 给复杂目标,评估分解的子任务是否完整合理
执行成功率 工具调用成功率、任务完成率 统计成功完成的任务比例
异常处理 失败恢复能力、替代方案有效性 模拟工具失败,观察Agent如何应对
目标达成率 最终结果是否满足用户目标 端到端测试,验证输出是否符合预期
效率表现 执行耗时、资源消耗 测量完成任务的耗时和调用次数
稳定性 多次执行的一致性 重复执行相同任务,验证结果一致性

本章小结

  • Agent是具有自主规划、决策、执行能力的AI系统——不只是回答问题,而是完成目标
  • ReAct循环是Agent核心:思考→行动→观察→反思的迭代过程
  • Agent架构包含规划器、执行器、观察器、反思器、记忆系统、工具库六大组件
  • Agent工作流程:目标理解→任务规划→循环执行→结果整合
  • 企业测试场景:回归测试、缺陷分析、数据准备、性能测试、报告自动化
  • Agent质量评估:规划能力、执行成功率、异常处理、目标达成率、效率、稳定性

扩展阅读

上一章 目录 下一章