核心 GUIDE

PRACTICEINTERMEDIATE7 分钟阅读

Test-first AI Coding

在代码生成前先存在可执行 Expectation,会让 AI Coding 更可控,因为 Test 给 Agent 与 Reviewer 提供独立 Contract,而不是依赖生成代码自己解释“为什么正确”。

核心心智模型

Test-first AI 会在 Implementation 之前把 Desired Behavior 变成独立 Executable Evidence。模型可以选择如何写 Code,但不能在看到自己的 Solution 之后重新定义 Success。

为什么重要

Coding Agent 可以快速生成很大的 Plausible Diff,也同样可以写出看似合理的自我说明。已有或新写的 Failing Test 能把任务锚定在 Observable Behavior 上,限制 Regression,并给 Agent Deterministic Feedback,而不是让它只靠 Self-review。

01

先建立最小 Failing Contract

把 Acceptance Criteria 翻译成尽量稳定 Interface 上的 Test,并先确认 Test 会因为预期原因失败,再让 Agent Implementation。Agent 可以迭代直到目标 Test 与相关 Regression Suite 都通过;之后仍需要 Review Test Adequacy、Scope 是否扩大,以及无法自动测试的 Requirement 是否有其他 Evidence。

02

示例:Retry 修复必须保证不会重复支付

修改 Retry Logic 前,Test 先模拟 Timeout Ambiguity,并断言同一个 Operation Key 被投递两次时只产生一次 Settlement。Agent 可以重构 Client 或 State Handling,但在这个 Invariant 成立前不能宣称完成。Review 再检查 Test 没覆盖的 Logging 与 Migration Concern。

常见失败模式

  • 生成完 Implementation 才写 Test,并无意中让 Test 匹配已有行为。
  • 使用只证明 Output 没变化、却没证明关键 Invariant 的 Snapshot。
  • 把 Green Test 当成所有未进入 Test 的 Requirement 都已经满足。

工程启发

  • 第一条 Test 表达高后果 Behavior,而不是 Internal Implementation Detail。
  • 运行相关 Regression Suite,而不只是新加 Test。
  • 把 Test Adequacy 与 Implementation Correctness 分开 Review。

关键结论

  1. 01Test 提供独立于 Model Confidence 的 Evidence。
  2. 02Test-first 会在代码出现前约束 Generation。
  3. 03Green Test 是必要 Evidence,但不是完整证明。

阅读记录

未打开Practice 尚未完成

这里只记录你真实做过的动作,不代表掌握、熟练或认证。

用于这些学习路径

这个 Concept 会在多个 canonical 学习路径中复用。

来自 Knowledge Graph 的相关知识点

这些关系直接来自 canonical graph,不维护第二套 Guide 分类体系。