AI 写代码总失控?CMMI 的工程管理思路
AI 写代码总失控?CMMI 的工程管理思路
“能跑"不等于"受控”——这是 AI 编程时代最大的幻觉。AI Agent 几秒钟就能生成几百行代码,但它们是否符合需求、是否可维护、是否有测试覆盖?把 1987 年的 CMMI 成熟度模型用在这里,你会发现它意外地合适。今天聊聊怎么让 AI 写代码"守规矩"。
一、AI 编程的失控现场
AI Agent 写代码的问题不是"写不出来",而是:
- 需求理解偏差:你说"做个登录功能",它给你做了个不带密码加密的登录
- 质量不可控:代码能跑,但无测试、无异常处理、安全漏洞一堆
- 不可追溯:改了几轮之后,没人说得清这段代码为什么长这样
- 上下文漂移:多轮对话后 AI 忘了最初约束,开始自由发挥
这些不是 AI 独有问题——软件工程史上都遇到过,只是 AI 把速度放大了。
二、CMMI 的核心思路:过程成熟度
CMMI(能力成熟度模型集成)1987 年由 SEI 提出,核心观点:软件质量不是靠"英雄主义"(某个大神加班拯救项目),而是靠"制度化"(过程可重复、可预测)。
五个成熟度级别:
- 初始级:靠个人英雄主义,结果随机
- 已管理级:项目级的过程管理(有需求管理、项目计划)
- 已定义级:组织级的标准过程(有规范、可裁剪)
- 定量管理级:用数据量化管理(度量指标、统计过程控制)
- 优化级:持续改进(根因分析、缺陷预防)
三、映射到 AI 编程:给 AI 加"质量门"
关键手段是质量门(Quality Gate)——每个阶段设阈值,不达标不许进入下一阶段:
| 阶段 | 质量门 | 不达标后果 |
|---|---|---|
| 需求 | 需求清晰度、验收标准明确 | 打回重写需求,不许开始编码 |
| 设计 | 设计评审通过 | 不许写代码 |
| 编码 | 静态扫描、单测覆盖达标 | 代码不许合入 |
| 测试 | 测试通过率、无 P0 缺陷 | 不许发布 |
AI 生成代码后必须自动过门——不通过就让它重做。这比"人肉 review"可扩展得多。
四、代码演示:质量门怎么拦 AI
stages = [
("需求", lambda q: q >= 70, "需求清晰度"),
("设计", lambda q: q >= 65, "设计评审通过率"),
("编码", lambda q: q >= 60, "静态扫描+单测覆盖"),
("测试", lambda q: q >= 80, "测试通过率"),
("发布", lambda q: q >= 90, "验收标准"),
]
def gate_flow(quality_scores):
print("AI 产出代码走质量门:")
passed = True
for (name, check, desc), q in zip(stages, quality_scores):
ok = check(q)
print(f" {name}门: {desc}={q} -> {'通过' if ok else '打回'}")
if not ok:
passed = False
break
return passed
print(f"AI产出(85,70,65,85,92): {'发布' if gate_flow([85,70,65,85,92]) else '被拦(不合规不入库)'}")
print(f"AI产出(85,70,55,85,92): {'发布' if gate_flow([85,70,55,85,92]) else '被拦(不合规不入库)'}")
运行输出:
AI 产出代码走质量门:
需求门: 需求清晰度=85 -> 通过
设计门: 设计评审通过率=70 -> 通过
编码门: 静态扫描+单测覆盖=65 -> 通过
测试门: 测试通过率=85 -> 通过
发布门: 验收标准=92 -> 通过
AI产出(85,70,65,85,92): 发布
需求门: 需求清晰度=85 -> 通过
设计门: 设计评审通过率=70 -> 通过
编码门: 静态扫描+单测覆盖=55 -> 打回
AI产出(85,70,55,85,92): 被拦(不合规不入库)
第一组数据全门通过 → 发布;第二组编码门只有 55 分 → 直接打回,根本到不了测试阶段。这就是"制度化"的力量:不依赖人盯,而是靠流程自动拦截。
五、AI 时代的 CMMI 实践要点
- 把验收标准前置:让 AI 动手前先定义"什么算完成",否则它会自由发挥
- 自动化质量门:静态扫描、单测、安全扫描全部脚本化,AI 产出自动过门
- 保留可追溯性:需求-设计-代码-测试的对应关系要能追溯(AI 改了几轮最怕丢链路)
- 度量驱动:记缺陷密度、返工率、门通过率——用数据看过程是否在改善
- 人类把关"什么是对的":AI 能过门不代表需求本身正确——需求阶段的判断仍需人负责
六、想系统学 AI 工程管理?
本文精选自 ima 知识号【Kruptos】《CMMI × AI 编程》订阅库(第 003 期 AI 编程的现状、第 004 期过程成熟度的本质、第 007 期 AI Agent 开发的痛点清单、第 008 期为什么 CMMI 能约束 AI 编程等 100 期系统教程,配套技能《CMMI-Compliant-Agent》已上线技能广场)。
📚 完整系列 100 期 + 配套代码,已在 ima 知识号发布
本文只是系列的一个切片。完整系列(100 期系统教程 + 每期可运行代码)在 ima 知识号【Kruptos】持续更新中:
- 🗂 68+ 技术知识库:信号与系统、SDR 软件无线电、数字信号处理、操作系统、AI Agent、大模型微调……几乎覆盖全部软硬件技术栈
- 🧠 8 款 AI 技能:系列生产、知识库管理、CMMI 受管开发、自进化 Agent 等,已在 ima 技能广场上架,即装即用
- ✅ 全部免费订阅,后续更新自动推送
🔍 订阅方式:打开 ima(腾讯智能工作台)→ 搜索「Kruptos」→ 一键订阅。或在 ima 内直接搜索《CMMI × AI 编程》等知识库名称。
💬 你用 AI 写代码时,怎么保证质量?有质量门吗?评论区聊聊——想看需求管理还是度量体系,点赞高的安排。
作者:Kruptos(西电毕业,13 年无线通信/DSP/嵌入式科研)|原创内容,转载注明出处
更多推荐



所有评论(0)