乐于分享
好东西不私藏

AI Coding 从玩具到生产系统,企业到底该怎么做(四):AI 原生软件开发工作流

AI Coding 从玩具到生产系统,企业到底该怎么做(四):AI 原生软件开发工作流

一、开篇:为什么 AI Coding 一旦进入生产系统,就必须做治理

AI Coding 在 Demo 阶段很迷人。

你给 AI Coding Agent 一个需求,它能快速生成代码;你让它修一个 Bug,它能迅速定位问题;你让它写一个小工具,它可能几分钟就完成。对于脚本、原型、内部小工具、一次性页面,这种效率提升非常直观。

但企业真正要面对的问题不是 Demo。

企业要面对的是会议系统、直播系统、邮件系统、客服系统这类长期运行的生产系统。这里的代码不是“能跑就行”,而是要面对真实用户、真实数据、真实权限、真实 SLA、真实线上事故。

一旦 AI Coding 进入生产系统,风险就不只是“代码写错”。

更大的风险包括:

  • 需求边界没有说清,AI Coding Agent 按自己的理解实现;
  • 上下文读取错误,把无关规则带进当前任务;
  • 权限边界不清,误改不该改的模块;
  • 测试不足,局部通过但整体回归失败;
  • Review 不充分,隐藏架构风险和安全风险;
  • 发布准备缺失,代码能跑但不能稳定运营;
  • 每次任务结束后不复盘,下一次继续犯同样错误。

所以,提示词不等于工作流

AI Coding Agent 能力越强,企业越不能只靠聊天窗口、临时提示词和个人经验。DORA 2025 对 AI-assisted software development 的判断非常关键:AI 的首要作用更像一个“放大器”,会放大组织已有的优势,也会放大组织已有的混乱;真正的 AI 投资回报,不只是来自工具本身,而是来自底层组织系统。[1]

这句话放到 AI Coding 场景里,就是:

混乱的研发流程接入 AI Coding Agent,只会更快地产生混乱;成熟的软件工程体系接入 AI Coding Agent,才可能真正形成降本提效。

因此,AI Coding 从玩具到生产系统,企业真正要建设的不是一个“更会写代码的工具”,而是一套让 AI Coding Agent 可控、可验、可复盘、可进化的 AI 原生软件开发工作流。


二、为什么从第七阶段讲起:讲清第七阶段,前六阶段都能被涵盖

在前面的连载中,我们已经建立过 AI Coding 七阶段成熟度模型。

这个模型的价值,不是为了证明 AI Coding 一定要走到最深层,而是为了帮助团队判断:

当前任务应该停在哪一层。

  • 有的任务只是代码补全;
  • 有的任务适合生成单个函数;
  • 有的任务可以交给 AI Coding Agent 做局部修改;
  • 有的任务需要进入测试、Review、PR 和 CI/CD;
  • 有的任务一旦涉及生产系统,就必须有需求规格、技术设计、发布审批和复盘沉淀。

连载三已经讲过:AI Coding 不是越深越好,关键是停在正确一层。

那为什么连载四要重点讲第七阶段?

因为第七阶段“AI 原生软件开发工作流”不是孤立的一层,而是一套完整的软件工程系统。它可以向下涵盖前六阶段,只是不同任务使用的治理强度不同。

  • 简单任务,可以只使用轻量规则和快速验证;
  • 中风险任务,需要加入规格、测试和 Review;
  • 高风险任务,要加入审批、灰度、回滚和 Runbook;
  • 组织级复用任务,必须进入知识沉淀、Workflow 和 Skill 更新。

所以,第七阶段不是让 AI Coding Agent 更自由,而是让组织治理更成熟。

它不是一个更强的工具能力,而是一套组织级软件工程机制。


三、本文方法论:五驱动机制

企业要把 AI Coding Agent 放进生产系统,不能只靠“会不会提示”。

真正可持续的 AI 原生软件开发工作流,应该由五个驱动构成:

工件驱动 + 流程驱动 + 测试驱动 + 审批驱动 + 知识沉淀驱动。

第一,工件驱动。

企业不能把需求、规则、上下文、测试标准、Review 标准全部放在聊天窗口里。聊天窗口适合沟通,但不适合承载长期治理。真正能被团队复用、被 AI Coding Agent 读取、被人审计、被项目继承的,是稳定的工程工件。

这就是本文统一使用的术语:

AI Coding 工程治理工件体系。

它包括 AGENTS.md、OpenSpec、context-index、engineering 规范、code_review.md、runbook.md、knowledge、workflows、scripts/verify.sh 等。

第二,流程驱动。

AI Coding Agent 不能一上来就写代码。进入生产系统的正确流程应该是:先规约、再设计、再计划、再执行、再验证、再 Review、再发布、再复盘。

第三,测试驱动。

AI Coding Agent 生成的代码不能因为“看起来合理”就被相信。它必须通过 lint、typecheck、unit test、integration test、build、security scan 等验证。

第四,审批驱动。

人类不能把责任交给 AI Coding Agent。产品目标、需求边界、技术方案、上线风险、发布审批,必须由人确认。

第五,知识沉淀驱动。

每次任务结束后,组织必须回答:这次哪里做对了?哪里错了?为什么错?下次如何避免?哪些规则、上下文、Workflow、Skill、Knowledge 需要更新?

一次提示词只能启动一次任务。

五驱动机制,才能支撑组织级 AI 原生软件开发工作流


四、官方理念如何互补:Codex、AGENTS.md、OpenSpec、Spec Kit、Superpowers

这套方法不是凭空设计出来的。它是在吸收 OpenAI Codex、AGENTS.md、GitHub Spec Kit、OpenSpec、Superpowers 等理念之后,面向企业生产系统落地做出的组合。

OpenAI Codex 官方文档明确说明,Codex 在开始工作前会读取 AGENTS.md;通过全局规则和项目级覆盖,团队可以让每个任务从一致的预期开始。[2]

AGENTS.md 官方站点把 AGENTS.md 定义为“给 AI coding agents 的 README”,也就是一个专门、可预测的位置,用来告诉 AI Coding Agent 如何在项目中工作。[3]

这说明 AGENTS.md 的职责不是写具体需求,而是建立项目长期规则。

GitHub Spec Kit 则强调:先定义要构建什么,再构建。它把 Spec-Driven Development 放到 AI-assisted software development 的中心,核心流程是 Spec → Plan → Tasks → Implement。[4]

GitHub 官方博客进一步强调,在这种流程下,开发者的角色不仅是 steer,更是 verify。AI 可以生成工件和代码,但人必须在每个阶段检查:规格是否真正表达了想要的东西?计划是否考虑了现实约束?是否遗漏了边界场景?[5]

OpenSpec 的价值在于把规格和变更管理得更轻量。它将 specs 作为系统行为的 source of truth;每个 change 有 proposal.md、design.md、tasks.md 和 delta specs;变更完成后再合并回长期 specs。[6]

Superpowers 则更强调过程纪律。它不是让 AI Coding Agent 直接跳进写代码,而是先澄清目标,形成规格,得到设计确认,再制定 implementation plan,并强调 TDD、YAGNI、DRY 等工程纪律。[7]

Codex Skills 进一步提供了能力复用机制。OpenAI 的 Codex Skills 文档说明,Skills 采用 progressive disclosure:Codex 初始只看 Skill 的名称、描述和路径,只有决定使用时才加载完整 SKILL.md,这有助于控制上下文开销。[8]

这些工具和理念不是互相替代,而是分层协作:

  • Codex / AI Coding Agent:工程执行层;
  • AGENTS.md:长期项目规则入口;
  • OpenSpec:需求、规格、变更和归档;
  • Spec Kit / SDD:规格先行;
  • Superpowers:过程纪律;
  • Codex Skills:成熟高频流程的能力复用;
  • 人类负责人:定义目标、确认边界、验证结果、承担责任。

真正的企业落地,不是选一个工具,而是把这些理念组合成 AI Coding 工程治理工件体系


五、什么叫最小必要的 AI Coding 工程治理工件体系

这里必须先破一个误区:

治理文档不是越多越成熟,而是越少、越准、越可复用,越有价值。

如果一个团队为了用 AI Coding Agent,一上来就写几十个文档,让所有人每天围着文档打转,那不是治理成熟,而是新的流程负担。

真正可落地的策略应该是:

保留完整目录骨架,内容按需填充,从最小闭环启动。

推荐的项目目录结构可以这样设计:

这里有几个关键设计。

第一,去掉 docs/product.md。

因为项目长期目标、系统边界、长期产品方向,更适合放在 openspec/project.md 中,避免和 docs/product.md 重合。OpenSpec 管“产品目标、行为规格、需求变更”;docs 管“工程上下文、开发规范、运维、知识和流程沉淀”。

第二,阶段性产物不要散落在根目录。

建议放到:

openspec/changes/<change-id>/ai-runs/<run-id>/

例如:

这样每次 AI Coding Agent 的执行,都能追踪到对应 change、对应计划、对应验证、对应 Review、对应复盘。

第三,不要一开始填满所有目录。

初始阶段只需要最小闭环:

  • AGENTS.md;
  • openspec/project.md;
  • 当前 change 的 proposal.md、design.md、tasks.md;
  • docs/context-index.md;
  • docs/code_review.md;
  • docs/runbook.md;
  • compose.yaml;
  • scripts/verify.sh。

其他 docs/engineering、docs/knowledge、docs/workflows,可以先建目录、写用途说明,后续随着真实任务沉淀。

这才是最小必要的 AI Coding 工程治理工件体系。


六、端到端工作流总架构:从产品目标到下一轮开发复用

完整的 AI 原生软件开发工作流,不是“需求 → 写代码 → 提交”。

它应该是一个闭环:

  1. 产品目标定义;
  2. 需求规约生成;
  3. 技术设计确认;
  4. Codex 执行计划;
  5. AI Coding Agent 编码实现;
  6. Docker Compose 测试验证;
  7. AI Review + 人工 Review;
  8. 上线 / 灰度 / 回滚准备;
  9. 经验沉淀与错误归因;
  10. 规则 / Context / Skill / Knowledge 更新;
  11. 下一轮开发复用。

前 8 步解决的是一次交付。

第 9、10、11 步决定它是否能成为一个可进化系统。

如果没有经验沉淀与错误归因,这只是一次性 AI 编程流程。今天快一点,明天可能还是重复解释、重复犯错、重复返工、重复 Review、重复踩坑。

有了最后三步,它才变成组织能力。

每次完成任务后,团队都应该追问:

  • 这次成功模式是什么?
  • 这次失败模式是什么?
  • 哪些上下文没给够?
  • 哪条 AGENTS.md 规则没写清?
  • OpenSpec 哪个验收标准缺失?
  • 哪个测试没覆盖?
  • 哪个 Review 检查项应该补上?
  • 哪个流程可以沉淀为 workflow?
  • 哪个高频 workflow 可以升级成 Codex Skill?

AI Coding 工作流的终点不是代码合入,而是复盘、归因、沉淀和下一轮复用


七、关键工件分别承担什么职责

为了避免文档重合,必须把关键工件职责说清楚。

AGENTS.md:AI Coding Agent 的长期项目宪法。

它负责告诉 AI Coding Agent 怎么工作:必须读哪些文档,不能做什么,如何计划,如何测试,如何 Review,如何总结经验,什么情况下必须请求人工确认。

OpenAI Codex Best Practices 也建议:如果 AGENTS.md 变得太大,就保持主文件简洁,把规划、代码 Review、架构等任务特定内容引用到其他 Markdown 文件;如果 Codex 重复犯同样错误,应要求它做 retrospective,并更新 AGENTS.md。[9]

这正好支撑我们的原则:

AGENTS.md 不是越长越好,而是越短、越准、越能约束关键行为越好。

openspec/project.md:项目长期目标、系统能力边界、长期产品方向。

它是产品目标与系统能力边界的唯一入口,避免和 docs/product.md 重复。

proposal.md:本次为什么做、做什么、不做什么。

它解决本次变更的意图、范围和边界问题。

design.md:怎么设计、影响什么、风险是什么。

它解决技术方案、影响范围、架构决策和风险判断问题。

tasks.md:任务拆解与验证路径。

它把大需求拆成 AI Coding Agent 可以逐步执行、逐步验证的小任务。

docs/context-index.md:上下文最小化。

它告诉 AI Coding Agent:不同类型任务该读哪些文档,不该读哪些文档。上下文不是越多越好,而是越准确越好。

docs/engineering/:技术规范层。

这里放 Python、FastAPI、MySQL、Redis、React、TypeScript、API、Testing、Security、Logging 等规范。它解决“AI Coding Agent 每次按不同风格写代码”的问题。

docs/workflows/:高频任务标准作业流程。

例如新增 FastAPI API、新增 React 页面、增加 MySQL migration、增加 Redis 缓存、修复生产 Bug、发布检查。

docs/knowledge/:经验沉淀层。

这里沉淀 success-patterns、bug-fix-playbook、agent-failure-patterns、legacy-decisions、domain-notes、incident-notes。

docs/code_review.md:质量闸门。

它检查需求一致性、架构一致性、测试充分性、安全风险、可维护性、上线风险。

docs/runbook.md:生产可运营。

Google Cloud 对 SRE 的定义是:SRE 是运行可靠生产系统的一种岗位、思维和工程实践。[10] 所以生产系统不能只关注“代码能跑”,还要关注部署、健康检查、日志、监控、故障处理和回滚。

scripts/verify.sh:统一验证入口。

它不是统一验证内容,而是统一触发入口。

compose.yaml:环境一致性与宿主机纯净。

它让团队尽量不在宿主机安装一堆项目依赖,而是通过容器环境完成构建、测试和验证。

一句话总结:

AGENTS.md 管 AI Coding Agent 怎么工作,OpenSpec 管这次变更到底要做什么。


八、Docker Compose + scripts/verify.sh:为什么一定要保持宿主机纯净

Linux下容器化开发是我多年的开发习惯,也是我要求我团队的开发准则

很多团队做 AI Coding 试点时,很容易忽略环境问题。

AI Coding Agent 生成代码很快,但如果每个人宿主机上的 Python、Node、MySQL、Redis、系统依赖、环境变量都不一样,那么验证结果就不稳定。

  • 一个人能跑,另一个人不能跑;
  • 本地能跑,CI 不能跑;
  • 测试能跑,上线失败;
  • AI Coding Agent 修了代码,却污染了宿主机环境。

所以,我们必须强调:

尽量不要在宿主机安装项目相关组件。

数据库、缓存、依赖服务、构建、验证、测试,尽量通过 Docker Compose 或容器化环境完成。compose.yaml 负责环境一致性,scripts/verify.sh 负责统一验证入口。

但要注意:

verify.sh 是统一入口,不是统一内容。

不同语言、框架、技术栈,质量检测方法必须不同。

例如:

  • Python / FastAPI:ruff、mypy、pytest、coverage;
  • React / TypeScript:eslint、tsc、vitest / jest;
  • Java / Spring Boot:Checkstyle、SpotBugs、PMD、JUnit、Mockito、JaCoCo、Maven / Gradle build;
  • C / C++:clang-format、clang-tidy、cppcheck、CMake build、GoogleTest / Catch2、gcov / lcov、AddressSanitizer / UndefinedBehaviorSanitizer;
  • API:contract test、integration test;
  • Security:dependency scan、secret scan、SAST;
  • MySQL / Redis:migration check、integration test、cache consistency test。

这一步解决的不只是“能不能跑”。

它解决的是环境一致性、验证一致性和交付可靠性。

也就是说,AI Coding Agent 不是在宿主机上自由试错,而是在可重复、可验证、可回收的工程环境中执行。


九、经验沉淀与错误归因:第七阶段真正的分水岭

第七阶段最重要的地方,不是 AI Coding Agent 写完代码。

真正重要的是任务结束之后。

每次任务完成后,团队必须做一次轻量 retrospective。这里可以由 AI Coding Agent 先生成草案,但必须由人筛选确认。

它至少要回答这些问题:

  • 这次有什么成功模式值得复用?
  • 这次出现了什么错误?
  • 错误根因是什么?
  • 是需求不清?
  • 是上下文不足?
  • 是 AGENTS.md 规则缺失?
  • 是 OpenSpec 规格缺失?
  • 是 engineering 规范缺失?
  • 是测试覆盖不足?
  • 是 Review 清单缺失?
  • 是 Docker 命令不清?
  • 是 AI Coding Agent 自己的常犯模式?
  • 下次如何规避?
  • 哪些文档需要更新?
  • 哪些流程可以沉淀为 workflow 或 skill?

然后把经验分流:

  • 长期强规则 → AGENTS.md;
  • 项目目标和长期规格变化 → openspec/project.md / openspec/specs/;
  • 当前变更历史 → openspec/archive/;
  • 上下文读取策略 → docs/context-index.md;
  • 技术规范 → docs/engineering/;
  • Bug 经验 → docs/knowledge/bug-fix-playbook.md;
  • 成功模式 → docs/knowledge/success-patterns.md;
  • AI Coding Agent 常犯错误 → docs/knowledge/agent-failure-patterns.md;
  • 标准流程 → docs/workflows/;
  • 高频成熟流程 → Codex Skill;
  • 上线经验 → docs/runbook.md;
  • Review 规则 → docs/code_review.md。

这就是从一次性 AI 编程流程,走向可进化软件开发系统的关键。

没有这一步,AI Coding 只是每次都快一点。 有了这一步,组织会越来越准、越来越稳、越来越可复用。

真正的降本提效,不是取消责任人,而是减少重复解释、重复编码、重复排错、重复 Review 和重复上线失误。


十、企业如何真正落地:从最小闭环开始,不要一上来搞大而全

企业落地 AI Coding,最怕两种极端。

  • 一种是过度乐观:直接让 AI Coding Agent 改核心系统、连测试都不补、Review 也不做。

  • 另一种是过度治理:一上来写几十个文档,所有人都在维护文档,最后 AI Coding 没有提效,反而增加负担。

正确路径应该是五步。

第一阶段:最小治理闭环。

先建立:

  • AGENTS.md;
  • OpenSpec change;
  • context-index.md;
  • scripts/verify.sh;
  • docs/code_review.md;
  • docs/runbook.md;
  • compose.yaml。

目标不是全自动,而是做到:需求说清楚、计划先确认、代码可验证、Review 有门禁、上线有回滚、经验可沉淀。

第二阶段:低风险任务试点。

先从测试补全、文档整理、内部工具、小功能、Bug 修复、非核心模块重构开始。不要一开始就让 AI Coding Agent 改核心交易链路、核心权限系统、核心计费逻辑。

第三阶段:沉淀 workflows。

当某类任务反复出现,就沉淀为 docs/workflows。

例如:

  • 新增 FastAPI API;
  • 新增 React 页面;
  • 新增 MySQL migration;
  • 增加 Redis 缓存;
  • 修复生产 Bug;
  • 发布检查。

第四阶段:升级 Skills。

当某个 workflow 稳定、高频、可复用,就升级成 Codex Skill。借助 Codex Skills 的 progressive disclosure,只有真正需要时再加载完整 SKILL.md,避免上下文过载。[8]

第五阶段:指标化评估。

不要只看“代码写快了多少”。真正应该看:

  • 需求到交付周期是否缩短;
  • Review 轮次是否减少;
  • CI 失败次数是否下降;
  • Bug 复发率是否降低;
  • 上线回滚次数是否减少;
  • 人工确认耗时是否可控;
  • 测试覆盖是否提升;
  • 业务需求吞吐是否增加。

用会议系统举例,AI Coding Agent 可以沉淀会议纪要格式、发言人识别规则、权限边界、录音转写测试样例。

用直播系统举例,可以沉淀推流链路、HLS / FLV / WebRTC 协议差异、CDN / 边缘节点配置、延迟指标、回滚方案。

用邮件系统举例,可以沉淀反垃圾规则、黑白名单、投递策略、误伤样本和合规约束。

用客服系统举例,可以沉淀知识库结构、WebSocket 连接策略、坐席状态、会话恢复、质检标准。

业务上下文越能沉淀,AI Coding Agent 越能从临时助手变成组织能力。


十一、结语:AI Coding 的终局,不是替代研发团队,而是重构软件工程工作流

回到这一组文章的主线。

  • 第一篇讲的是:软件开发组织模型正在从编码走向编排 AI Coding Agent

  • 第二篇的四部连载主要讲的是AI Coding 从玩具到生产系统,企业到底该怎么做的来龙去脉

  • 第二篇连载一讲的是:AI Coding、AI Coding Agent、Agentic Coding 这些概念必须先统一。

  • 第二篇连载二讲的是:AI Coding 不是单点能力,而是七阶段成熟度模型。

  • 第二篇连载三讲的是:AI Coding 不是越深越好,关键是停在七阶段成熟度模型的正确一层。

  • 第二篇连载四讲的是:企业要进入第七阶段,必须建设 AI 原生软件开发工作流。

这个工作流不是工具清单,也不是文档堆砌,更不是让 AI Coding Agent 自主开发一切。

它的本质是:

用最小必要的 AI Coding 工程治理工件体系,把产品目标、需求规格、技术设计、执行计划、测试验证、Review 门禁、发布准备、经验沉淀、规则更新连接成一个完整闭环。

SWEBOK 对软件工程知识的解释提醒我们,“普遍接受”的工程知识并不意味着所有实践都必须一刀切应用到所有项目;项目团队始终需要判断什么实践适合当前项目。[11] IEEE/ISO/IEC 12207 则从生命周期视角强调,软件过程需要能够被定义、控制、评估和改进。[12]

这正是 AI Coding 进入生产系统时最需要补上的一课:

  • 不是把所有团队变成文档团队,
  • 不是让 AI Coding Agent 取代研发团队,
  • 而是让研发团队把原本散落在人脑、聊天记录、Review 评论、事故复盘里的工程经验,沉淀成 AI Coding Agent 可读取、可执行、可验证、可复用的组织资产。

最终,AI Coding 的终局,不是 AI Coding Agent 替代研发团队,而是研发团队用 AI Coding 工程治理工件体系,把软件开发变成可控、可验、可复盘、可进化的组织能力。

真正的分水岭,不是模型更强。

而是组织是否拥有 AI 原生软件开发工作流。


再次强调文中核心思想

  1. 提示词不等于工作流。

  2. AI Coding Agent 不是越自由越高级,而是越受控、越可验证、越可复用,越适合进入生产系统。

  3. 第七阶段(AI原生软件开发工作流)不是一个更强的工具能力,而是一套组织级软件工程机制。

  4. AI Coding 的治理文档不是越多越成熟,而是越少、越准、越可复用,越有价值。

  5. 没有经验沉淀与错误归因,AI Coding 只是一次性编程流程;有了规则、Context、Skill、Knowledge 的持续更新,它才是可进化的软件开发系统。

  6. AI Coding 降本提效不是取消责任人,而是减少重复解释、重复编码、重复排错、重复 Review 和重复上线失误。

  7. AGENTS.md 管 AI Coding Agent 怎么工作,OpenSpec 管这次变更到底要做什么。

  8. 真正的分水岭,不是模型更强,而是组织是否拥有 AI 原生软件开发工作流。


给企业产研负责人的落地建议清单

  1. 不要一开始追求全自动,先建立最小治理闭环。

  2. 先从低风险、可验证、边界清晰的任务试点。

  3. 每个项目先建立 AGENTS.md、OpenSpec change、context-index、verify.sh、code_review.md、runbook。

  4. 用 Docker Compose 保持环境一致,尽量保持宿主机纯净。

  5. 每次任务必须有 verification,不要相信“看起来对”的代码。

  6. 每次任务结束后必须做 retrospective 和 update-suggestions。

  7. 只把重复出现、真正有价值的经验沉淀进长期文档。

  8. 高频 workflow 稳定后,再升级为 Codex Skill。

  9. 用指标评估 AI Coding 是否真的降本提效,不要只看代码生成速度。

  10. 会议系统、直播系统、邮件系统、客服系统这类长期业务系统,要优先沉淀业务上下文、测试样例、Review 清单、Runbook 和故障经验。


参考来源

[1] DORA 2025:State of AI-assisted Software Development。

[2] OpenAI Developers:Codex AGENTS.md 指南。

[3] AGENTS.md 官方站点。

[4] GitHub Spec Kit 官方文档。

[5] GitHub Blog:Spec-driven development with AI。

[6] OpenSpec 官方站点与 GitHub 文档。

[7] Superpowers 官方 GitHub 仓库。

[8] OpenAI Developers:Codex Skills。

[9] OpenAI Developers:Codex Best Practices。

[10] Google Cloud SRE 官方文档。

[11] IEEE Computer Society:SWEBOK。

[12] IEEE/ISO/IEC 12207 软件生命周期过程标准。


本文讲解的这套最小化的“AI Coding 工程治理工件体系”的模版文件,我会在随后的时间里脱敏后提供出来,大家有需要的可以留言。