AI 改完代码总是翻车?我开源了一个"自动验证+修复"系统,成功率 95%+
一个真实的开发场景
我在开发一个化工行业 ERP 系统(Spring Boot + Maven 多模块,20+ 个业务模块)。AI 帮我改了 Inventory 实体类的一个字段,看似简单的一行改动,实际引发的连锁反应是:3 个测试文件编译失败、Mockito mock 返回值歧义、新模块的 Controller 没被 @ComponentScan 覆盖。
过去怎么处理?手动重启后端 → 看报错日志 → 把错误贴给 AI → AI 修复 → 再重启 → 又报另一个错 → 循环 5-6 轮,半小时就没了。
现在怎么处理?AI 改完代码后,我只说一个命令:/开发编排,然后 AI 自动跑完 6 步流程:
| 步骤 | 做了什么 | 耗时 |
|---|---|---|
| 1. 影响分析 | 扫描改动,判断需要同步改什么 | 10秒 |
| 2. 自动修复 | AI 自动修复测试不同步、编译错误 | 30秒-2分钟 |
| 3. 编译验证 | mvn test-compile + mvn install | 1-3分钟 |
| 4. 冒烟检查 | 启动后端 + 核心 API 检查 | 30秒-1分钟 |
| 5. 智能测试 | 根据改动范围选择测试深度 | 3-20分钟 |
| 6. 生成报告 | 通过/失败反馈卡片 | 5秒 |
过去需要 30 分钟的返工循环,现在全自动 2 分钟搞定。
这个系统解决了什么问题?
在 Spring Boot 多模块项目中,AI 改完代码后最常见的 5 个坑:
| 坑 | 症状 | 原来怎么办 |
|---|---|---|
| 改了代码不编译 | 重启后发现编译失败 | 手动看日志贴给 AI |
| 改了A忘了改B | 实体改了测试没同步 | install 阶段才报错 |
| 组件扫描遗漏 | 新模块 API 全部 404 | 排查 @ComponentScan |
| 改了源码没重装 | 运行的是旧 JAR | 手动 mvn install |
| E2E 测的是壳不是芯 | 页面可见=通过,API 404 | 手动补测试 |
系统架构
这个系统由 6 个开源 Skill 组成,部署在 GitHub: maomaomonkey/ai-testing-skills,MIT 协议。
编排层(3 个)
- ai-dev-orchestrator — 主编排器,唯一的用户入口,一个命令触发全流程
- ai-dev-fix — 自动修复引擎,预置 8 种修复模式,最多自动修复 3 次
- ai-test-route — 智能测试路由器,根据改动范围自动选择测试深度
测试层(3 个)
- bs-ai-lightweight — 轻量冒烟(3-5分钟),80% Token 节省
- bs-ai-standard — 标准测试(5-10分钟),覆盖 API + 前端功能
- bs-ai-e2e — 深度 E2E(10-20分钟),完整业务流程验证
真实应用数据
| 指标 | 使用前 | 使用后 |
|---|---|---|
| 每次改代码后验证耗时 | 15-30 分钟 | 2-5 分钟 |
| 平均返工轮数 | 5-6 轮 | 0-1 轮 |
| 首次编译通过率 | ~40% | 95%+ |
| API 404 问题发现时机 | 手动测试阶段 | 冒烟检查阶段(提前 80%) |
设计原则
基于 Karpathy 编码原则:Think Before Coding(先分析影响范围)、Simplicity First(只验证必要层级)、Surgical Changes(修复只改受影响文件)、Goal-Driven Execution(成功标准明确)。
怎么用?
git clone https://github.com/maomaomonkey/ai-testing-skills.git
# 复制到 Claude Code skills 目录
cp -r ai-dev-orchestrator ai-dev-fix ai-test-route \
bs-ai-lightweight bs-ai-standard bs-ai-e2e \
~/.claude/skills/
AI 改完代码后,输入 /开发编排 或 /dev-orchestrate,看报告:通过就提交,失败让 AI 继续修。
GitHub: https://github.com/maomaomonkey/ai-testing-skills
MIT 协议,自由使用、修改、分发。
