用 Copilot 写 BRD/PRD
工作台 Copilot 怎么读你的文档结构、怎么调工具、怎么把内容回写到具体章节
工作台的 Copilot 不是"在文档里弹个聊天框",它能 读取你的文档结构、调用工具、把生成内容回写到具体章节。这页讲怎么把它用熟。
工作台布局

四栏(从左到右):文档树 / 章节侧栏 / 章节正文 / Copilot 对话面板。详细布局见 项目与文档 → 三栏布局。
Copilot 面板(最右)的关键控件:
- 顶部「AI Copilot」标题 + 收起按钮
- 对话历史:用户消息 / AI 回复 / AI 内部推理(折叠卡片,点开看完整思考链)/ 工具调用(如
read_entity、write_entity、load_skill,含耗时·0.0s) - 底部:阶段切换器 + 「确认完成,进入下一环节」按钮 + 输入框 + Context 用量条(
13.2% · 27.1K / 204.8K context used)
Copilot 能做的三件事
1. 起草章节
最常用。让 Copilot 根据上下文写一段:
帮我起草「业务背景」章节,假设这是一个面向 B 端商家的商品发布工具,
重点说清楚痛点和当前流程的低效。Copilot 会:
- 调
read_entity读项目元数据和已有章节,理解上下文 - 在面板里流式输出生成的内容
- 调
write_entity把内容写到「业务背景」字段 - 左栏章节状态自动刷新
2. 改写已有章节
对着已经写好的内容追问:
"低效"那段说得太抽象,能加两个具体的数据点吗?
比如商家平均上架一个 SKU 的耗时、错误率。Copilot 会先 read_entity 读现有内容,理解你的"那段"指的是什么,再改写、再回写。
3. 跨文档影响分析
改一个 BRD 字段时让它先看看影响:
我打算把「目标用户」从"中小商家"扩到"包括大型品牌商",
查一下现有 PRD 哪些章节会受影响。Copilot 会调 query_impact 工具,返回血缘图里指向这个字段的下游文档列表。
阶段化写作(Orchestration)
BRD / PRD 这类受控文档的 Copilot 不是一锅 LLM,而是按阶段走:
brainstorming → 骨架生成 → 内容生成 → 润色与一致性自检每个阶段绑定不同的 system prompt 和 Skill 集合:
| 阶段 | 干什么 | 典型 Skill |
|---|---|---|
| brainstorming | 通过提问澄清需求范围、通知机制、审批规则等关键决策点 | brainstorming |
| 骨架生成 | 写 5 章框架 + 8 个需求模块的 moduleCode/moduleTitle | brd-write-pipeline |
| 内容生成 | 按章节 / 字段填详细内容、写 PlantUML 图 | brd-write-pipeline + brd-pattern |
| 一致性自检 | 跨章节核对(痛点是否都有对应目标?角色是否都在流程图泳道里?) | deep-thinking-engine |
Copilot 面板底部的阶段切换器显示当前阶段,「确认完成,进入下一环节」按钮把当前阶段标记为完成、推进到下一个。每个阶段允许多轮对话改到满意为止。
下面这段是真实写作中的一段对话片段——Copilot 在 brainstorming 阶段连问 3 个关键决策点(系统范围 / 通知方式 / 插队管控),用户用 A A 没问题 短确认,最后才进入骨架生成:
Copilot: 问题 1:系统覆盖范围
A. 仅排队管理
B. 排队 + 月台调度
C. 排队 + 完整送货流程
D. 全厂区物流调度
我的推荐:选项 A …
User: A
Copilot: 问题 2:司机通知与签到机制
A. 短信 + 电话通知
B. 微信小程序/APP 推送
C. 现场广播 + 人工通知
D. 组合方案
我的推荐:…
User: A
Copilot: 问题 3:插队规则的透明化管理 …
User: 没问题
[骨架生成阶段 → 写入 12 个字段]
✅ BRD 骨架已完成生成,共写入 12 个字段:
- 业务背景与目标 / 涉众分析 / 业务流程 / 核心需求(8 模块)/ 非功能诉求这套阶段化设计来自 ConfigUnit 的 Orchestration 编排配置,详见 ProjectType 模板管理 → 配置单元详情。
流式输出与中途取消
Copilot 走 SSE(Server-Sent Events),所以你看到的是:
- 一字一字往外吐(不像传统接口"等几秒一次性返回")
- 输入框旁有 ⏹ 按钮,点了立刻停止生成
- 取消会被服务端 trace 记录为
CANCELLED,不会有半截垃圾内容残留
取消后再追问会怎样
取消的对话不进入历史,下一句重新开始。如果只是想"换个说法重写",直接说"重写一下,要更简洁"——比取消再发更省一次 LLM 调用。
工具调用面板
每次 Copilot 调工具,对话流里会出现一个折叠卡片:
🔧 read_entity({ field: "background" })
→ "当前 B 端商家上架一个 SKU…" (1247 字)
🔧 query_impact({ entity: "BRD", field: "target_users" })
→ 影响:PRD-商品发布 §3.1, §4.2;技术设计-商品中心 §2工具失败也会被显示出来,不藏:
🔧 write_entity({ field: "scope" })
→ ❌ 错误:字段 "scope" 在当前 DocType 中不存在哪些场景特别适合 Copilot
| 场景 | 为什么 Copilot 比"自己写"省事 |
|---|---|
| 业务背景、术语解释这种"模板化段落" | Copilot 读项目元数据自动套语 |
| 跨章节一致性检查("成功指标和范围是否对齐") | 它能一次读多个字段比对 |
| 改了一处问"还有哪里要改" | query_impact 查血缘 |
| 把一段中文翻成英文 / 把口语化整理成正式语气 | LLM 的强项 |
哪些场景 Copilot 还不够好
诚实说几个目前不擅长的:
- 画图:Copilot 不能直接出 Mermaid / PlantUML(这是路线图功能)
- 跨项目知识 :它只读当前项目的文档,不知道你公司的历史项目
- 数值精确推理:成本估算、容量规划这种最好让它写脚本(用 Skill),别让它直接算
常见问题
Q:Copilot 写完我不满意,怎么撤回?
A:左栏点章节 → 右上角"历史版本"。所有 write_entity 都有版本记录。
Q:能让 Copilot 不要自动回写、只给我建议吗? A:对话开头加一句"只给建议,不要写入文档"。它会理解。
Q:对话历史会一直累积吗? A:每个 DocumentInstance 一个独立的会话。你可以在面板 Header 点「清空」重开。
实际试一下
下面这个不是截图——是用 mock 数据接着 studio-ai 真实组件 拼出来的最小 Copilot 输入框,逻辑跟工作台里的对话面板一致(流式输出、按钮在生成时禁用、回车发送)。就是没接真的 LLM。
Copilot 输入框 · 流式回复 mock
Button + Input + 假 SSE token 流
输入消息后按发送,模拟 Copilot 流式回复。
随便输一句话按发送试试——这就是为什么 Aiko Studio 的文档站要换成 React 原生框架:能直接演示真实交互,不用截图、不用录屏、不用让你登录。