跳到主要内容

智能体

[TOC]

智能体

By:weimenghua
Date:2026.06.01
Description:

智能体(Agent)测试完整方案

智能体区别于传统软件,具备自主决策、记忆、工具调用、多轮交互、环境感知等特性,测试需覆盖功能、能力、稳定性、安全、性能、场景闭环等维度。下文分测试目标、分类、流程、核心用例、工具、常见问题展开,兼顾理论与落地实操。

一、先明确:智能体测试核心目标

  1. 行为合规:决策、回答、工具调用符合预期,不越界、不幻觉
  2. 能力达标:理解、推理、规划、记忆、工具使用、多轮对话正常
  3. 稳定可靠:长会话、异常输入、并发、复杂场景不崩溃
  4. 安全风控:防prompt注入、隐私泄露、违规输出、越权调用工具
  5. 体验一致:不同上下文、相似问题输出逻辑统一

二、智能体测试分类(按测试维度划分)

1. 功能测试(基础必测)

聚焦智能体核心能力,是所有测试的底座。

(1)意图与理解测试

  • 精准识别用户显性/隐性需求、口语化/歧义/反问句式
  • 边界:多意图混合、语义模糊、方言、缩写、网络用语
  • 用例示例:
    • 正常提问:帮我查今天天气
    • 多意图:查天气+规划出行路线
    • 歧义句:“帮我看看那个东西怎么样”(无明确指代)

(2)规划&任务拆解测试

针对任务型智能体(办公、运维、开发Agent)核心能力:

  • 复杂任务自动拆解为子步骤、串行/并行执行
  • 步骤中断后可续接、调整执行方案
  • 反向用例:超长复杂任务、逻辑冲突任务、无法完成的任务(验证是否合理拒绝/提示)

(3)工具调用测试(Agent 最核心模块)

智能体依赖外部工具/API/插件,重点测调用逻辑、参数、重试、容错:

  1. 触发准确性:该调用工具时调用,不该调用时不滥用
  2. 参数正确性:入参格式、字段、数据类型、权限匹配
  3. 多工具组合:串行调用、多工具联动、工具切换
  4. 异常场景:工具超时、接口报错、返回空/脏数据、权限不足
  5. 禁止场景:恶意诱导调用高危工具、越权调用

(4)记忆&上下文测试

分为短期会话记忆、长期持久记忆:

  • 多轮上下文关联:对话轮次递增,验证是否记住前文信息
  • 上下文遗忘:长会话、话题切换后,关键信息是否丢失
  • 记忆清洗:主动清空记忆、会话结束后数据是否隔离
  • 边界:混淆信息、前后矛盾提问,验证记忆甄别能力

(5)回答生成&幻觉测试

大模型智能体重点防控幻觉(编造事实):

  • 事实准确性:专业知识、数据、人名/时间/地址、文档问答(RAG场景)
  • 拒绝编造:无答案时如实告知,不虚构内容
  • 逻辑自洽:同一问题多次提问、不同角度追问,答案无前后矛盾

2. 交互&场景测试(业务落地测)

基于真实用户链路设计端到端场景,模拟完整业务流程。

  • 单流程场景:从发起请求→思考→工具调用→结果反馈→结束全链路
  • 分支场景:正常流程、异常分支、用户中途改需求、中途终止任务
  • 角色场景:限定智能体身份(客服、运维、助教、导购),验证人设一致性
  • 批量场景:批量执行同类任务、批量处理文档/数据

3. 安全&风控测试(高危必测)

智能体易受攻击,需专项安全测试:

  1. Prompt 注入
    • 直接注入:篡改指令、诱导泄露提示词、切换角色
    • 隐式注入:嵌套恶意指令、分段诱导、加密/伪装prompt
  2. 内容安全
    • 拦截色情、暴力、政治敏感、诈骗、教唆类提问
    • 拒绝生成恶意代码、攻击脚本、隐私盗取方案
  3. 隐私防护
    • 输入手机号、身份证、地址等隐私,验证是否存储/泄露
    • 不同用户会话数据隔离,无串话、数据泄露
  4. 权限管控
    • 低权限账号无法调用高权限工具/接口
    • 操作日志完整,可审计

4. 性能&压测

针对并发、响应速度、资源消耗:

  • 响应耗时:单轮请求、工具调用后整体耗时,定义SLA阈值
  • 并发压测:多用户同时会话、多Agent实例并行工作,观测延迟、报错率
  • 长会话压测:单会话持续几十/上百轮对话,观测内存泄漏、响应变慢、崩溃
  • 资源监控:CPU、内存、Token消耗、接口QPS、限流表现

5. 兼容性&环境测试

  • 模型版本兼容:切换底座大模型(不同LLM),行为是否一致
  • 环境兼容:本地/云端、不同部署架构(单机/分布式/容器)
  • 接入兼容:前端对话页、API调用、第三方系统集成等不同接入方式

6. 鲁棒性/异常输入测试

输入各类非常规内容,验证容错能力:

  • 极端输入:超长文本、乱码、特殊符号、空白输入、纯表情
  • 干扰输入:无关闲聊、重复提问、故意抬杠、诱导跑偏
  • 网络异常:断网、弱网、请求中断、重连后恢复能力

三、标准测试流程(可直接落地)

阶段1:测试准备

  1. 梳理需求:明确智能体定位、能力范围、工具列表、角色、风控规则
  2. 环境搭建:测试环境(隔离生产)、模型实例、依赖工具/API、监控系统
  3. 用例设计:按上面分类编写正向用例+反向用例+边界用例
  4. 基线定义:响应时长、幻觉率、报错率、安全拦截率等指标阈值

阶段2:手工测试(第一轮)

优先覆盖核心流程、高危场景:

  1. 单轮基础交互测试
  2. 多轮上下文+记忆测试
  3. 全工具调用链路测试
  4. 基础安全用例(简单注入、敏感内容)
  5. 异常输入容错测试

阶段3:自动化测试(第二轮,提效+回归)

智能体自动化分两类:对话自动化、能力指标自动化

  1. 会话自动化:通过API/SDK批量发起对话,校验输出、工具调用日志
  2. 评测自动化:接入评测框架,量化幻觉、准确率、合规率
  3. 回归自动化:版本迭代后,一键执行历史用例,防止能力退化

阶段4:专项测试

安全渗透、性能压测、长会话稳定性、RAG检索精度(如有知识库)。

阶段5:灰度&线上观测

  1. 小流量灰度上线,抽样人工抽检
  2. 线上监控:会话报错、工具调用失败、敏感输出、延迟告警
  3. 收集用户反馈,补充边缘用例迭代

四、常用测试工具&框架

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 监控性能、接口耗时

五、关键指标(量化验收标准)

可作为版本上线门禁:

  1. 功能准确率:意图识别、任务拆解、工具调用正确率 ≥ 95%
  2. 幻觉率:事实编造、虚假信息占比 ≤ 3%
  3. 安全拦截率:敏感内容、Prompt注入拦截率 ≥ 99%
  4. 响应耗时:单轮普通对话 < 2s;带工具调用链路 < 5s
  5. 报错率:正常请求整体报错率 < 0.5%
  6. 上下文留存率:多轮会话关键信息无丢失

六、高频问题与测试避坑

  1. 回答主观,无法精准断言? 不用全文字匹配,改为关键词校验、逻辑校验、LLM打分,只卡硬性规则(如禁止内容、必填参数)。
  2. 模型随机性大,同一问题答案不一样? 放宽“文本完全一致”要求,校验逻辑、结论、关键数据一致即可。
  3. 长会话越往后越差? 专项加长会话压测,监控Token溢出、记忆失效、模型退化。
  4. 工具调用偶发失败? 增加重试机制测试、弱网/接口抖动场景,校验容错与告警。

七、极简测试清单(快速落地版)

  1. 基础对话:正常、歧义、多意图、空白/乱码输入
  2. 工具调用:正常调用、参数异常、工具报错、越权调用
  3. 多轮记忆:5~20轮连续对话、话题切换、信息混淆
  4. 幻觉校验:专业知识、虚构人名/数据、文档问答
  5. 安全:敏感内容、Prompt注入、隐私输入
  6. 性能:并发10/50/100用户、长会话稳定性
  7. 回归:历史核心用例全量复测