
项目摘要
一套包含12个阶段的AI智能体开发工作流,通过规范、验证和影响分析来减少代码回归问题。
Bulletproof 是一个为AI智能体开发设计的结构化方法论,旨在解决AI编码时常见的混乱、引入回归和过度重构等问题。它通过深度调研、规格说明、挑战循环、自审、验证、影响分析等12个阶段,强制AI遵循纪律化流程,适合需要构建稳定生产级产品的开发者。
项目详细信息
🛡️ 坚不可摧
一套完整的AI智能体开发方法论。从构想到投产。
没有体系的AI智能体就是混乱的代码生成器。它们还没理解任务就开始编码,抓住第一个想到的方案而不是最优解,"发现"根本不存在的bug,并在工作只完成一半时就宣布"搞定"。Bulletproof将这种混乱转化为纪律。
作者: Artemiy Miller · GitHub · Telegram · Channel · Email
问题所在
你描述一个功能。AI编写代码。看起来很棒。然后:
- 它破坏了原本运行良好的部分
- 它"修复"了不存在的bug,却引入了真正的bug
- 它重构了没人要求它碰的代码
- 当一半的验收标准都未满足时,它却说"完成"
- 它选择了脑海中浮现的第一个方案,而不是最优解
- 第二天早上你发现它完全无视了项目的整体架构
75%的AI智能体会在正常运行的代码中引入回归问题(SWE-CI基准测试,阿里巴巴2025)。这不是AI的问题,而是流程问题。
Bulletproof如何解决
Bulletproof是一个包含12个阶段的工作流程。每个阶段的存在都有其必要性——缺少任何一个,某些特定环节就会出问题。并非所有任务都需要走完全部12个阶段:修复bug需要6个阶段,开发功能需要10个阶段,架构变更则需要完整的12个阶段。
以下是每个阶段的具体内容:
🔍 阶段1:深度调研
痛点: AI直接跳入编码环节。不研究代码库,不寻找现有解决方案,不理解上下文。
Bulletproof的做法: AI启动并行调研智能体。每个智能体深入探索不同领域——项目结构、模式、依赖项、测试。同时,它会在网络上搜索:谁已经解决了这个问题?存在哪些库?经过验证的最佳实践是什么?
关键点: 输出不是一份选项清单,而是一个具体的建议:"最佳方案是X,因为Y。"AI必须做出决策并为其辩护,而不是把选择权丢给你。
📋 阶段2:规格说明
痛点: AI在没有明确定义具体需要做什么的情况下就开始编写代码。没有"完成"的标准。最终要么构建了错误的东西,要么构建了过多不必要的东西。
Bulletproof的做法: 创建一份规格说明书:我们构建的是什么以及为什么。不涉及如何实现——只说明是什么。包含清晰的验收标准——这是"完成"的客观衡量标准,AI之后无法对此提出异议。
关键点: 规格说明书是一份契约。当AI在第5阶段检查自己的工作时,它对照的是这份契约,而不是"感觉差不多"的主观判断。
🧠 阶段3:计划 + 挑战循环
痛点: AI抓住脑海中浮现的第一个解决方案。不考虑替代方案,不思考后果。
Bulletproof的做法: AI制定一个计划。但在开始编码之前,它必须通过挑战循环——回答3个问题:
- 这真的能解决问题吗? 将计划中的每一项与规格说明书中的验收标准进行比对。如果有任何一项未被覆盖,那么计划就是不完整的。
- 这是最优解吗? 找出2-3种替代方案,比较优缺点,并论证为什么所选方案优于其他所有方案。
- 是否存在"为写代码而写代码"的情况? 每一项变更都必须直接关联到解决问题。附带的重构 = 独立任务,不应包含在本任务中。
关键点: AI必须证明其计划是所有可用方案中的最佳选择,才能开始编码。不是"我认为如此",而是"这里有3个选项,这是对比分析,这是为什么这个方案胜出。"
⚡ 阶段4:实现
痛点: AI一次性编写大段代码,上下文填满,质量下降。没有测试,没有迭代。Bulletproof 的作用: 实现过程被拆分为多个阶段。每个阶段都在全新的上下文窗口中运行(这样 AI 就不会随着进程推进而变“笨”)。顺序是:测试先行(TDD),然后是代码。没有依赖关系的阶段可以在多个独立的终端中并行运行。
关键点: 40% 规则。 当上下文填充超过 40% 时,AI 的输出质量会下降。Bulletproof 在阶段之间运行 /clear,并通过交接文档传递上下文。AI 始终在其“智能区”内工作。
✅ 阶段 5:自我审计
痛点: AI 说“完成”了——但一半的验收标准都没满足。或者它做了没人要求的额外工作。
Bulletproof 的做法: AI 打开规格说明,逐一检查每个验收标准:实现了吗?具体在代码的哪个位置?代码里有没有不属于任务范畴的内容?
关键点: 它不是凭感觉检查。它依据契约进行检查。每个标准——是或否。如果否——就返回去完成它。
🔬 阶段 6:验证
痛点: AI “发现”了并非错误的“bug”。修复了没有坏的东西。进行“改进”却制造了真正的问题。
Bulletproof 的做法: 三步检查。第一步——查找错误(逻辑、安全、性能)。第二步——证明每个 bug 都是真实存在的。你能复现它吗?不能?那就不是 bug,别动它。第三步——逻辑和效率审查。
关键点: 规则是 “不要为了美观或以防万一而修复代码。” 没有证据的每次修复,都可能引入新 bug 的风险。早期的 AI 代码审查器每发现 1 个真实 bug,就会标记 9 个误报(Anthropic)。此阶段能消除 90% 的无效工作。
💥 阶段 7:影响分析
痛点: 代码能运行。但它破坏了别处的某些功能。你一周后才发觉。
Bulletproof 的做法: 合并前的强制检查:(1) 哪些模块依赖于已更改的文件?运行所有项目测试,而不仅仅是当前阶段的测试。(2) 是否有任何契约发生了变化——API、类型、接口?所有使用者都更新了吗?(3) 一个月后可能出现什么问题?在零数据时?在百万条记录时?在并发请求时?(4) 向后兼容性如何?需要迁移吗?
关键点: 75% 的 AI 智能体会破坏正常工作的代码——正是因为缺少这个阶段。依赖图分析能将回归问题减少 70%(TDAD/arXiv)。
🔗 阶段 8:集成检查
所有阶段完成——在整个项目范围内运行完整的测试套件。审计:规格说明中的所有内容是否都已实际实现?
👁️ 阶段 9:代码审查
痛点: AI 审查自己的代码,并认为它很棒。
Bulletproof 的做法: 新会话。全新上下文。一个从未见过该实现代码的独立智能体。检查边界情况、竞态条件、安全性、性能。
关键点: AI 审查 AI,但没有实现者的偏见。对于关键代码——你仍然需要人类,Bulletproof 会明确指出这一点。
🔒 阶段 10:安全扫描
自动化的漏洞扫描。AI 生成的代码比人类编写的代码多出 2-3 倍的安全问题。此阶段能捕获它们。
🔧 阶段 11:修复 + 重新验证
发现问题?只修复已证实的 bug(阶段 6 的规则仍然适用)。修复后——再次运行影响分析。修复比原始开发更容易破坏代码。
🚀 阶段 12:部署
归档计划。压缩合并。部署——仅在你明确指示时进行。
附加:反合理化钩子
这个钩子独立于阶段之外。它是一个停止钩子,每次 AI 试图结束时都会触发。它会检查:
- AI 是否在合理化未完成的工作?(“先前存在的问题”、“超出范围”、“我会记录下来以便后续处理”)
- 是否只列出问题而不实际修复它们?
- 是否找借口跳过失败的测试?
- 是否进行了与任务无关的更改?
- 是否未运行验证就声称“完成”?
如果是——阻止完成并将 AI 送回以完成工作。
自适应规模调整
并非每个任务都需要所有 12 个阶段:| 规模 | 内容 | 阶段 | |------|------|--------| | S - 缺陷修复,1-2个文件 | 轻量级 | 调研 → 构建 → 自审 → 验证 → 影响分析 → 门控 | | M - 功能开发,3-10个文件 | 标准流程 | 阶段 1-10 | | L - 架构调整,10+个文件 | 完整流水线 | 全部 12 个阶段 |
为什么这套方法有效
并非纸上谈兵。每个机制都有研究依据:
| 机制 | 来源 |
|---|---|
| 40% 上下文规则 | HumanLayer |
| 挑战循环(决策论证) | Addy Osmani,规范优先工作流 |
| 误报过滤器 | Anthropic 代码审查 |
| 影响分析(依赖图) | SWE-CI(阿里巴巴),TDAD/arXiv |
| 反合理化机制 | Trail of Bits |
| 阶段分离 | RIPER-5,Spotify Engineering |
适用人群
- 你正在用 AI 构建真实产品,而非一次性原型
- 你厌倦了演示可用但生产环境崩溃的代码
- 你需要一个可扩展的系统——从单行修复到全新微服务
安装(30 秒)
# Into your project
mkdir -p .claude/skills && git clone https://github.com/artemiimillier/bulletproof.git .claude/skills/bulletproof
# Global (all projects)
mkdir -p ~/.claude/skills && git clone https://github.com/artemiimillier/bulletproof.git ~/.claude/skills/bulletproof
# For teams
git submodule add https://github.com/artemiimillier/bulletproof.git .claude/skills/bulletproof
打开 Claude Code → 输入 /bulletproof → 完成。
或者直接描述你的任务 - 当相关时,Claude 会自动启用 Bulletproof。
兼容性
Claude Code · Codex · Cursor · Gemini CLI · Windsurf · OpenCode - 任何支持 Agent Skills 标准的工具。
内容概览
bulletproof/
├── SKILL.md # The full 12-stage workflow
├── templates/ # Artifact templates (research, spec, plan, handoff)
├── agents/ # Code review sub-agent
├── examples/ # Use cases
├── CONTRIBUTING.md
└── LICENSE # MIT
```---
## 贡献指南
欢迎贡献。详见 [CONTRIBUTING.md](CONTRIBUTING.md)。
---
## 许可证
MIT 协议
*[Artemiy Miller](https://github.com/artemiimillier) · [Telegram](https://t.me/artemiymiller) · [Channel](https://t.me/+0jZamDvGOeZjOWE1) · [Email](mailto:who.ismillerr@gmail.com)*