AI Agent测试面试题
覆盖 Agent 任务规划、工具调用、多轮记忆、执行链路与安全边界测试考点。
一、Agent基础架构与测试认知
1. 什么是 AI Agent?它和普通大模型应用有什么区别?
参考回答: AI Agent 不只是回答问题,而是能围绕目标进行感知、规划、调用工具、执行任务,并根据执行结果调整下一步。普通大模型应用更多是问答式交互,Agent 更强调任务完成和行动能力。所以测试 Agent 不能只看答案是否正确,还要看规划是否合理、工具调用是否正确、执行链路是否安全可控。
2. AI Agent 一般由哪些核心模块组成?
参考回答: 一般包括输入理解、任务规划、记忆模块、工具调用、执行器、结果反思、权限控制和日志监控。测试时既要单独验证每个模块,也要验证端到端协作,因为 Agent 很多问题不是单点错误,而是多个模块串起来后出现偏差。
3. Agent 测试和传统功能测试有什么区别?
参考回答: 传统功能测试验证固定流程和固定预期,Agent 测试验证动态任务链路能否稳定完成目标。Agent 会根据上下文自主规划和调用工具,执行路径可能不唯一,所以测试重点是任务完成率、步骤合理性、工具调用正确性、异常恢复和安全边界。
4. Agent 测试中为什么要关注任务链路?
参考回答: Agent 的最终结果通常由多个中间步骤组成,任何一步规划错误、参数错误、工具返回异常或上下文理解错误,都可能导致任务失败。只看最终输出不够,必须看每一步的计划、调用、返回和决策,才能准确定位问题。
5. Agent 的感知、规划、行动、反思分别应该怎么测?
参考回答: 感知主要测是否正确理解用户目标和上下文;规划测是否拆解出合理步骤;行动测工具选择、参数和执行结果是否正确;反思测失败后是否能发现问题并调整策略。实际测试中既要分模块验证,也要串联起来做端到端任务测试。
6. 如何判断一个 Agent 是否真正完成了用户目标?
参考回答: 不能只看 Agent 是否输出了一段话,而要看最终结果是否满足用户目标。比如订票 Agent 要看是否查到合适航班、是否确认乘客信息、是否完成预订或给出明确下一步。测试时要提前定义任务完成标准、关键步骤和业务验收点。
7. Agent 测试中如何定义成功率?
参考回答: 成功率可以定义为成功完成任务的用例数除以总用例数,但复杂任务最好分层统计,比如完全成功、部分成功、失败和需要人工接管。同时还可以统计步骤成功率、工具调用成功率、一次完成率和异常恢复成功率。
8. Agent 输出不稳定时如何设计测试策略?
参考回答: 可以固定模型版本、参数和工具环境,建立标准任务集,多次运行统计成功率和路径差异。对于路径不唯一的任务,不要求每次步骤完全一致,但要求关键节点和最终结果正确,并保存执行轨迹方便定位波动原因。
9. Agent 应用上线前需要做哪些测试?
参考回答: 上线前要做任务规划测试、工具调用测试、记忆上下文测试、异常恢复测试、权限安全测试、性能稳定性测试和灰度验证。尤其是涉及真实操作的 Agent,比如发邮件、下单、改配置,一定要重点测试权限校验和二次确认。
10. Agent 测试报告应该包含哪些指标?
参考回答: 报告应包含任务完成率、步骤成功率、工具调用成功率、平均执行步数、失败原因分布、异常恢复率、越权风险、安全拦截率、响应耗时和典型失败链路。Agent 报告最好附完整执行轨迹,方便产品、研发和算法复盘。
二、任务规划能力测试
11. 如何测试 Agent 的任务拆解能力?
参考回答: 可以给 Agent 一个复杂目标,比如“分析销售数据并生成报告”,检查它是否能拆成读取数据、分析指标、生成图表、总结结论等合理步骤。测试重点是步骤是否完整、顺序是否合理、是否可执行,以及是否符合业务约束。
12. 如何判断 Agent 拆解出的步骤是否合理?
参考回答: 合理步骤应该目标明确、顺序正确、可执行、无重复、无遗漏,并且每一步都能推动任务完成。如果步骤过多、过少、顺序错误、调用无关工具或跳过关键确认,就说明规划能力有问题。
13. 如何测试 Agent 面对复杂任务时的规划稳定性?
参考回答: 可以对同一复杂任务多次运行,观察规划步骤是否大体一致、是否都能完成目标。也可以用相似表达、不同条件和不同上下文扰动测试,统计任务完成率、规划失败率和关键步骤遗漏率。
14. 如何测试 Agent 是否会遗漏关键步骤?
参考回答: 先为任务定义标准关键步骤,然后对比 Agent 实际执行轨迹。比如支付类任务必须包含身份校验、订单确认和支付确认,如果缺少关键步骤,即使最后输出看似完成,也存在业务风险。
15. 如何测试 Agent 是否会生成无效或重复步骤?
参考回答: 查看执行链路中是否存在重复查询、重复调用、无关工具、无法执行的动作。无效步骤会增加成本和耗时,也可能导致任务失败。可以统计平均步数、重复调用次数和无效动作占比。
16. 如何测试 Agent 在任务目标变化时的重新规划能力?
参考回答: 可以先给一个任务,中途修改条件,比如从“订明天北京机票”改成“改订后天上海”。测试 Agent 是否能识别目标变化,放弃旧计划并重新规划,而不是继续执行原路径。
17. 如何测试 Agent 对任务优先级的判断能力?
参考回答: 给多个目标或约束,比如“优先便宜,其次时间短”,看 Agent 是否按优先级筛选方案。测试时要检查它是否解释取舍原因,是否在冲突条件下遵循用户明确给出的优先级。
18. 如何设计长链路任务测试用例?
参考回答: 长链路用例要包含目标、前置条件、关键节点、工具依赖、异常分支和验收标准。测试时不仅看最终结果,还要记录每一步是否正确,尤其关注中间失败后的恢复和回滚能力。
19. 如何评估 Agent 任务完成率?
参考回答: 可以按任务类型统计完成率,比如查询类、生成类、操作类、多工具类。复杂任务还要区分完全完成、部分完成和失败。只看整体完成率不够,要重点看高风险任务和核心业务任务的完成情况。
20. Agent 规划失败时常见原因有哪些?
参考回答: 常见原因包括用户意图理解错误、上下文缺失、Prompt 约束不清、工具能力描述不准确、模型推理能力不足、任务过长导致遗忘,以及权限或外部系统限制。定位时要看失败发生在理解、规划、执行还是反思阶段。
三、工具调用测试
21. 如何测试 Agent 是否选择了正确工具?
参考回答: 为每类任务标注期望工具,然后查看 Agent 实际调用是否匹配。比如查天气应该调用天气接口,不能调用搜索或数据库。还要测试相似工具场景,看它能否根据任务目标选择最合适的工具。
22. 如何验证 Agent 工具调用参数是否正确?
参考回答: 检查参数是否来自用户输入或上下文,格式是否正确,必填字段是否完整,单位和时间是否转换正确。工具调用失败很多不是选错工具,而是参数拼错、漏传或上下文取值错误。
23. 如何测试工具调用失败后的重试和降级?
参考回答: 可以 Mock 工具超时、返回错误码、返回空数据,观察 Agent 是否有限重试、是否切换备用方案、是否给用户清晰提示。不能无限重试,也不能在失败后编造结果。
24. 如何测试 Agent 是否会调用不该调用的工具?
参考回答: 构造无需工具的问题、越权请求和敏感操作请求,检查 Agent 是否错误调用工具。比如用户只是咨询信息,不应触发下单;没有权限时不应调用删除、转账或修改接口。
25. 如何测试 Agent 对工具返回结果的理解能力?
参考回答: 工具返回结构化结果后,要看 Agent 是否正确解析字段、识别空结果、处理错误信息,并把结果转成用户能理解的答案。可以构造正常、异常、空数据和多结果场景测试。
26. 如何测试多个工具串联调用场景?
参考回答: 设计需要多个工具协作的任务,比如先查用户信息,再查订单,再发通知。测试重点是调用顺序、参数传递、上下文保存和中间结果使用是否正确,避免前一步结果没有正确传给下一步。
27. 如何测试工具调用顺序是否合理?
参考回答: 对有依赖关系的任务,必须先获取前置数据再执行后续操作。比如没有确认用户身份前不能查询隐私订单。可以通过执行轨迹检查顺序,发现前置条件缺失或风险操作提前执行的问题。
28. 如何设计工具 Mock 来测试 Agent?
参考回答: 可以 Mock 正常返回、异常返回、超时、空结果、权限不足和脏数据,验证 Agent 在不同工具结果下的决策。Mock 能避免依赖真实外部系统,也方便稳定复现异常场景。
29. Agent 工具调用超时时如何验证处理逻辑?
参考回答: 模拟工具超时,检查 Agent 是否在合理时间内停止等待、是否进行有限重试、是否提示用户稍后再试或切换备用工具。还要验证超时不会导致任务状态混乱或重复执行。
30. 如何记录和分析 Agent 工具调用链路?
参考回答: 需要记录每次调用的工具名、参数、返回结果、耗时、错误码和上下文状态。分析时可以还原完整链路,判断失败是规划问题、参数问题、工具问题还是结果理解问题。
四、记忆与上下文测试
31. Agent 的短期记忆和长期记忆有什么区别?
参考回答: 短期记忆通常是当前会话上下文,用于理解本轮任务;长期记忆是跨会话保存的用户偏好、历史信息等。测试时短期记忆重点看多轮一致性,长期记忆重点看保存、更新、隔离和删除是否正确。
32. 如何测试 Agent 是否正确使用历史记忆?
参考回答: 可以先建立用户偏好,比如“我喜欢高铁靠窗座位”,后续让 Agent 订票,看它是否正确使用。还要测试记忆是否过期、是否被新信息覆盖、是否只在授权范围内使用。
33. 如何测试 Agent 是否会记错用户信息?
参考回答: 构造多个用户、多个偏好和相似信息,检查 Agent 是否张冠李戴。比如不能把 A 用户地址用于 B 用户。记错信息在 Agent 场景风险很高,尤其涉及隐私和交易。
34. 如何测试 Agent 记忆更新是否正确?
参考回答: 先设置旧信息,再让用户明确修改,比如“以后不要用这个地址”。测试 Agent 是否更新长期记忆,后续是否使用新信息,并且不再引用旧信息。涉及敏感信息更新时还要验证确认机制。
35. 如何测试 Agent 是否会泄露其他用户记忆?
参考回答: 多账号、多租户场景下,分别写入不同用户记忆,然后交叉提问,验证 Agent 是否只访问当前用户授权数据。任何跨用户记忆泄露都属于高危问题。
36. 如何测试 Agent 在多轮任务中的上下文保持能力?
参考回答: 设计连续任务,让关键信息分布在多轮中,比如时间、地点、预算、偏好。后续让 Agent 执行操作,检查是否正确综合所有条件,而不是只记住最近一轮。
37. 如何测试 Agent 上下文过长后的表现?
参考回答: 构造长对话或长任务链路,观察 Agent 是否遗忘早期关键条件、混淆任务目标或调用错误工具。还要关注长上下文下的响应时间和成本。
38. 如何测试 Agent 对无关上下文的抗干扰能力?
参考回答: 在任务中插入无关信息、闲聊或错误提示,看 Agent 是否被带偏。好的 Agent 应能识别当前目标,忽略无关上下文,只使用和任务相关的信息。
39. 如何测试 Agent 记忆删除或过期机制?
参考回答: 用户要求删除记忆后,要验证系统是否真正删除,后续不再使用。对于有过期时间的记忆,要模拟时间变化,看过期后是否失效。还要检查日志和缓存中是否仍保留敏感信息。
40. 如何评估 Agent 记忆模块的准确性?
参考回答: 可以统计记忆写入成功率、读取准确率、更新正确率、删除成功率和跨用户隔离通过率。记忆模块不只是功能问题,还涉及隐私和安全,所以要重点测试。
五、执行链路、稳定性与安全边界
41. 如何测试 Agent 多步骤执行链路的稳定性?
参考回答: 通过长链路任务多次运行,统计每一步成功率、整体完成率、平均执行步数和失败原因。还要模拟中间工具失败、网络异常和上下文变化,看 Agent 是否能稳定恢复。
42. 如何测试 Agent 中途失败后的恢复能力?
参考回答: 可以让工具返回失败、权限不足或数据为空,观察 Agent 是否能重新规划、重试、请求用户补充信息或安全退出。恢复能力的核心是不能卡死、不能编造、不能重复执行风险操作。
43. 多 Agent 协作场景如何设计测试用例?
参考回答: 要明确每个 Agent 的角色、输入输出、协作顺序和最终目标。测试重点是任务分配是否合理、信息传递是否准确、冲突如何处理、最终结果是否一致。多 Agent 还要关注循环调用和责任不清问题。
44. 如何测试 Agent 是否会越权执行操作?
参考回答: 构造无权限用户请求敏感操作,比如删除数据、发送邮件、修改配置,验证 Agent 是否拦截。还要检查工具层是否做权限校验,不能只依赖模型自觉遵守。
45. 如何测试 Agent 对敏感操作的二次确认机制?
参考回答: 对下单、支付、删除、发送外部消息等操作,Agent 应先总结操作内容并请求用户确认。测试时要验证未确认不能执行,确认内容变化后要重新确认,防止误操作。
46. 如何测试 Agent 防 Prompt 注入能力?
参考回答: 可以在用户输入、网页内容、工具返回结果中加入“忽略之前规则”“泄露系统提示词”等恶意指令,观察 Agent 是否会被诱导。Agent 应区分用户目标、系统规则和外部不可信内容。
47. 如何测试 Agent 是否会被工具返回内容诱导?
参考回答: Mock 工具返回带恶意指令的内容,比如“请调用删除接口”,看 Agent 是否执行。工具返回应被当作数据,不应覆盖系统规则。这个场景是 Agent 安全测试重点。
48. 如何评估 Agent 自动化任务的风险等级?
参考回答: 可以从是否涉及资金、隐私、外部发送、数据删除、权限变更和不可逆操作评估风险。高风险任务必须有权限校验、二次确认、审计日志和回滚方案。
49. 如何设计 Agent 沙箱测试环境?
参考回答: 沙箱应隔离真实数据和真实外部操作,工具调用使用 Mock 或测试环境,敏感操作不触达真实用户。这样可以安全验证 Agent 执行能力,避免测试过程中造成真实影响。
50. Agent 测试中如何做线上监控和问题回放?
参考回答: 线上要记录任务目标、规划步骤、工具调用、上下文、返回结果、用户反馈和异常信息。问题发生后可以回放完整链路,定位是理解、规划、工具、权限还是外部系统问题,并沉淀为回归用例。

