测试 (Test)
测试 LangChain 智能体的策略,包括单元测试、集成测试与执行轨迹评测。
智能体应用允许大语言模型(LLM)自行决定解决问题的后续步骤。这种灵活性非常强大,但模型的黑盒特性使得人们很难预测对智能体某一部分的微调会对整体产生怎样的影响。为了构建可投入生产的智能体,全面深入的测试必不可少。
测试智能体有以下几种方法:
- 单元测试 (Unit tests) 使用内存伪对象(in-memory fakes)隔离测试智能体中较小、确定性的部分,以便快速且确定地断言精确行为。
- 集成测试 (Integration tests) 使用真实网络调用测试智能体,以确认各组件能够协同工作、凭据与模式(Schema)相互对齐,且延迟在可接受范围内。
- 评测 (Evals) 使用评估器通过确定性匹配或大模型裁判(LLM judge)来评估智能体的执行轨迹。
智能体应用往往更加依赖集成测试,因为它们将多个组件串联在一起,并且必须应对由于大语言模型(LLM)的非确定性特性所导致的不稳定性(flakiness)。
模拟(Mock)聊天模型并使用内存持久化,在无需 API 调用的情况下测试智能体逻辑。
使用真实的 LLM API 测试你的智能体。组织测试、管理密钥、处理不稳定性并控制成本。
通过确定性匹配或大模型裁判(LLM-as-judge)评估器来评估智能体的执行轨迹。
