SuperAPI AI 工具集

judge

测试与质量

查看项目

更新于 10-15 09:28

技能介绍

用途

Judge 是一个评分框架技能,用于“速度跑对决”(speed-run showdown)和“任意百分比”(any-percent)两种场景。它在第 4 阶段被调用,对实现进行 5 项标准评分。该技能不应被直接调用。

术语说明:该技能使用“impl”一词,但适用于两种场景:

  • Showdown:runner-1、runner-2、runner-3(相同设计,不同实现)
  • Any%:variant-a、variant-b(不同方法/设计)

主要能力

该技能要求按固定格式输出完整评分结构,不得省略或缩写。输出内容包括:

  1. 门禁检查:表格列出每个 impl 的测试通过情况和设计遵循情况。
  2. 可行性检查:列出每个 impl 的状态(OK/Flag)和备注。
  3. 评分工作表:对每个 impl 按 5 项标准评分:
    • 适用性(Fitness for Purpose):是否解决实际问题,检查功能需求、用户需求、未来考虑等,共 8 项检查,按通过数量映射 1-5 分。
    • 合理复杂度(Justified Complexity):检查不必要的抽象、死代码、膨胀估计、行数对比等,按膨胀程度映射 1-5 分。
    • 可读性(Readability):检查单字母变量、超过 50 行的函数、超过 3 层的嵌套、魔法数字、糟糕的函数名等违规项,按违规总数映射 1-5 分。
    • 健壮性与规模(Robustness & Scale):检查输入验证、外部调用错误处理、错误消息、空值处理、异步超时、无界循环、复杂度、内存、分页、阻塞 I/O、退避/重试、10 倍负载等 12 项,结合可行性标志映射 1-5 分。
    • 可维护性(Maintainability):检查单一职责、显式依赖、业务逻辑与基础设施分离、新功能改动文件数、配置外置、测试覆盖等 6 项,按通过数量映射 1-5 分。
  4. 速度跑指标:表格列出每个 impl 的托管 LLM 调用次数、修复周期、生成时间(毫秒)。
  5. 评委记分卡:汇总各 impl 在 5 项标准上的得分及最佳项,总分 /25。
  6. 硬性门禁:检查适用性门禁(差值≥2)和严重缺陷(任一项为 1)是否触发。
  7. 获胜者选择:宣布获胜者、选择理由、承认的权衡、令牌效率说明。

使用方式

该技能在第 4 阶段被调用,不应直接调用。使用流程:

  1. 阅读所有实现代码(应已在上下文中)。
  2. 为每个实现填写工作表,不得跳过任何部分。
  3. 填写速度跑指标表。
  4. 检查硬性门禁。
  5. 宣布获胜者并给出理由(包括令牌效率说明)。

关键要求:仅使用整数分数(1-5),不得使用 4.5 等半分。必须填写每个复选框,不得总结或缩写工作表。

评分参考

分数含义:5=优秀超出预期,4=良好完全满足要求,3=合格核心可用但有差距,2=较差有显著问题,1=严重缺陷可淘汰。

硬性门禁:

  1. 适用性门禁:如果两个 impl 之间适用性差值≥2,则适用性更高者立即获胜。
  2. 严重缺陷:如果任一标准得分为 1,则该 impl 被淘汰。

适用性门禁解释:在 Showdown 中,差值大意味着某个 runner 偏离或误解了设计,是危险信号;在 Any% 中,差值大意味着某种方法确实更好地解决了问题。两种情况下都是适用性更高者获胜。

平局决胜:当总分持平或相差 1 分以内时,优先选择:1)使用更少托管 LLM 修复周期;2)总托管 LLM 调用次数更少;3)生成代码更快。

可行性危险信号:在评分前检查 O(n²) 或更差的无界数据、无界内存增长、自我 DDoS 模式(轮询、无退避)、缺少分页、热路径中的阻塞 I/O、无错误恢复。

适用场景

适用于速度跑对决和任意百分比两种场景下的实现评分,在第 4 阶段调用。

限制

该技能不应直接调用。必须严格按固定格式输出,不得省略或缩写。仅使用整数分数。具体平台、收费、价格等信息暂未提供。