证据驱动开发
AI辅助工程中缺失的规律
团队采用了人工智能编码工具,看到了短期的速度峰值,然后在调试、回归和生产事件中支付了验证税。
差距不是世代。差距就是证据。证据驱动的开发将这一差距转变为具有明确关卡的可重复工作流程。
循环
该模型很简单:定义意图、证明差距、捕获基线、实施、证明通过、捕获结果并在审核前验证质量维度。
关键的约束是顺序。实施前的步骤创造可靠性;实施后的步骤建立信任。
|相|会发生什么 |为什么这很重要 | | --- | --- | --- | |文件|在实施之前写下完成的含义。 |防止要求漂移和成功标准模糊。 | |测试:失败 |定义并运行测试来证明差距的存在。 |确认您正在测试行为,而不是假设。 | |捕获:之前|在实施之前记录基线输出。 |为审阅者和未来的审计提供不可协商的证据。 | |实施 |在约束条件下通过人工智能辅助应用更改。 |执行速度保持快速,而酒吧仍然由人定义。 | |测试:通过 |运行有针对性的测试并确认行为现已通过。 |验证更改解决了确切的验收标准。 | |捕获:之后 |收集等效的更改后工件。 |启用清晰的前后比较。 | |验证 |审核安全性、可访问性、性能、文档和偏差。 |仅捕获失败模式测试遗漏的情况。 | |评论 |人工审核员根据证据接受或拒绝。 |对工程师负责,而不是提示。 |
:::图名:ImplementationLoopDiagram 标题:实现循环:人类定义的约束,人工智能辅助执行。 :::
| Jieduan | Fasheng shenme | Weihe zhongyao |
|---|---|---|
| Document | 在实施之前写下完成的含义。 | 防止要求漂移和成功标准模糊。 |
| 测试:失败 | 定义并运行测试来证明差距的存在。 | 确认您正在测试行为,而不是假设。 |
| 拍摄:之前 | 在实施之前记录基线输出。 | 为审阅者和未来的审计提供不可协商的证据。 |
| Implement | 在约束条件下通过人工智能辅助应用更改。 | 执行速度保持快速,而酒吧仍然由人定义。 |
| 测试:通过 | 运行有针对性的测试并确认行为现已通过。 | 验证更改解决了确切的验收标准。 |
| 捕获:之后 | 收集等效的更改后工件。 | 启用清晰的前后比较。 |
| Verify | 审核安全性、可访问性、性能、文档和偏差。 | 仅捕获失败模式测试遗漏的情况。 |
| Review | 人工审核员根据证据接受或拒绝。 | 对工程师负责,而不是提示。 |
在证据在实践中不可逆转之前
理论上,团队可以在实施开始后重建基线,但几乎没有人这样做。势头转向固定前进。
这就是为什么在有纪律的循环中缺少前证据被视为重置条件。
:::图形名称:MaturityLadder 标题:成熟度模型:专门针对经过审计验证的工程。 :::
Shenji: shi ge weidu
| Weidu | Neng faxian shenme |
|---|---|
| Build | 编译、lint 和套件完整性 |
| Telemetry | PII 泄漏和不安全的日志记录有效负载 |
| Accessibility | 地标、键盘流程、标题层次结构 |
| Security | 秘密、注入风险、依赖缺陷 |
| Performance | N+1 路径、无界循环、内存泄漏 |
| Documentation | 规范和实施偏差 |
| 测试覆盖率 | 没有匹配测试的行为改变 |
| 待办债务 | 跳过后续操作和未解决的占位符 |
| 错误处理 | 被吞没的错误和泄露的内部结构 |
| 人工智能冗长 | 多余的注释和不必要的抽象 |
审计:十个维度
|尺寸|它捕获了什么 | | --- | --- | |构建 |编译、lint 和套件完整性 | |遥测| PII 泄露和不安全的日志记录负载 | |无障碍 |地标、键盘流程、标题层次结构 | |安全|秘密、注入风险、依赖缺陷 | |性能| N+1 路径、无界循环、内存泄漏 | |文档 |规范和实施偏差| |测试覆盖率|没有匹配测试的行为改变 | | TODO 债务 |跳过后续和未解决的占位符 | |错误处理 |被吞没的错误和泄露的内部结构| | AI 冗长 |多余的注释和不必要的抽象|
:::图名称:AuditRadarChart 标题:证据驱动检查之前和之后的审计状况。 :::
An domen de zhengju shili
| Domen | Genggai qian zhengju | Genggai hou zhengju |
|---|---|---|
| API端点 | 卷曲响应状态错误 | 具有预期状态和架构的卷曲响应 |
| 数据库迁移 | 迁移前查询 | 显示新列和填充值的查询 |
| Infrastructure | 当前计划输出 | 期望的计划和应用输出 |
| Performance | 基准基线 | 优化后的基准增量 |
| 安全补丁 | 扫描仪寻找 | 扫描仪清洁报告 |
Pull 请求中的证明负担
参考文献
- 肯特·贝克 (2025) 增强编码:超越共鸣
- ThoughtWorks (2025) 人工智能辅助测试优先开发
- METR (2025) AI 工具使经验丰富的开发人员速度慢了 19%
- 阿迪·奥斯马尼 (2026) 人工智能编写代码速度更快。你的工作仍然是证明它有效。
- 微软.NET (2026) 在 dotnet/runtime 中使用 Copilot Coding Agent 十个月