以编程方式使用文档

Agentic应用让LLM能够自主决定下一步行动来解决问题。这种灵活性非常强大,但由于模型的“黑箱”特性,很难预测对代理某一部分的调整会如何影响整体。要构建可用于生产的代理,详尽的测试至关重要。

测试代理有几种方法:

  • 单元测试 使用内存中的模拟对象隔离测试代理的小型确定性部分,以便快速且确定性地断言精确行为。
  • 集成测试 使用真实网络调用测试代理,以确认各组件协同工作、凭证和模式匹配,以及延迟可接受。
  • 评估 使用评估器评估代理的执行轨迹,可通过确定性匹配或LLM评判进行。

Agentic应用更倾向于依赖集成测试,因为它们将多个组件链接在一起,并且必须应对LLM非确定性特性导致的测试不稳定性。

Unit testing

模拟聊天模型并使用内存持久化来测试代理逻辑,无需进行API调用。

Integration testing

使用真实的LLM API测试您的代理。组织测试、管理密钥、处理不稳定性并控制成本。

Evals

使用确定性匹配或LLM评判评估器评估代理轨迹。