AI 工具与知识库 · 第 5 篇

AI 编程工具怎么用

从读代码、改代码到测试交付,明确自动化与人工审查边界。

32 分钟开发入门

学完能做什么

你会判断一个编程任务适合解释、生成、重构、调试还是仓库级执行,并通过范围、差异、测试和回滚点控制修改。

先区分五种编程任务

任务适合的协作方式关键验收
解释让 AI 沿真实调用链说明代码与源码、类型和运行结果一致
生成先定输入输出和边界,再写最小实现样例、边界和错误用例都通过
重构锁定外部行为,小步改内部结构行为测试不变,差异可解释
调试先复现、收集证据,再修最小原因回归测试能在修复前失败、修复后通过
仓库任务读规则、搜调用点、改代码、跑验证、审查差异范围完整,构建测试通过,无无关改动

一条安全的仓库工作流

text
读项目规则 → 确认 Git 状态 → 找入口与调用点
→ 复现问题/建立验收 → 最小补丁
→ 运行相关测试 → 运行构建或静态检查
→ 审查差异 → 记录风险和回滚方式

不要一上来就“把整个项目优化一下”。

给编程 Agent 的任务卡

text
问题:用户在什么条件下看到什么错误
期望:正常、边界和失败情况分别是什么
可改范围:哪些目录或文件
不可改:公共协议、数据库结构、锁文件等
必跑验证:具体命令和通过标准
已有改动:哪些属于用户,不得覆盖
交付:改动摘要、测试结果、仍有风险

调试时要证据,不要先猜原因

先固定:

  • 精确输入和环境;
  • 实际输出、状态码、日志或堆栈;
  • 预期输出;
  • 最小可复现步骤;
  • 最近一次正常版本和相关差异。

然后列假设,每次实验只验证一个假设。没有回归测试的修复,下次仍可能回来。

不要把命令和代码直接交给解释器

高风险动作必须由程序白名单和人工确认控制。特别检查:

  • 删除、覆盖、强制重置和大范围递归操作;
  • 远程发布、生产部署和数据库变更;
  • 安装来源不明的依赖或运行项目内脚本;
  • 打印环境变量、密钥、Cookie 和用户数据;
  • 覆盖用户已有未提交改动。

差异审查的六个问题

  1. 每个改动都直接服务于任务吗?
  2. 有没有改变公共接口、数据格式或默认行为?
  3. 异常路径是否被吞掉或伪装成成功?
  4. 新增日志是否可能泄露敏感数据?
  5. 测试是否真的覆盖修复行为,而不是只跑了一遍?
  6. 如果需要回滚,是否有精确范围和可恢复点?

仓库练习

选一个你自己的小项目,让工具完成“为一个输入校验函数增加边界测试”:

  1. 先只解释当前行为,不改文件;
  2. 列出空值、边界值、错误类型和正常值用例;
  3. 确认测试文件范围后才修改;
  4. 跑定向测试和整体构建;
  5. 审查差异,删掉无关格式化改动;
  6. 写一段改动、证据和剩余风险摘要。

完成检查清单

  • 任务有可改和不可改范围。
  • 修改前已经复现问题或建立行为验收。
  • 已有未提交改动被保留。
  • 高风险命令、外部写入和部署仍需人工确认。
  • 相关测试、构建和差异审查都已完成。

下一篇

《Skill、MCP 与工具调用怎么配合》——把做事方法与真实执行能力分开。