介绍Supabase Evals

介绍Supabase Evals

💡 原文英文,约1200词,阅读约需5分钟。
📝

内容提要

Supabase开源了评估框架supabase/evals,用于测试AI代理构建Supabase项目的表现。它运行真实任务并评分,发现代理在声明式模式、新库发现和技能激活上存在不足,但技能加载能提升表现。结果已公开,未来将扩展场景并改进评分。

🔎

延伸解读

评估框架的定位与价值

Supabase Evals 并非一次性测试,而是持续运行的回归套件,每日刷新结果。它覆盖数据库、认证等产品领域,以及构建、排错等阶段,通过真实环境中的任务(如修复 RLS 策略)来评估代理表现。这种设计让 Supabase 能追踪代理的薄弱环节,并验证修复是否有效,从而在快速变化的 AI 工具生态中保持对代理体验的量化把握。

技能加载的实际影响

文章指出,技能加载对整体表现提升有限,因为多数代理在无技能时已能通过大部分场景。但技能在边缘案例中作用显著,例如帮助代理更一致地查阅文档,纠正过时的预训练知识。因此,技能的价值更多体现在细节正确性上,而非基础任务完成率,这提示用户应关注技能对特定场景的针对性优化。

代理的常见短板与改进方向

代理在声明式模式、新库发现和技能激活上存在不足。例如,即使项目已使用声明式 schema,代理仍倾向手写迁移;面对新发布的 @supabase/server,代理仍选择旧方法。Supabase 通过更新技能指南和发布包选择指南来应对,并观察到技能激活率从 10% 提升至 60%。这表明,通过调整提示和文档,可以有效引导代理行为。

文档使用的不均衡现象

不同代理对文档的依赖差异显著:Codex 系代理每场景约读 8 页文档,而 Claude Code 仅约 2 页,且后者在 40% 的场景中不查阅文档。这种差异可能影响代理对最新 API 的掌握,因为文档是纠正预训练知识的关键。Supabase 正致力于让代理在需要时主动查阅文档,这提醒用户注意代理的文档使用习惯可能影响其表现。

Q&A

Supabase Evals是什么?

Supabase Evals是Supabase开源的评估框架,用于测试AI代理(如Claude Code、Codex、OpenCode)在真实Supabase任务上的表现,例如构建schema、调试Edge Function或修复RLS策略,并对其表现进行评分。

Supabase为什么构建Evals?

因为AI代理正成为人们使用Supabase的主要方式,他们通过CLI、MCP服务器、agent skills和文档与Supabase交互。Supabase需要一种方法来衡量代理在这些不同界面上的表现,以便发现代理的不足并针对性改进,同时验证新功能不会导致回归。

Supabase Evals是如何工作的?

Evals框架会启动真实的Supabase环境(包括托管式堆栈和本地CLI项目),让代理调用实际的MCP服务器和CLI。评分结合确定性检查(如用户能否访问数据、Edge Function是否返回预期结果)和LLM-as-a-judge进行语义判断。代理在失败后有一次重试机会。基准场景用于评估新变更,回归场景每日刷新。

Supabase Evals有哪些主要发现?

主要发现包括:1)代理在无技能加载时已能通过大部分场景,但技能加载能提升表现,尤其是让代理更一致地查阅文档;2)代理不倾向于使用声明式schema工作流,而更喜欢手写迁移;3)新库(如@supabase/server)的发现性不足,代理仍使用旧方法;4)技能激活不均匀,重写描述后激活率提升;5)不同代理的文档使用不一致,Codex比Claude Code更常查阅文档。

Supabase Evals的基准测试和回归测试有什么区别?

基准测试旨在覆盖广度,包含多样化的场景,代表真实的Supabase用户旅程,并在多种配置下运行,结果公开发布。回归测试旨在覆盖深度,针对特定的已知失败模式,更频繁地监控,但不影响基准分数,用于分诊bug报告或实验新功能。

Supabase Evals的未来计划是什么?

未来计划包括:扩展对边缘情况的覆盖,随着代理和产品变化添加新场景;改进评分的严谨性和稳定性;将某些回归场景提升为基准场景;开发新的CLI命令和MCP工具,让代理在遇到困难时提交反馈,以帮助确定后续优先级。

🏷️

标签

➡️

继续阅读