跳至内容
AI Coding 项目生命周期管理

AI Coding 项目生命周期管理:从探索到交付的 EMED 实战框架

Sprint 很"快",但没人能解释账单

一个四人团队使用 AI Coding Agent 把一个旧版 REST API 迁移到新 Schema。项目经理凭过去类似迁移的经验估算两周完成。开发者们对 Cursor 和 Claude Code 都很熟练。任务列表也很清晰。

两周后,60% 的迁移完成了。Token 成本是预估的三倍。两位开发者反映,他们花在审查和修正 AI 产出上的时间,比自己写代码还多。一位开发者在 Sprint 中途悄悄切换了模型,新模型的输出遵循了不同的模式。项目文档从未更新,因为"下次 AI 会做"。

这不是工具的失败——Agent 完全按照设计在工作。失败在于生命周期管理的缺口:团队把传统项目规划方法直接套用在 AI Coding 项目上,没有针对 AI 生成代码的独特属性做出调整——概率性输出、基于 Token 的成本、依赖上下文的质量,以及与人类开发根本不同的迭代模式。

本文提供一套完整的 AI Coding 项目生命周期框架。读完后,你将能够:

  1. 将任何 AI Coding 项目从初始想法结构化到验证交付;
  2. 用 Token 消耗模型而不是开发工时来估算成本;
  3. 管理 AI 生成代码的特有风险:幻觉、上下文漂移、质量隐性退化;
  4. 建立迭代控制机制,防止 Token 超支和范围爆炸;
  5. 为你的下一个 AI Coding 项目建立一份可复用的就绪检查清单。

本框架改编自 Managing AI Projects(Runtasewee & González Sánchez,O’Reilly,2026)中描述的 EMED(Exploration、Mobilization、Execution、Delivery)方法论,专门针对 AI 辅助软件开发的挑战进行了重新诠释。

一、建立正确模型:AI Coding 的 EMED 生命周期

EMED 把项目分成四个顺序阶段,每个阶段回答一个基本问题,确认后才进入下一阶段。

AI Coding 项目的 EMED 生命周期四个阶段,从探索到交付,包含反馈闭环

阶段它回答的问题何时结束
探索 Exploration该不该做?AI Coding Agent 能帮上忙吗?启动 / 不启动决策
动员 Mobilization项目环境是否已准备好让 AI Agent 高效工作?首份任务契约就绪
执行 ExecutionAgent 是否在产出经过验证、边界受控、预算内的代码?所有验收条件满足
交付 Delivery结果是否已发布、文档化、可学习?回顾完成

这些阶段不是僵化的关卡。一个小 Bug 修复可能把探索和动员压缩到一小时。一次平台迁移可能仅在探索阶段就花上数周。价值在于问题本身,而不在于持续时长。

为什么 AI Coding 项目需要生命周期框架

传统软件项目管理假设实现过程是确定性的:给定明确需求和熟练开发者,产出是可预测的。AI Coding 在七个方面打破了这一假设。

从传统项目管理到 AI Coding 项目管理的七个关键转变

这些转变不是理论推演。它们改变了你估算、规划和控制每个项目阶段的方式。EMED 框架在最关键的节点上逐一应对这些转变。

二、探索阶段:在花 Token 之前先做决定

探索阶段是大多数 AI Coding 团队跳过的阶段。诱惑太强了:“我们有工具,了解代码库,直接开干吧。“但探索阶段恰恰是你预防最昂贵失败的地方。

2.1 用 AI Coding 的语言定义问题

一个好的问题定义回答四个问题:

## 问题定义

### 我们期望的可观察结果是什么?
不是"重构认证模块",而是"新开发者在 30 分钟内就能添加一个 OAuth Provider,
无需阅读认证内部实现。"

### 什么在范围内,什么受保护?
范围内:认证 Provider 接口、配置、测试。
受保护:公开 API 契约、Session 存储格式、限流行为。

### "适合 AI"对这个工作意味着什么?
AI Coding Agent 擅长:基于模式的重构、样板代码生成、从规格生成测试、从代码生成文档。
AI Coding Agent 不擅长:全新架构决策、需要 Profiling 的性能优化、
边界不清晰的跨系统集成。

### 什么情况让我们在开始前就叫停?
- 修改需要理解运行时行为,而这些行为无法通过代码或测试捕获。
- 受保护的表面积大于变更面积。
- 团队没有在此领域审查 AI 产出的经验。

2.2 在写第一个 Prompt 之前估算 Token 成本

Token 成本估算是 AI Coding 版本的工时估算。一个实用模型使用三个变量:

预估成本 = (单任务基础成本) × (预期迭代次数) × (上下文开销倍数)

单任务基础成本取决于模型和任务复杂度。Aider 的多语言评测公开数据(225 道编码练习,涵盖六种语言,2026 年中)显示单任务成本从约 $0.03(Gemini 2.5 Pro)到 $0.13(GPT-5 高推理模式)不等。真实场景中由于携带完整仓库上下文,成本通常更高——Anthropic 的企业文档报告 Claude Code 平均每开发者每日活跃成本约 $13,换算为每日 5-8 个任务,约 $1.60-$2.60/任务(Aider 多语言基准,Claude Code 企业定价)。

预期迭代次数考虑了 AI Coding Agent 很少在首次尝试就产出正确输出的事实。对于熟悉领域中规格明确的任务,预期 1.5-2 次迭代。对于探索性或规格不清晰的工作,预期 3-5 次迭代。每次迭代都会重新发送完整上下文,因此迭代成本不是线性的——它是复合增长的。

上下文开销倍数是总消耗 Token 与实际任务相关 Token 的比率。在多轮 Agent 会话中,每一轮都包含完整的对话历史。一个 10 轮的调试会话,系统提示 4,000 Token + 仓库上下文 8,000 Token,意味着第 10 次 API 调用发送了约 120,000+ 输入 Token——即使新内容只有 200 Token。关于 Agent Token 消耗模式的研究显示,不同工具执行同一任务的上下文开销倍数差异可达 4.7×(How Do Coding Agents Spend Your Money?, 2026)。

一份实用的估算模板:

## Token 成本估算

任务类型:[规格明确 / 中等明确 / 探索性]
选定模型:[模型名称和推理级别]
单任务基础成本:$X.XX(来自基准或历史数据)
预期迭代次数:N
上下文开销倍数:M×(典型范围:2×–5×)

单任务预估成本:$X.XX × N × M = $Y.YY
Sprint 估算:Y 任务 × $Y.YY = $Z.ZZ
预算上限:$Z.ZZ × 1.5(应急缓冲)

2.3 评估 AI 可行性

不是每个任务都适合 AI Coding Agent。使用这个决策矩阵:

因素适合 AI不适合 AI
规格清晰度输入输出明确,验收条件清晰需求模糊,边缘情况未定义
代码库熟悉度团队了解领域且能审查产出不熟悉的系统,无领域专家
变更范围有边界:一个模块,清晰边界跨切面:影响多个系统
验证方式自动化测试存在或可编写需要人工测试、用户观察
风险承受度失败可恢复(分支、回滚)失败影响生产数据、用户、合规

当一个任务落入"不适合 AI"列,正确做法不是完全回避 AI,而是分解工作:把有边界、规格明确的子任务交给 AI,让人类处理需要判断力的部分。

2.4 探索阶段关卡

在进入动员阶段之前确认:

  • 问题是用可观察结果定义的,而不是实现任务。
  • 受保护表面已识别(API、数据格式、权限)。
  • Token 成本估算已存在,包含应急缓冲。
  • 团队至少有一人能审查目标领域的 AI 产出。
  • 启动/不启动决策已记录,附有理由。

三、动员阶段:为 AI Agent 搭建项目环境

动员阶段为 AI Coding Agent 的高效、安全工作准备环境。这是 AI Coding 质量投入最多的地方——也是跳过步骤会制造最昂贵下游失败的地方。

3.1 构建上下文层

AI Coding Agent 在理解项目时产出更好。上下文层有三个组成部分:

项目规则(AGENTS.md 或等效文件)定义每个 Agent 会话必须遵循的工作契约:必需流程、命令、边界和完成定义。一份好的 AGENTS.md 是精炼的——它是一个指向被持有文档的索引,而不是复制所有规则的百科全书。

架构文档描述系统边界、模块归属和设计决策。这些信息人类开发者会在数周的工作中逐渐学到。对于 AI Agent,它必须被明确文档化并被引用。

任务级上下文(规格、验收条件、涉及文件)按任务加载而非全局加载。这防止了上下文窗口膨胀,同时确保每个任务拥有它需要的信息。

这些层之间的关系在AI Coding 如何在团队落地?中有深入探讨。生命周期管理的关键原则是:在第一个 Sprint 之前投资上下文,而不是在 Sprint 进行中。

3.2 定义自主权等级和任务契约

在任何 AI Coding 开始之前,建立谁可以用什么级别的监督做什么。自主权等级决定了 Agent(或使用 Agent 的开发者)在不需要额外批准的情况下可以采取的最大行动:

等级允许的操作所需审查
只读查看代码、文档、测试输出无
仅规划生成计划、影响分析、方案人类批准后才实施
分支实现在功能分支上创建 AI 生成的代码Diff 审查和测试证据
已审查实现合并经审查的 AI 生成代码CI 通过且负责人批准
专家审批跨模块或高风险变更领域专家加维护者审查

每份任务契约应明确:

## 任务契约

### 产出
完成时应该存在什么可观察的变化?

### 范围内 / 范围外
具体文件、模块和行为。

### 验收证据
- 必须通过的自动化测试
- 必须保持准确的文档
- 边界检查(什么绝对不能改变)

### 自主权等级
此任务适用哪个等级?

### 停止条件
- Token 预算超出
- 受保护表面受影响
- 意外的跨模块影响
- 同一子任务连续三次失败

3.3 设置 Token 预算和迭代上限

Token 预算是 AI Coding 版本的时间预算。在三个层级设置:

单任务预算:单个任务的最大 Token(或美元成本)。超出时,开发者必须停下来分析原因,要么分解任务,要么调整方法。

Sprint 预算:一个 Sprint 的总 Token 分配。每天追踪消耗。当 70% 已消耗而剩余任务超过 30% 时,升级报告。

项目预算:项目总分配。包含应急缓冲(通常在估算基础上加 30-50%,因为探索阶段的估算对不熟悉的工作有高方差)。

迭代上限补充成本上限:**如果 Agent 在同一子任务上连续失败三次,停下来分析。**失败可能是上下文问题(信息缺失、规格模糊)或能力问题(模型无法很好地处理此类任务)。继续迭代只会消耗 Token,却不会带来相应进展。

3.4 配置工程约束

可执行控制比基于指令的规则更可靠。在第一个 Sprint 之前:

  • 受保护分支拒绝未审查的 AI 生成代码;
  • CI 运行聚焦测试、架构边界检查和格式化;
  • Token 消耗被记录并可见(使用 ccusage 等工具);
  • 禁止模式被检查(例如不更改公开契约、测试代码中不含生产凭证)。

3.5 动员阶段关卡

  • AGENTS.md 和项目文档是最新且已验证的。
  • 每种支持的 AI 工具的适配文件已配置并测试。
  • Token 预算和迭代上限已在任务、Sprint 和项目三个层级设置。
  • 自主权等级已定义并传达。
  • 首份任务契约已编写,包含清晰的范围、验收和停止条件。
  • CI 工程约束已激活并测试。

四、执行阶段:管理迭代循环

执行阶段是 AI Coding 项目花费最多时间的地方,也是 AI 生成代码的独特属性要求对传统项目管理做出最多调整的地方。

4.1 AI Coding 迭代循环

传统开发循环是:编写 → 测试 → 审查 → 合并。AI Coding 循环增加了两个关键步骤:

规格化 → 生成 → 检查 → 验证 → 调整上下文 → 重新生成(如需要)→ 审查 → 合并

关键增加是检查和调整上下文。

检查意味着在运行测试之前阅读 AI 生成的代码。AI 输出可以通过测试的同时违反架构边界、在未测试路径中引入微妙 Bug,或遵循局部可行但规模化后出问题的模式。跳过检查只依赖测试的开发者正在接受他们看不见的风险。

调整上下文意味着当输出不满意时改进 Prompt、规则或任务规格。AI 输出不佳最常见的原因不是模型差,而是上下文不充分或模糊。每次失败的迭代都应触发上下文诊断,然后再重试:

第 1 次迭代失败 → 规格是否足够清晰?→ 改进规格
第 2 次迭代失败 → 模型是否有能力处理此类任务?→ 尝试不同模型或分解任务
第 3 次迭代失败 → 此任务适合 AI 吗?→ 考虑人工实现

4.2 同时追踪成本和质量

传统 Sprint 追踪关注速度(完成的故事点)。AI Coding Sprint 追踪必须增加两个维度:

Token 成本速度:实际消耗 Token vs. 预算,每日追踪。单任务成本的飙升通常意味着上下文膨胀(Agent 加载了太多信息)或迭代螺旋(Agent 在无进展地反复重试)。

质量验收率:AI 生成输出通过审查无需重大修改的百分比。一个 Sprint 内持续下降的验收率意味着上下文层正在退化——也许项目规则正在过期,或者任务规格变得越来越不精确。

一个简单的追踪模板:

## Sprint 第 3 天报告

已完成任务:8 / 20
Token 预算消耗:$42 / $100 (42%)
每完成任务成本:$5.25(预算 $5.00)
质量验收率:75%(8 个中 6 个需要小修,2 个需要大改)

观察:
- 涉及支付模块的任务成本是平均的 3 倍。
- 根因:AGENTS.md 未描述支付状态机,Agent 加载了所有支付文件
  (15,000+ Token)来推断行为。
- 行动:在下一个 Sprint 前向 docs/ 添加支付模块架构摘要。

4.3 用 Spike 管理探索性实验

AI Coding 项目经常遇到可行性未知的任务。与其估算这些任务然后无法达成,不如使用探索性 Spike——有明确学习目标的时间盒调查:

## Spike:AI Agent 能否生成有效的迁移脚本?

时间盒:2 小时
Token 预算:$10
目标:确定 Claude Code 在当前文档条件下能否为我们的 Schema 变更
      产出正确的迁移脚本。

成功标准:
- Agent 产出的迁移脚本通过 dry-run 测试。
- 开发者审查确认无数据丢失风险。

如果不成功:
- 记录缺失的上下文。
- 建议人工实现或补充文档。

Spike 把不确定性转化为有边界的实验。它们防止了 AI Coding 中最昂贵的失败模式:Agent 在一个它无法完成的任务上烧穿 Token,而开发者在等待一个永远不会到来的结果。

4.4 处理范围变更和变更请求

AI Coding Agent 生成代码很快,这制造了一个微妙的风险:**生成的容易让范围变更感觉是免费的。**开发者可以让 Agent"顺便更新管理面板"或"趁你在这里,给边缘情况 X 加上错误处理”,而不考虑验证成本。

应用这条规则:**每个范围变更需要和原始工作一样的任务契约纪律。**一个范围增加必须有:

  • 定义的产出和边界;
  • 验收证据;
  • Token 预算分配(从 Sprint 应急中扣除);
  • 明确的停止条件。

没有这种纪律,AI Coding 项目会遭受一种新型的范围蔓延:不是"开发者多花了三天”,而是"Agent 生成了 2,000 行没人仔细审查的额外代码,其中三行破坏了构建。"

4.5 向利益相关方沟通进展

AI Coding 项目需要与传统项目不同的利益相关方沟通。习惯"完成 80%“报告的高层需要理解:

  • 生成了什么(变更的文件、新增的功能、创建的测试);
  • 验证了什么(测试通过、边界检查、审查完成);
  • 未验证什么(已知差距、延后测试、风险区域);
  • Token 成本 vs. 预算(消耗速率、预测总量、剩余应急)。

4.6 执行阶段关卡

  • 所有任务契约都有验收证据。
  • Token 消耗每日追踪且可见。
  • 质量验收率被监控;下降趋势触发上下文审查。
  • 范围变更遵循任务契约纪律。
  • 利益相关方收到包含已验证/未验证区分的周报。

五、交付阶段:发布、文档化、学习

AI Coding 项目的交付包含传统软件交付的所有活动,外加三个针对 AI 生成代码的特定增加。

5.1 集成验证

AI Coding Agent 通常在分支内处理隔离的任务。集成——把多个 AI 生成的变更组合成连贯整体——需要明确验证:

  • 组合变更是否保持内部一致性?
  • AI 生成的变更之间是否有冲突?
  • 集成结果是否仍满足原始架构边界?

在集成结果上运行完整测试套件、架构检查和边界验证,而不仅仅是在单个变更上。

5.2 文档同步

AI Coding 会话产生大量临时上下文:聊天记录、规划笔记、迭代日志。大部分不是持久的项目知识。在交付阶段,识别哪些决策和发现应该成为永久资产:

会话资产处置方式
AI 工作中发现的架构决策升级为 ADR 或架构文档
新建立的模式或约定添加到 AGENTS.md 或开发指南
任务级调试洞见记录为评估案例供未来参考
临时的规划讨论丢弃(不改变项目契约)
Token 消耗数据汇总进项目成本报告

5.3 成本对账

将实际项目成本与探索阶段的估算进行对比。记录:

## 最终成本报告

预估 Token 成本:$350
实际 Token 成本:$485
偏差:+38.6%

分项:
- 计划任务:$310(在估算内)
- Spike 和实验:$45(不在原始估算中)
- 迭代超支(3 个任务超出预算):$80
- 上下文相关开销(支付模块):$50

经验教训:
- 支付模块文档缺口导致了 3× 上下文加载开销。
  修复:架构摘要已添加到 docs/ ——预期可降低未来成本 30%。
- 两个探索性任务本应从一开始就是 Spike。
  修复:Spike 标准已添加到动员阶段检查清单。

这些数据输入下一个项目的探索阶段,使估算逐步变得更准确。

5.4 回顾:AI 改变了什么?

标准回顾问"做得好的和做得不好的”。AI Coding 回顾增加:

  • 哪些任务适合 AI,哪些不适合? 更新可行性矩阵。
  • 哪些模型在哪种任务类型上表现最好? 记录以供未来模型选型。
  • 哪些上下文改进本可以减少迭代次数? 为下一个项目的动员阶段确定优先级。
  • 哪些工程约束发现了问题,哪些问题逃过了? 加强薄弱的控制。

5.5 交付阶段关卡

  • 所有验收条件都有证据满足。
  • 集成测试在组合结果上通过。
  • 文档与代码变更同步。
  • 最终成本报告完成,包含偏差分析。
  • 回顾发现已记录且可行动。
  • 本项目的知识改善了下一个项目的探索阶段。

六、反模式:看起来有组织但会失败的做法

反模式会发生什么更好的做法
跳过探索,直接编码Token 预算在本该提前回答的可行性问题上耗尽有时间盒的探索,附启动/不启动关卡
用人类任务的方式估算 AI 任务估算遗漏迭代开销和上下文成本基于 Token 的估算,附应急缓冲
不设迭代上限Agent 在一个任务上烧穿预算却无进展三次迭代规则:停止、诊断、调整
被动添加上下文每次失败触发一次上下文补丁;质量参差不齐在动员阶段投资上下文,在第一个 Sprint 之前
所有任务同一自主权等级高风险变更与低风险变更有同等自由度基于任务风险和开发者能力的自主权等级
“测试通过"是唯一质量关卡AI 输出通过测试但违反架构、引入技术债或遗漏边缘情况检查 + 测试 + 边界检查 + 审查
范围变更不调整预算Token 预算在"快速添加"中无声超支每个范围变更获得任务契约和预算分配
Sprint 期间不追踪成本期末才发现预算意外每日 Token 消耗追踪,附升级阈值
每个项目从零开始估算不改进;同样的错误重复从交付到下一个探索的反馈闭环

七、端到端案例:迁移用户通知服务

为了让框架具体化,这里是一个真实风格项目的压缩演练。

项目:把用户通知服务从单体邮件发送器迁移到多通道调度器(邮件、短信、推送)。

探索(2 天)

  • 问题定义:新通道可以在不修改调度器核心的情况下添加。
  • 受保护表面:通知投递 API、用户偏好存储、限流。
  • 可行性:调度器模式有充分文档;AI Agent 处理基于接口的重构表现良好。通道特定的业务逻辑(短信提供商集成、推送通知格式)不太适合 AI,可能需要人工审查。
  • Token 估算:40 任务 × $5 平均 × 2 迭代 × 1.5 开销 = $600。应急:$900。
  • 启动决策:继续,为短信和推送通道可行性规划 Spike。

动员(3 天)

  • AGENTS.md 更新通知服务架构摘要。
  • 前 10 个任务(调度器接口、邮件适配器、测试)编写任务契约。
  • Token 预算:总计 $900,每任务上限 $45,每 Spike $15。
  • 自主权等级:调度器和邮件适配器为分支实现;短信和推送为仅规划(等待 Spike 结果)。
  • CI 配置通知特定边界检查。

执行(2 周)

第 1 周:调度器接口和邮件适配器完成。Token 消耗:$280。质量验收率:85%。一个任务需要四次迭代,因为 AGENTS.md 没有描述重试策略——第二次失败后补充。

第 1 周 Spike:短信适配器。Agent 在两次迭代内产出了可行的实现。可行性确认;自主权从仅规划升级为分支实现。

第 2 周:短信适配器、推送适配器和集成测试完成。Token 消耗:$410(总计:$690 / $900)。推送适配器质量验收率较低(60%),因为供应商特定的 API 怪癖需要人工审查。

交付(2 天)

  • 组合结果集成测试:所有 12 个通知场景通过。
  • 文档更新:架构文档反映新调度器模式。
  • 最终成本:$740(低于预算 18%)。短信 Spike 通过在全量实现前确认可行性,节省了估计 $100。
  • 回顾发现:推送通知供应商文档应在类似未来工作前添加到项目上下文。

八、项目生命周期验收检查清单

当你能对以下问题回答"是"时,AI Coding 项目生命周期就是在有效运作的:

探索

  • 每个项目从用可观察结果定义的问题开始,而不是实现任务。
  • 在写第一个 Prompt 之前评估 AI 可行性。
  • Token 成本估算存在,包含应急缓冲。

动员

  • 上下文层(规则、架构、任务规格)在第一个 Sprint 之前建立。
  • Token 预算和迭代上限在任务、Sprint 和项目三个层级设置。
  • 自主权等级匹配任务风险和开发者能力。
  • 工程约束是可执行的,而不仅仅是文档化的。

执行

  • AI 输出在测试之前被检查,而不是仅在测试之后。
  • 失败后调整上下文,而不只是重试。
  • Token 消耗每日追踪,附升级阈值。
  • 范围变更遵循任务契约纪律。

交付

  • 集成验证覆盖组合的 AI 生成变更。
  • 会话知识被提升为持久的项目资产。
  • 最终成本报告包含偏差分析和经验教训。
  • 回顾发现改善下一个项目的探索阶段。

结论:管理生命周期,而不只是工具

使用 AI Coding Agent 取得成功的团队,不是拥有最强大模型的团队,而是将项目管理适配到 AI 生成代码独特属性的团队。

EMED 框架提供了结构:

探索  →  在花 Token 之前先做决定
动员  →  在第一个 Sprint 之前投资上下文
执行  →  同时管理迭代、成本和质量
交付  →  发布、文档化、学习,并输入下一个项目

从传统项目管理的转变不在于学习新工具。它在于认识到 AI Coding 改变了软件开发的基本经济学和风险——并相应地调整你的规划、估算和控制实践。

成熟的真正标志不是每个 Sprint 都用了 AI Agent。而是每个项目决策——从"该不该开始?“到"我们学到了什么?"——都考虑到了 AI 辅助开发的特定属性。

权威资料

最后更新于