我的 AI 代理一夜之间花了我 400 美元,于是我为代理构建了 pytest 并开源了它

发布: (2025年12月8日 GMT+8 17:52)
3 min read
原文: Dev.to

Source: Dev.to

背景

凌晨 2 点,我盯着 OpenAI 仪表盘,疑惑为什么我的账单在一天之内从 80 美元 跃升到 400 美元。在生产环境中运行自定义 AI 代理六个月后,我痛苦地领悟到:在本地机器上完美运行的代理,到了生产环境可能会背叛你。

介绍 EvalView

我需要一个极其简单的工具:写下代理应该做的事,运行它,如果它做了蠢事就让构建失败。思路非常直接——在 YAML 文件中描述期望行为,让测试框架来强制执行。

示例测试

name: order lookup
input:
  query: "What's the status of order 12345?"
expected:
  tools:
    - get_order_status
thresholds:
  max_cost: 0.10
  • 如果代理在没有调用 get_order_status 的情况下直接回答,测试失败。
  • 如果费用超过 10 美分,测试失败。

CI 中的红色错误会中断构建,阻止部署。

入门指南

pip install evalview

快速开始

evalview quickstart

quickstart 会启动一个小型演示代理并对其运行一些测试,耗时约十五秒。

evalview run

将该命令加入 CI 流水线,即可自动强制守护线。

为什么重要

在使用 EvalView 之前,我每次部署平均会收到两三条愤怒的用户反馈。边缘案例的失败会占用我的夜晚去调试生产环境。EvalView 能与 LangGraphCrewAIOpenAIAnthropic 以及基本上所有可通过 HTTP 访问的服务配合使用。

其他特性

  • LLM 作为评审 – 在输出质量上进行检查,超越单纯的字符串匹配。
  • 从生产日志生成测试 – 自动将真实的失败转化为回归测试(计划中)。
  • 对比模式 – 并排测试不同的代理版本或配置,看看哪个表现更好(计划中)。

仓库

源码可在以下地址获取:

如果你曾因生产环境的代理而尴尬,或因云账单而感到身体疼痛,试试 EvalView。即使只省下一次深夜调试,也值得给它点个星。

征求反馈

我很好奇大家是如何进行代理评估的。你有完善的评估体系吗?在评论区分享你的想法——我仍在边做边学。

Back to Blog

相关文章

阅读更多 »

如何为编程的未来做好准备

你并不孤单。作为一名作家,我也在惊慌。为什么要读这个,而你可以把同样的问题问你选择的 LLM,进行一场活泼的讨论,完美……

当 AI 学会黑客

通知在凌晨3:47出现在Mark Stockley的屏幕上:又一个 zero‑day vulnerability 已被 weaponised,这次仅用了22分钟。作为一名 security…