《AI 渐进编程》之二十一:Agent 不光要交代码,还要交证据包

发布时间:2026/9/29 0:41:03

《AI 渐进编程》之二十一:Agent 不光要交代码,还要交证据包
使用 AI 编程时最容易被看到的是生成能力。代码写出来了页面生成了接口补上了看起来任务已经完成。但在真实项目里生成只是第一步。这就像吊车搬运重物。货物被吊到目标区域并不等于已经放准还需要确认位置、偏差和后续影响。AI 编程也是一样。Agent 写完代码不等于完成交付。它还需要说明改了什么为什么这样改影响了哪里如何验证还有哪些风险需要人判断。这就是证据包。AI 生成速度远超过人工审查速度。如果每次都让人检查全部代码流程很快就会堵住。证据包的作用是把修改范围、验证结果和剩余风险提前整理出来让人集中判断关键风险。所以AI 编程不应该只是生成式交付而应该是验证式交付。1. AI 的审查能力也要用起来过去代码审查主要依赖人。人要读 diff、理解调用关系、判断影响范围、确认测试是否充分还要识别隐藏风险。这件事很难也很耗时间。AI 出现以后不能只利用它的生成能力也要利用它的审查能力。Agent 在提交结果之前应该先做一轮机器审查是否越过修改边界是否破坏调用关系是否只修复了表面问题是否缺少关键路径测试是否留下旧代码和过期注释是否有需要人工判断的风险。这些检查不能完全替代人但它可以把大量原本需要人从头梳理的信息提前整理出来。2. 传统工程审代码Agent 工程审证据传统软件工程里一轮开发大致是需求 → 设计 → 手写代码 → 人工审查 → 测试代码是主要交付物。审查者拿到代码 diff再自己判断改动是否合理。Agent 工程不应该只是把“手写代码”换成“AI 写代码”。更合理的流程是意图与约束 → 项目状态检索 → 生成 / 执行 / 反馈循环 → 机器验证 → 证据包 → 人类风险审批这里的关键变化是Agent 不能只交结果还要交代结果是怎样来的。它不仅要说“我改完了”还要说明基于什么上下文修改、影响范围在哪里、已经验证了什么还有哪些风险没有覆盖。3. 证据包应该包括什么证据包不是一堆日志。它是一份让人能够快速判断风险的工程说明。一份基本的证据包可以包括任务目标 修改文件 关键改动 影响范围 验证结果 未覆盖风险 需要人工判断的问题例如任务目标 修复空购物车结算异常。 修改文件 - checkout/service.py - tests/test_checkout.py 关键改动 - 在结算前增加 empty cart 检查 - 阻止空购物车进入支付流程 - 增加空购物车测试。 影响范围 - checkout service - order creation - payment request path。 验证结果 - 空购物车测试通过 - 正常购物车测试通过 - 未发送 payment request。 未覆盖风险 - 未验证优惠券叠加场景 - 未验证多币种结算路径。 需要人工判断 - 空购物车错误提示文案是否符合产品要求。这样的提交比一句“已修复”有用得多。4. 人类审批的是风险Agent 可以生成代码也可以整理证据。但最后是否接受修改仍然需要人类判断。因为有些问题不是测试能完全决定的业务是否合理用户体验是否接受风险是否可承受是否符合长期架构方向是否应该现在解决还是写入open_issues.md。所以人类审查的重点不只是逐行看代码而是判断证据是否充分、风险是否说清、当前结果是否可以进入项目状态。人不是重新替 Agent 做一遍而是做最后的风险审批。5. 证据包让交付可追踪如果 Agent 每次只返回“已完成”项目很快会变得不可追踪。人不知道它基于什么理解修改验证了哪些路径有没有越界留下了哪些风险。所以在长期项目里证据包应该成为每一轮交付的一部分。可以在current_task.md中提前要求本轮完成时必须提交证据包包括 1. 修改文件清单 2. 关键改动摘要 3. 影响范围分析 4. 已执行的验证 5. 未覆盖风险 6. 是否清理旧代码 7. 需要人工审批的问题。这不是形式主义。它是在让 Agent 的工作变得可审查、可追踪、可回滚。本章小结Agent 工程的交付物不应该只有代码还应该有证据包。代码说明“改了什么”证据包说明“为什么这样改、验证了什么、还有什么风险”。人类不必从零审查而是基于证据包做风险判断。

相关新闻

SIM820X-M2 5G HAT OpenWrt软路由器——安装MySQL(三)问题记录

SIM820X-M2 5G HAT OpenWrt软路由器——安装MySQL(三)问题记录

2026/9/4 17:15:00

问题一:只读文件系统错误描述:这表示文件系统以只读方式安装,从而阻止了软件包安装所需的任何写入操作。解决办法:要将文件系统重新挂载为读写,可以使用以下命令:mount -o remount,rw /成功!问题…

MCP协议:AI工具互联互通的标准解决方案

MCP协议:AI工具互联互通的标准解决方案

2026/8/23 4:16:19

1. MCP协议:AI工具互联互通的"普通话"去年在调试一个多AI协作系统时,我遇到了工具链整合的噩梦——每个模型都需要单独对接API,参数格式千奇百怪,光是处理不同服务的错误码就耗掉两周。直到发现Anthropic推出的MCP协议&…

深入解析C2000 eQEP模块:正交编码器硬件解码与高精度运动控制

深入解析C2000 eQEP模块:正交编码器硬件解码与高精度运动控制

2026/8/23 4:16:20

1. 项目概述与核心价值在伺服电机、工业机器人或者高精度数控机床的研发调试过程中,你是否曾为如何精确、实时地获取电机转轴的位置和速度信息而头疼?面对编码器输出的两路看似简单的方波信号,软件解码不仅占用宝贵的CPU资源,在高…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/28 4:08:17

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/28 16:01:49

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/28 2:15:29

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/28 3:14:54

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/28 3:58:00

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/28 3:47:14

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/28 16:01:48

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/28 5:05:21

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/28 16:01:48

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…