停止对你的 AI 进行 “Vibe Checking”。改用 Snapshot Testing。
Source: Dev.to
为什么我们不对 AI 做同样的事?
我们大多数人仍在进行“氛围检查”:手动运行提示,阅读输出,然后说,“嗯,看起来还行。”
我做了一个工具来解决这个问题。
介绍 SafeStar
SafeStar 是一个零依赖的 CLI 工具,将 “Snapshot & Diff” 工作流引入 AI 工程。它可以配合 Python、Node、curl 或任何其他接口使用,将你的 AI 视为黑盒,并回答一个问题:
“相较于上次,行为是否发生了变化?”
工作原理
SafeStar 遵循类似 Git 的工作流:
- Snapshot 一个“良好”行为的基线。
- Run 你的当前代码。
- Diff 结果以检测漂移。
快速开始
你可以立即尝试 SafeStar,而无需更改代码。
1. 安装
npm install --save-dev safestar
2. 定义场景
创建文件 scenarios/refund.yaml。使用 exec 键告诉 SafeStar 如何运行你的脚本。
name: refund_bot
prompt: "I want a refund immediately."
# Your actual code command
exec: "python3 my_agent.py"
# Run it 5 times to catch randomness/instability
runs: 5
# Simple guardrails
checks:
max_length: 200
must_not_contain:
- "I am just an AI"
3. 创建基线
运行它直到得到满意的输出,然后“冻结”它:
npx safestar baseline refund_bot
4. 在 CI 中检查漂移
每当你更改提示或模型时,运行:
npx safestar diff scenarios/refund.yaml
如果模型出现漂移,SafeStar 会提醒你:
--- SAFESTAR REPORT ---
Status: FAIL
Metrics:
Avg Length: 45 chars -> 120 chars
Drift: +166% vs baseline (WARNING)
Variance: 0.2 -> 9.8 (High instability)
我为什么要做这个
我厌倦了那些给出 “正确性得分” 为 87/100 的复杂评估仪表盘。我不在乎分数,我在乎 回归。如果我的机器人昨天还能正常工作,我只想知道它今天是否 不同。
SafeStar 是开源的、以本地为先,并且可以直接集成到 GitHub Actions 中。
链接
- NPM:
- GitHub:
- Full blog post:
如果你觉得有用,请告诉我!