AI 写代码总失控?CMMI 的工程管理思路

“能跑"不等于"受控”——这是 AI 编程时代最大的幻觉。AI Agent 几秒钟就能生成几百行代码,但它们是否符合需求、是否可维护、是否有测试覆盖?把 1987 年的 CMMI 成熟度模型用在这里,你会发现它意外地合适。今天聊聊怎么让 AI 写代码"守规矩"。

一、AI 编程的失控现场

AI Agent 写代码的问题不是"写不出来",而是:

  • 需求理解偏差:你说"做个登录功能",它给你做了个不带密码加密的登录
  • 质量不可控:代码能跑,但无测试、无异常处理、安全漏洞一堆
  • 不可追溯:改了几轮之后,没人说得清这段代码为什么长这样
  • 上下文漂移:多轮对话后 AI 忘了最初约束,开始自由发挥

这些不是 AI 独有问题——软件工程史上都遇到过,只是 AI 把速度放大了。

二、CMMI 的核心思路:过程成熟度

CMMI(能力成熟度模型集成)1987 年由 SEI 提出,核心观点:软件质量不是靠"英雄主义"(某个大神加班拯救项目),而是靠"制度化"(过程可重复、可预测)

五个成熟度级别:

  1. 初始级:靠个人英雄主义,结果随机
  2. 已管理级:项目级的过程管理(有需求管理、项目计划)
  3. 已定义级:组织级的标准过程(有规范、可裁剪)
  4. 定量管理级:用数据量化管理(度量指标、统计过程控制)
  5. 优化级:持续改进(根因分析、缺陷预防)

三、映射到 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 实践要点

  1. 把验收标准前置:让 AI 动手前先定义"什么算完成",否则它会自由发挥
  2. 自动化质量门:静态扫描、单测、安全扫描全部脚本化,AI 产出自动过门
  3. 保留可追溯性:需求-设计-代码-测试的对应关系要能追溯(AI 改了几轮最怕丢链路)
  4. 度量驱动:记缺陷密度、返工率、门通过率——用数据看过程是否在改善
  5. 人类把关"什么是对的":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/嵌入式科研)|原创内容,转载注明出处

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐