SuperAPI AI 工具集

verification-before-completion

智能体与模型

查看项目

更新于 10-15 08:05

技能介绍

用途

本技能用于约束 AI 智能体(尤其是编码智能体)的工作报告行为。它解决的问题是:智能体在没有实际验证的情况下,凭感觉、凭推测或凭此前结果宣称任务已完成、测试已通过、缺陷已修复,从而把未验证甚至错误的成果当作成功交付。技能的立场是:未经验证就宣称完成属于不诚实,而非高效。

核心原则

  • 证据先于声明,始终如此。
  • 铁律:在没有新鲜的验证证据之前,不得作出任何完成声明。
  • 如果本条规则的字面被违反,其精神也已被违反。
  • 凡是暗示成功、完成或正确的表述,都受该规则约束,包括同义改写与隐含表达。

门控函数

在声称任何状态或表达满意之前,必须依次执行五步:

  1. IDENTIFY:明确哪条命令能够证明这一结论。
  2. RUN:执行完整命令(保证是新鲜的、完整的)。
  3. READ:阅读全部输出,检查退出码,统计失败数量。
  4. VERIFY:判断输出是否确实支持结论;若不支持,则如实陈述带证据的真实状态;若支持,则连同证据一起陈述。
  5. ONLY THEN:此时才作出声明。

跳过任意一步,等于撒谎,而不是验证。

常见失败对照

技能用“声明 / 所需证据 / 不充分的做法”列出典型问题:

  • “测试通过”需要测试命令输出为 0 失败,而此前的运行结果或“应该会通过”都不算数。
  • “Linter 干净”需要 Linter 输出 0 错误,局部检查或外推不算数。
  • “构建成功”需要构建命令退出码为 0,Linter 通过或日志看起来不错不算数。
  • “缺陷已修复”需要对原始症状进行测试并通过,仅修改代码、假定已修复不算数。
  • “回归测试有效”需要验证红绿循环,测试只通过一次不算数。
  • “智能体已完成”需要版本控制差异显示变更,仅凭智能体自报成功不算数。
  • “需求已满足”需要逐条核对清单,测试通过本身并不足以证明需求覆盖。

危险信号

出现以下情况应停止并先验证:使用“应该”“大概”“似乎”等措辞;在验证之前表达满意(如“太好了”“完美”“搞定”);未验证就准备提交、推送或创建 PR;轻信智能体的成功报告;依赖局部验证;抱持“就这一次”的侥幸;因疲惫而想尽快收工;以及任何暗示成功却未运行验证的措辞。

反合理化对照

技能预置了常见借口与其现实反驳:

  • “现在应该可以了” → 去运行验证。
  • “我有信心” → 信心不等于证据。
  • “就这一次” → 没有例外。
  • “Linter 过了” → Linter 不等于编译器。
  • “智能体说成功了” → 必须独立验证。
  • “我累了” → 疲惫不是借口。
  • “部分检查就够了” → 部分检查证明不了什么。
  • “换个说法规则就不适用” → 精神高于字面。

关键模式

技能为不同场景给出推荐做法与反面做法:

  • 测试:运行测试命令并看到 34/34 通过后,再说“全部测试通过”;而不是“现在应该通过了”或“看起来正确”。
  • 回归测试(TDD 红绿):编写 → 运行(通过)→ 撤销修复 → 运行(必须失败)→ 恢复 → 运行(通过);而不是仅声称“我写了回归测试”而未做红绿验证。
  • 构建:运行构建并看到退出码 0 后,再说“构建通过”;而不是“Linter 过了”(Linter 不检查编译)。
  • 需求:重读计划 → 建立清单 → 逐条验证 → 报告缺口或完成;而不是“测试通过,阶段完成”。
  • 智能体委派:智能体报告成功 → 检查版本控制差异 → 验证变更 → 报告实际状态;而不是直接信任智能体报告。

适用场景与限制

适用场景:任何形式成功或完成声明的之前;任何表达满意之前;任何关于工作状态的正面陈述之前;提交、创建 PR、任务完成、进入下一任务、委派给智能体之前。规则覆盖确切措辞、同义改写以及暗示成功的表达。

技能给出的理由来自 24 条失败记忆:人类伙伴说“我不相信你”,信任被破坏;未定义的函数被交付,会导致崩溃;需求缺失被交付,功能不完整;虚假完成浪费大量时间,导致返工;并违反了“诚实是核心价值,若撒谎就会被替换”的原则。

限制:本资料未说明该技能的安装方式、适用平台、运行环境、是否收费或具体版本信息,这些内容暂未提供。使用时应以资料中的规则与流程为准,不得添加资料中未给出的功能、步骤或效果。

底线

验证没有捷径。运行命令,读取输出,然后再说结果。这一点没有商量余地。