智能体
[TOC]
智能体
By:weimenghua
Date:2026.06.01
Description:
智能体(Agent)测试完整方案
智能体区别于传统软件,具备自主决策、记忆、工具调用、多轮交互、环境感知等特性,测试需覆盖功能、能力、稳定性、安全、性能、场景闭环等维度。下文分测试目标、分类、流程、核心用例、工具、常见问题展开,兼顾理论与落地实操。
一、先明确:智能体测试核心目标
- 行为合规:决策、回答、工具调用符合预期,不越界、不幻觉
- 能力达标:理解、推理、规划、记忆、工具使用、多轮对话正常
- 稳定可靠:长会话、异常输入、并发、复杂场景不崩溃
- 安全风控:防prompt注入、隐私泄露、违规输出、越权调用工具
- 体验一致:不同上下文、相似问题输出逻辑统一
二、智能体测试分类(按测试维度划分)
1. 功能测试(基础必测)
聚焦智能体核心能力,是所有测试的底座。
(1)意图与理解测试
- 精准识别用户显性/隐性需求、口语化/歧义/反问句式
- 边界:多意图混合、语义模糊、方言、缩写、网络用语
- 用例示例:
- 正常提问:帮我查今天天气
- 多意图:查天气+规划出行路线
- 歧义句:“帮我看看那个东西怎么样”(无明确指代)
(2)规划&任务拆解测试
针对任务型智能体(办公、运维、开发Agent)核心能力:
- 复杂任务自动拆解为子步骤、串行/并行执行
- 步骤中断后可续接、调整执行方案
- 反向用例:超长复杂任务、逻辑冲突任务、无法完成的任务(验证是否合理拒绝/提示)
(3)工具调用测试(Agent 最核心模块)
智能体依赖外部工具/API/插件,重点测调用逻辑、参数、重试、容错:
- 触发准确性:该调用工具时调用,不该调用时不滥用
- 参数正确性:入参格式、字段、数据类型、权限匹配
- 多工具组合:串行调用、多工具联动、工具切换
- 异常场景:工具超时、接口报错、返回空/脏数据、权限不足
- 禁止场景:恶意诱导调用高危工具、越权调用
(4)记忆&上下文测试
分为短期会话记忆、长期持久记忆:
- 多轮上下文关联:对话轮次递增,验证是否记住前文信息
- 上下文遗忘:长会话、话题切换后,关键信息是否丢失
- 记忆清洗:主动清空记忆、会话结束后数据是否隔离
- 边界:混淆信息、前后矛盾提问,验证记忆甄别能力
(5)回答生成&幻觉测试
大模型智能体重点防控幻觉(编造事实):
- 事实准确性:专业知识、数据、人名/时间/地址、文档问答(RAG场景)
- 拒绝编造:无答案时如实告知,不虚构内容
- 逻辑自洽:同一问题多次提问、不同角度追问,答案无前后矛盾
2. 交互&场景测试(业务落地测)
基于真实用户链路设计端到端场景,模拟完整业务流程。
- 单流程场景:从发起请求→思考→工具调用→结果反馈→结束全链路
- 分支场景:正常流程、异常分支、用户中途改需求、中途终止任务
- 角色场景:限定智能体身份(客服、运维、助教、导购),验证人设一致性
- 批量场景:批量执行同类任务、批量处理文档/数据
3. 安全&风控测试(高危必测)
智能体易受攻击,需专项安全测试:
- Prompt 注入
- 直接注入:篡改指令、诱导泄露提示词、切换角色
- 隐式注入:嵌套恶意指令、分段诱导、加密/伪装prompt
- 内容安全
- 拦截色情、暴力、政治敏感、诈骗、教唆类提问
- 拒绝生成恶意代码、攻击脚本、隐私盗取方案
- 隐私防护
- 输入手机号、身份证、地址等隐私,验证是否存储/泄露
- 不同用户会话数据隔离,无串话、数据泄露
- 权限管控
- 低权限账号无法调用高权限工具/接口
- 操作日志完整,可审计
4. 性能&压测
针对并发、响应速度、资源消耗:
- 响应耗时:单轮请求、工具调用后整体耗时,定义SLA阈值
- 并发压测:多用户同时会话、多Agent实例并行工作,观测延迟、报错率
- 长会话压测:单会话持续几十/上百轮对话,观测内存泄漏、响应变慢、崩溃
- 资源监控:CPU、内存、Token消耗、接口QPS、限流表现
5. 兼容性&环境测试
- 模型版本兼容:切换底座大模型(不同LLM),行为是否一致
- 环境兼容:本地/云端、不同部署架构(单机/分布式/容器)
- 接入兼容:前端对话页、API调用、第三方系统集成等不同接入方式
6. 鲁棒性/异常输入测试
输入各类非常规内容,验证容错能力:
- 极端输入:超长文本、乱码、特殊符号、空白输入、纯表情
- 干扰输入:无关闲聊、重复提问、故意抬杠、诱导跑偏
- 网络异常:断网、弱网、请求中断、重连后恢复能力
三、标准测试流程(可直接落地)
阶段1:测试准备
- 梳理需求:明确智能体定位、能力范围、工具列表、角色、风控规则
- 环境搭建:测试环境(隔离生产)、模型实例、依赖工具/API、监控系统
- 用例设计:按上面分类编写正向用例+反向用例+边界用例
- 基线定义:响应时长、幻觉率、报错率、安全拦截率等指标阈值
阶段2:手工测试(第一轮)
优先覆盖核心流程、高危场景:
- 单轮基础交互测试
- 多轮上下文+记忆测试
- 全工具调用链路测试
- 基础安全用例(简单注入、敏感内容)
- 异常输入容错测试
阶段3:自动化测试(第二轮,提效+回归)
智能体自动化分两类:对话自动化、能力指标自动化
- 会话自动化:通过API/SDK批量发起对话,校验输出、工具调用日志
- 评测自动化:接入评测框架,量化幻觉、准确率、合规率
- 回归自动化:版本迭代后,一键执行历史用例,防止能力退化
阶段4:专项测试
安全渗透、性能压测、长会话稳定性、RAG检索精度(如有知识库)。
阶段5:灰度&线上观测
- 小流量灰度上线,抽样人工抽检
- 线上监控:会话报错、工具调用失败、敏感输出、延迟告警
- 收集用户反馈,补充边缘用例迭代
四、常用测试工具&框架
1. 对话/自动化测试
- 自研脚本:Python + LLM SDK(OpenAI/通义/文心等)批量发请求、校验结果
- Playwright/Selenium:UI 对话页面自动化
- Postman/JMeter:API 压测、接口调用测试
2. LLM/智能体评测框架(量化指标)
- LangChain Evaluators:适配LangChain生态Agent,评测意图、工具调用、回答准确性
- Ragas:主打RAG+Agent评测,支持上下文召回、事实准确率、幻觉检测
- PromptBench:Prompt注入、对抗性测试专项工具
- LLM Judge:用大模型作为裁判,自动打分(适合主观回答评测)
3. 安全测试
- 开源对抗数据集:HarmBench、JailbreakBench(越狱/注入测试用例集)
- 自研Payload库:整理各类注入、敏感提问样本批量遍历
4. 监控观测
- 日志系统:ELK、Loki 查看对话日志、工具调用日志
- APM:SkyWalking、Prometheus + Grafana 监控性能、接口耗时
五、关键指标(量化验收标准)
可作为版本上线门禁:
- 功能准确率:意图识别、任务拆解、工具调用正确率 ≥ 95%
- 幻觉率:事实编造、虚假信息占比 ≤ 3%
- 安全拦截率:敏感内容、Prompt注入拦截率 ≥ 99%
- 响应耗时:单轮普通对话 < 2s;带工具调用链路 < 5s
- 报错率:正常请求整体报错率 < 0.5%
- 上下文留存率:多轮会话关键信息无丢失
六、高频问题与测试避坑
- 回答主观,无法精准断言? 不用全文字匹配,改为关键词校验、逻辑校验、LLM打分,只卡硬性规则(如禁止内容、必填参数)。
- 模型随机性大,同一问题答案不一样? 放宽“文本完全一致”要求,校验逻辑、结论、关键数据一致即可。
- 长会话越往后越差? 专项加长会话压测,监控Token溢出、记忆失效、模型退化。
- 工具调用偶发失败? 增加重试机制测试、弱网/接口抖动场景,校验容错与告警。
七、极简测试清单(快速落地版)
- 基础对话:正常、歧义、多意图、空白/乱码输入
- 工具调用:正常调用、参数异常、工具报错、越权调用
- 多轮记忆:5~20轮连续对话、话题切换、信息混淆
- 幻觉校验:专业知识、虚构人名/数据、文档问答
- 安全:敏感内容、Prompt注入、隐私输入
- 性能:并发10/50/100用户、长会话稳定性
- 回归:历史核心用例全量复测