从 PRD 到技术方案,过去主要依赖资深工程师阅读需求、翻代码、找历史 PR、问相关同事,再把判断沉淀为设计文档和任务列表。Agent 进入这个环节后,真正的价值不是“替人写一篇设计文档”,而是把仓库研究、代码搜索、依赖分析、历史 issue/PR、ADR、现有设计文档、验收标准、风险识别和任务拆解组织成一个可审阅、可追踪、可复用的工程工作流。

基于对 GitLab Developer Flow、GitHub Copilot coding/cloud agent、Atlassian Rovo Dev、腾讯 CodeBuddy Plan Mode、Qoder Quest/Agent Mode、通义灵码等资料的调研,可以看到一个共同方向:先进工具都在把“先研究、先计划、再执行”变成产品默认路径。它们并不鼓励 Agent 收到需求后直接改代码,而是强调仓库上下文、规则文件、隔离环境、会话/任务状态、草稿 PR、人类 review、验收标准和回滚能力。

本文给出一套企业可落地的流程:PRD 输入后,Agent 先做 repository research,形成证据包;再生成技术方案草案、ADR 草案和任务拆解;最后由负责人审阅风险、边界、验收标准与执行顺序。文章末尾提供技术方案模板、任务拆解样例、落地 checklist 和参考资料。

为什么这个问题现在重要

AI 编码 Agent 已经能在仓库中创建分支、修改多文件、运行测试、提交 PR。GitHub Copilot coding agent 可以从 issue、IDE、CLI、GitHub.com、MCP 等入口接收任务,在隔离的 GitHub Actions 环境中探索代码、修改代码并运行测试;GitLab Developer Flow 把 issue 到 MR 的开发流放进 Duo Agent Platform,并要求项目用 AGENTS.md 和环境配置文件提供约束;Rovo Dev 可以从 Jira work item 进入,选择仓库、补充 prompt,生成代码并创建 draft pull request;CodeBuddy Plan Mode 和 Qoder Quest Mode 都明确强调先澄清需求、生成方案和任务,再执行。

这意味着“技术方案”不再只是项目启动前的一份文档,而会成为 Agent 执行的控制面:

  • 它决定 Agent 应该读取哪些仓库、文件、issue、PR、ADR 和运行日志。
  • 它限定 Agent 可以改什么、不可以改什么。
  • 它把需求转成可验证的验收标准,而不是只给出自然语言愿望。
  • 它让任务拆解小到能被 Agent 独立执行、测试、回滚和 review。
  • 它为后续代码评审、测试、上线审批和复盘提供基准。

如果没有这个环节,团队很容易把 Agent 变成“高速试错器”:代码生成很快,但方向偏差、架构不一致、隐性依赖破坏、review 成本上升,最后由人类工程师收拾残局。

产品与实践调研

下表区分“官方已发布能力”“官方预览/Beta 能力”“基于公开资料的工程推断”和“本文落地建议”。产品状态以 2026-05-24 联网调研为准。

产品/实践 已发布或官方文档明确能力 预览/Beta/限制 对本文的启发
GitLab Developer Flow / Duo Agent Platform Duo Agent Platform 提供 flows;Developer Flow 可从 issue 进入开发任务,建议使用 AGENTS.md 记录项目约定,并可用 agent-config.yml 配置执行环境。 GitLab 文档显示部分能力随版本、feature flag、group 设置变化。 PRD 到技术方案前,应把项目约定、测试命令、lint 规则、提交格式、编码模式写入仓库规则文件。
GitHub Copilot coding/cloud agent Agent 可在后台处理任务,使用临时开发环境探索代码、改代码、运行测试和 linter,并创建 PR;可从 issue、chat、CLI、MCP 等入口触发。 从 issue 指派 Copilot 等部分入口在文档中标注 public preview 或受组织策略控制。 Agent 适合承接拆好的、可验证的任务;技术方案应明确“完成后需要请求人类 review”。
GitHub Code Search / Dependency Graph / CODEOWNERS Code Search 支持 repo:path:language:symbol:、正则和布尔查询;Dependency Graph 解析 manifest/lock 文件并展示依赖、漏洞、许可证、传递依赖;CODEOWNERS 可自动请求责任人 review。 Code Search 的不同界面/API 能力可能不完全一致;Dependency Graph 依赖生态和 lock file 覆盖。 repository research 不应只靠自然语言问答,要把代码搜索、依赖图和 owner 信息变成证据。
Atlassian Rovo Dev in Jira Rovo Dev 可从 Jira work item 生成代码,选择一个或多个仓库,为每个仓库创建 session,可补充代码标准、关键路径、类似变更等上下文,可生成 draft PR;可读写连接仓库,并在用户权限下操作 Jira/Confluence。 自动化场景存在 restricted mode;访问范围受站点、仓库连接、权限和 credit 限制。 PRD/work item 到技术方案的桥梁应包含 Jira/Confluence 中的业务背景和仓库中的技术背景。
腾讯 CodeBuddy Plan Mode Plan Mode 在 IDE 内完成需求澄清、方案设计、任务拆解与执行协同;Plan 保存到 .codebuddy/plans;支持 MCP、Skill、SubAgent 编排;执行前可审阅和编辑方案。 具体能力受 IDE、插件版本和已配置扩展影响。 “计划”应成为研发流的一等产物,而不是聊天记录;计划要可保存、可复用、可审阅。
Qoder Quest / Agent Mode Quest Mode 强调目标委派、需求澄清、方案规划、代码执行、结果验证;Agent Mode 支持 Spec-driven execution、Worktree 隔离、Revert、任务报告和迭代。 Qoder CN / Lingma IDE 的 Quest 自主编程在阿里云更新日志中标注 Beta 体验;不同地区产品形态可能不同。 对复杂需求,Spec/设计文档应先于代码;执行环境隔离和可回滚是 Agent 做大任务的底线。
通义灵码 Agent Mode / Project Rules / Hooks 智能体模式具备工程检索、文件编辑、终端等工具使用能力;支持 MCP;Project Rules 可放在 .lingma/rules;Hooks 可在工具调用前后等关键节点插入逻辑。 新增能力以产品更新日志为准,企业使用需关注版本和权限。 企业落地需要把规则、工具、Hook 和安全拦截机制工程化,而不是完全依赖模型自觉。
ADR / 设计文档实践 Google Cloud 建议用 ADR 记录架构选择的背景和历史;MADR 提供轻量 Markdown 模板。 ADR 不是替代完整设计文档的万能格式。 Agent 生成技术方案时,应同时识别既有 ADR,并在产生新架构选择时生成 ADR 草案。

核心工程机制:从 PRD 到技术方案的 Agent Workflow

一个可控的 Agent 工作流应当把“理解需求”和“理解仓库”分开,再把二者合并成可审阅的方案。

通过

退回

PRD / Work Item / 用户故事

需求澄清

验收标准初稿

Repository Research

代码搜索: 入口/调用点/同类实现

依赖图: 包/服务/传递依赖/许可证/漏洞

历史 issue / PR / incident / changelog

ADR / 设计文档 / 规则文件 / CODEOWNERS

证据包与现状地图

方案选型与风险识别

技术方案草案

任务拆解与执行顺序

人类审阅: 架构/安全/产品/测试

Agent 执行或分派到 issue/PR

1. 输入不是“写个方案”,而是结构化 PRD

Agent 能否产出靠谱方案,首先取决于 PRD 是否包含足够的工程信号。最低输入应包括:

  • 背景:用户问题、业务目标、数据证据、触发场景。
  • 范围:本期必须做什么,不做什么。
  • 验收标准:可测试、可观察、可复现。
  • 约束:上线时间、兼容性、合规、安全、性能、成本、已有承诺。
  • 相关对象:Jira/issue 链接、设计稿、API 文档、指标看板、历史问题、客户反馈。

对 Agent 来说,PRD 中最重要的是“验收标准”和“非目标”。没有验收标准,Agent 会倾向于交付看起来完整但不可验证的代码;没有非目标,Agent 容易扩大改动范围。

2. Repository Research:让 Agent 先成为“会查案的工程师”

repository research 是本文的核心。它不是简单让模型“读整个仓库”,而是要求 Agent 用工具构造一张现状地图。

建议把研究动作拆成六类:

研究对象 典型问题 工具与证据
入口与边界 这个需求从哪个 API、页面、job、消息、CLI 入口进入? rg、GitHub Code Search、路由表、OpenAPI、GraphQL schema、controller/service 名称
数据模型 涉及哪些表、缓存 key、事件、消息 topic、对象存储路径? migration、ORM model、schema、protobuf、Avro、DB 文档
同类实现 仓库里有没有相似功能、相似错误处理、相似权限判断? symbol: 搜索、path: 限定、历史 PR、测试样例
依赖关系 新方案会碰到哪些包、服务、SDK、许可证、漏洞和传递依赖? Dependency Graph、lock file、SBOM、服务调用图、package manager
历史上下文 以前为什么这么设计?哪些坑踩过? issue、PR discussion、ADR、postmortem、release note、changelog
责任人和治理 谁应该 review?哪些目录需要特殊审批? CODEOWNERS、团队边界、branch protection、合规策略

Agent 的输出不应是“我看了代码”,而应是证据包,例如:

## Repository Research Evidence

- 入口:`apps/web/src/routes/billing.tsx` 负责展示当前计费页;`api/billing/subscription.ts` 暴露订阅接口。
- 同类实现:`apps/web/src/routes/usage.tsx` 已有按团队维度过滤的 UI 模式,可复用 `TeamSelector`。
- 数据模型:`Subscription` 当前缺少 `trial_end_reason`;migration 最近一次变更在 PR #1842。
- 历史风险:issue #1729 提到 Stripe webhook 顺序乱序导致状态回滚;方案需要幂等处理。
- ADR:`docs/adr/0012-billing-provider.md` 决定继续使用 Stripe,不引入第二支付网关。
- Owner:`/api/billing/**` 由 `@platform-billing` review;`/apps/web/**` 由 `@frontend-core` review。

这类证据包能显著降低幻觉风险,因为评审者可以追问每个结论来自哪里。

3. 代码搜索:从关键词搜索升级到意图搜索

GitHub Code Search 官方支持正则、布尔查询、repo:path:language:symbol: 等限定。企业内部也可以用 Sourcegraph、OpenGrok、ripgrep、AST 索引或自建代码知识图谱。无论工具如何,Agent 应遵循相同搜索策略:

  1. 从 PRD 名词提取业务关键词:订单、结算、权限、通知、导出。
  2. 从 API/事件/表名提取技术关键词:endpoint、topic、model、command、job。
  3. 搜索同类变更:path:billing refund OR invoicesymbol:calculateUsage
  4. 搜索反例和防御逻辑:rate limitidempotencyretryrollbackpermission denied
  5. 搜索测试样例:path:testpath:specdescribe("billing")

技术方案里应保留关键查询,而不是只保留结论。对 Agent 来说,“查询语句”本身就是可复验的工程证据。

4. 依赖图:识别变更半径,而不是只看 import

依赖图至少要回答四个问题:

  • 代码依赖:当前模块依赖谁,谁依赖当前模块。
  • 运行依赖:调用哪些外部服务、队列、数据库、缓存、对象存储、第三方 API。
  • 供应链依赖:新增或升级依赖是否带来漏洞、许可证、体积、兼容性风险。
  • 组织依赖:哪些团队、审批人、SRE、数据、安全、法务需要参与。

GitHub Dependency Graph 可以解析 manifest 和 lock file,展示直接/传递依赖、版本、许可证和已知漏洞,并在 PR 中辅助 dependency review。对 Agent 来说,这类信息应该进入“风险识别”和“任务拆解”,例如把“升级 SDK”拆成独立任务,并要求兼容性测试和回滚方案。

5. 历史 issue/PR、ADR、设计文档:把“为什么”交给 Agent

代码只能告诉 Agent “现在怎么做”,历史 issue/PR、ADR 和设计文档才能解释“为什么这么做”。这部分上下文通常决定技术方案是否可信。

建议让 Agent 固定检查:

  • 最近 6-12 个月与目标模块相关的 PR:看变更方向、review 关注点、回滚记录。
  • 相关 issue 和 incident:看真实用户问题、线上故障、边界条件。
  • ADR:看架构决策、状态、上下文、后果和被替代关系。
  • 设计文档:看已承诺的接口、扩展点、非目标、迁移计划。
  • 规则文件:AGENTS.md.github/copilot-instructions.md.cursor/rules.lingma/rules.codebuddy/plans 等。

ADR 尤其适合作为 Agent 的“架构护栏”。Google Cloud 对 ADR 的定义强调记录设计选择背后的原因和历史;MADR 提供 Markdown 化模板。落地时可以要求 Agent:

  • 如果方案违反现有 ADR,必须显式列出冲突。
  • 如果方案产生新的关键架构决策,必须生成 ADR 草案。
  • 如果无法找到 ADR,必须把“缺少决策记录”列为风险,而不是假装不存在。

技术方案文档模板

下面模板适合由 Agent 生成初稿,再由 tech lead / 架构师 / 测试 / 安全共同审阅。对于小任务,可以压缩;对于跨团队项目,不建议省略“现状研究”和“风险”。

# 技术方案:{功能/项目名称}

## 1. 背景
- PRD / Jira / Issue:
- 用户问题:
- 业务目标:
- 本期范围:
- 非目标:

## 2. 验收标准
- 功能验收:
- 数据验收:
- 性能验收:
- 安全/权限验收:
- 可观测性验收:
- 回归验收:

## 3. Repository Research 证据包
### 3.1 入口与调用链
- 入口文件/接口:
- 上游调用:
- 下游依赖:

### 3.2 数据模型与状态流
- 表 / schema / model:
- 状态机:
- 迁移影响:

### 3.3 同类实现
- 可复用组件:
- 可复用测试:
- 不应复用的旧模式:

### 3.4 历史上下文
- 相关 issue:
- 相关 PR:
- ADR / 设计文档:
- incident / postmortem:

### 3.5 依赖与 owner
- 包依赖:
- 服务依赖:
- CODEOWNERS / review 人:

## 4. 方案选型
### 方案 A
- 描述:
- 优点:
- 缺点:
- 风险:

### 方案 B
- 描述:
- 优点:
- 缺点:
- 风险:

### 推荐方案
- 决策:
- 原因:
- 需要新增/更新的 ADR:

## 5. 详细设计
- API 设计:
- 数据模型:
- 状态流 / 时序:
- 权限与安全:
- 幂等、重试、降级:
- 兼容性与迁移:
- 可观测性:

## 6. 任务拆解
| 任务 | 说明 | 依赖 | 验收 | Owner | 适合 Agent |
| --- | --- | --- | --- | --- | --- |

## 7. 测试计划
- 单元测试:
- 集成测试:
- E2E:
- 回归范围:
- 手工验收:

## 8. 发布与回滚
- Feature flag:
- 灰度策略:
- 数据迁移:
- 回滚步骤:
- 监控指标:

## 9. 风险与开放问题
| 风险 | 影响 | 触发条件 | 缓解措施 | 决策人 |
| --- | --- | --- | --- | --- |

## 10. 附录
- 关键代码搜索查询:
- 参考链接:
- Agent 运行记录:

任务拆解样例

假设 PRD 是:“为企业账户增加试用到期前的续费提醒,支持邮件和站内信,管理员可配置提前 7/14/30 天提醒。”

Agent 不应直接改代码,而应先给出如下拆解:

阶段 任务 输入证据 验收标准 适合 Agent 执行程度
研究 定位订阅状态和到期时间来源 Subscription model、billing webhook、历史 PR 找到唯一可信 trial_end_at 来源;列出状态乱序风险
研究 查找现有通知框架 NotificationService、邮件模板、站内信组件、测试 明确是否复用现有队列和模板系统
设计 产出提醒状态流 PRD、现有状态机、incident 状态流覆盖已续费、取消、过期、重复提醒 中,需要人审
数据 增加提醒配置字段 migration、tenant settings、默认值策略 兼容老租户;可回滚;有 migration 测试
后端 实现 reminder scheduler job 框架、幂等 key、队列 同一租户同一到期日不会重复发送;失败可重试
前端 管理员配置页 现有 settings UI、权限组件 只有管理员可见;保存后可读取;错误提示一致
测试 补齐单测/集成测试 同类通知测试 覆盖 7/14/30 天、取消试用、已续费、重复 job
发布 feature flag 与监控 发布策略、指标系统 可按租户灰度;有发送成功率和失败率指标 中,需要 SRE/业务确认
文档 更新 ADR/设计文档 方案决策 记录为什么复用现有通知框架,不新建服务

拆解要点是:每个任务都能被独立验证,且任务之间有明确依赖。适合 Agent 的任务可以交给 GitHub Copilot coding agent、GitLab Developer Flow、Rovo Dev、CodeBuddy、Qoder 或通义灵码执行;涉及产品取舍、架构决策、安全策略和发布风险的任务,必须有人类负责人审阅。

风险识别:Agent 最容易漏掉什么

技术方案中的风险不能只写“可能有兼容性问题”。建议强制 Agent 按以下维度扫描:

风险类型 常见遗漏 Agent 应检查的证据
需求边界 把非目标也做了,或遗漏异常场景 PRD 非目标、验收标准、历史 issue
架构一致性 新增一套和既有模式冲突的实现 ADR、同类实现、目录结构、owner 评论
数据迁移 老数据默认值、回滚、双写、幂等没设计 migration、历史回滚 PR、数据量
权限安全 只做前端限制,后端未校验 policy、middleware、审计日志、安全测试
依赖供应链 新增包有漏洞、许可证不兼容、体积过大 Dependency Graph、SBOM、lock file
并发与状态 重试导致重复操作,异步事件乱序 job、queue、webhook、incident
可观测性 上线后无法判断是否成功 metrics、logs、traces、dashboard
组织协同 没有找对 owner review CODEOWNERS、团队边界、服务目录
Agent 执行风险 任务过大、上下文过宽、权限过高 任务粒度、sandbox、工具权限、diff 范围

管理者视角:流程、组织与指标

对 CTO、研发负责人和产品负责人来说,PRD 到技术方案的 Agent 化不应被理解为“少开几次技术评审会”,而应被设计为研发治理能力升级。

组织流程

  • PRD 必须有验收标准和非目标,否则不进入 Agent 方案生成。
  • 每个核心仓库维护规则文件:测试命令、lint 命令、提交规范、架构约束、安全边界。
  • 技术方案必须带证据包:代码搜索结果、历史 PR/issue、ADR、依赖图、owner。
  • 复杂方案要输出 ADR 草案;重大 ADR 必须由架构 owner 批准。
  • Agent 生成的任务默认进入 draft PR 或计划状态,不能自动 merge。

指标

建议关注四类指标:

  • 方案质量:一次评审通过率、开放问题数量、重大遗漏数量。
  • 执行效率:PRD 到方案耗时、方案到任务耗时、任务平均粒度。
  • 交付质量:返工率、回滚率、线上缺陷、测试覆盖有效性。
  • 治理健康度:有 ADR 的关键决策比例、owner review 命中率、规则文件覆盖率。

不要用“Agent 写了多少行代码”衡量这一环节。更有价值的指标是:技术方案是否减少了后续返工和线上风险。

工程师与架构师视角:落地架构

企业内部可以把 PRD 到技术方案的 Agent 能力设计成一个“方案生成服务”,而不是散落在各 IDE 插件里的聊天记录。

PRD / Jira / Confluence

Context Gateway

Git Repos

Code Search / AST Index

Dependency Graph / SBOM

Issue / PR / ADR / Docs

Service Catalog / CODEOWNERS

Planning Agent

Evidence Pack

Technical Design Draft

Task Breakdown

Risk Register

Human Review

Issues / Draft PRs / Agent Sessions

关键组件包括:

  • Context Gateway:统一控制 Agent 能读哪些仓库、文档、issue、PR 和指标,避免权限失控。
  • Tool Registry:登记代码搜索、依赖图、CI、测试、文档、Jira、Confluence、GitHub/GitLab 等工具。
  • Policy Engine:限制写权限、删除操作、密钥访问、生产环境操作和敏感目录修改。
  • Evidence Store:保存 Agent 使用的查询、文件片段、结论和链接,便于评审和审计。
  • Template Library:维护技术方案、ADR、测试计划、发布计划和风险表模板。
  • Task Router:把拆好的任务分派给 GitHub Copilot、GitLab Duo、Rovo Dev、CodeBuddy、Qoder、通义灵码或内部 Agent。

落地 Checklist

第 0 阶段:准备上下文

  • 核心仓库存在 README、开发环境说明、测试命令、lint 命令。
  • 核心仓库存在 AGENTS.md 或等价规则文件。
  • 关键目录有 CODEOWNERS 或服务 owner 映射。
  • 重要架构决策有 ADR,至少覆盖数据、权限、外部依赖、部署形态。
  • CI 能在隔离环境稳定运行。

第 1 阶段:规范 PRD 输入

  • PRD 包含验收标准和非目标。
  • PRD 关联用户反馈、指标、issue 或业务证据。
  • PRD 标明安全、合规、性能、兼容性约束。
  • PRD 标明必须复用或禁止触碰的系统边界。

第 2 阶段:让 Agent 做 Repository Research

  • Agent 输出代码搜索查询和结果摘要。
  • Agent 输出入口、调用链、数据模型、依赖图。
  • Agent 检索历史 issue/PR/ADR/设计文档。
  • Agent 列出 owner 和必要 review 人。
  • Agent 把无法确认的信息列为开放问题。

第 3 阶段:生成并审阅技术方案

  • 方案包含至少两个选型或明确说明为什么只有一个方案。
  • 方案包含数据迁移、回滚、监控、测试计划。
  • 方案明确新增或更新 ADR。
  • 方案明确哪些任务适合 Agent,哪些必须人类决策。
  • 方案评审记录保存在仓库或项目管理系统中。

第 4 阶段:任务拆解与执行

  • 每个任务有输入、输出、依赖、验收标准。
  • 单个 Agent 任务控制在可独立 review 的 diff 范围内。
  • Agent 只能创建 draft PR 或等待 review,不自动 merge。
  • 任务完成后自动触发测试、lint、依赖审查和 owner review。
  • 失败任务保留日志、diff 和回滚点。

小结

从 PRD 到技术方案,是 AI 原生研发中最容易被低估的一环。编码 Agent 越强,越需要严肃的规划、证据和治理。GitHub、GitLab、Atlassian、CodeBuddy、Qoder、通义灵码等工具的共同趋势已经很清楚:Agent 不是绕过设计文档,而是把设计文档变成可执行、可审阅、可追踪的控制面。

企业真正要建设的不是“一个会写方案的聊天机器人”,而是一条工程化链路:PRD 结构化输入,Agent 做 repository research,生成证据包和技术方案,识别风险,拆成可验证任务,再交由 Agent 或工程师执行。这样,AI 才能从“更快写代码”进入“更可靠地交付软件”。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐