概念审查 是做什么的?
决定某项推理或实现规范在有人基于它构建之前是否成立。除非用户单独要求编辑,否则保持只读状态。
从证据开始
- 首先获取廉价证据:仓库状态、测试、编译器或类型检查器输出、文档、日志、基准测试、配置和运行时行为。推理始于证据终止之处;切勿推理而不去找证据。
- 尊重请求的修订版本、分支、范围和读取限制。当规范绑定到某个提交时,读取那个提交,而不是工作树。
- 对待每一个引用、数字、仓库声明和引用的先例,都要进行核实。
- 将每个实质性前提标记为观察、推断、假设或未知。无法获得的来源是覆盖缺口,而非确认。
选择模式
- 推理模式:用于评估决策、主张或结论。
- 规范模式:用于审查实现合同、计划或简要说明(供实现者遵循)。
当规范建立在一个有争议的主张上时,两种模式同时使用。
推理模式
- 陈述决策或主张。
- 列出它所依赖的前提,并按照上述方式标记。
- 检查证据是否支持结论,且没有跳过步骤、循环支持或比前提所允许的更确定。
- 寻找不能同时为真的前提。
- 指出最重要的薄弱环节。
- 给出最强的合理反驳或竞争性解释。不设立稻草人。
- 询问另一个决策是否能更好地处理关键不确定性,包括在必要时考虑可逆性。
- 推荐最小的修正:保持、修改、调查一个指定的未知因素,或切换方案。
规范模式
检查什么可能导致实现或其验收失败:
- 结果: 行为、排除项和先决条件相互一致。
- 来源: 引用、范围、协议规则、公式和外部事实与它们的原始来源匹配。
- 算术: 计数、边界、矩阵和总计重新计算准确。
- 覆盖范围: 每个受影响的调用者、测试、接口、不变量、兼容性承诺和文档句子都被考虑在内。在规范命名的路径之外进行有限搜索,但不偏离到不相关的架构评审。
- 验收能力: 每个必需的测试都能针对其目标缺陷而失败。控制有意义,负面情况有可观察到的失败。
- 执行清晰度: 文件范围、顺序、边缘和失败行为以及完成证明,不能留下任何实质性内容需要猜测。
- 范围: 先例和未来工作不能暗中证明超出当前证据所需的合理性。
使用仓库的严重性术语对发现进行评级,或者:
- 阻塞: 可能导致错误的实现、虚假通过或不可避免的猜测。
- 修正: 具体的空白或模糊性;方法仍然成立。
- 细枝末节: 措辞或证据修正,不影响实现。
输出
- 以裁决开头。推理模式:推理成立,或什么破坏了它。规范模式:就绪 或 未就绪,并给出决定性的理由。
- 然后,推理模式只给出重要的内容:关键假设、最薄弱环节、最佳反驳和建议。
- 规范模式则以优先级顺序(标题、严重性、确切证据、为何重要、具体修复方案)给出编号的发现,以及一个简短的已验证列表(列出幸存的重要主张)。
- 以置信度(高、中、低)、最有可能改变裁决的证据,以及任何覆盖缺口或未经验证的来源结束。
规则
- 只提出可能改变决策的点。干净的裁决是有效的;切勿人为制造发现。
- 不要捏造证据无法支持的概率或评分。
- 仅在缺失的决策或要求阻碍审查时才询问用户。自己获取可用的事实。
- 本审查不授权实现、编辑或其他后续操作。
- 对于接口和接缝设计,推荐使用
$codebase-design而不是重做其方法。
基础:改编自 Anthropic 和 Redwood Research 的概念推理索引工作,作为开发者工作流。本技能未实现 CRI 或其基准测试。