Aikodoc
工作台使用

用 Copilot 写 BRD/PRD

工作台 Copilot 怎么读你的文档结构、怎么调工具、怎么把内容回写到具体章节

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

工作台布局

Copilot 在 BRD 写作中的全貌

四栏(从左到右):文档树 / 章节侧栏 / 章节正文 / Copilot 对话面板。详细布局见 项目与文档 → 三栏布局

Copilot 面板(最右)的关键控件:

  • 顶部「AI Copilot」标题 + 收起按钮
  • 对话历史:用户消息 / AI 回复 / AI 内部推理(折叠卡片,点开看完整思考链)/ 工具调用(如 read_entitywrite_entityload_skill,含耗时 ·0.0s
  • 底部:阶段切换器 + 「确认完成,进入下一环节」按钮 + 输入框 + Context 用量条(13.2% · 27.1K / 204.8K context used

Copilot 能做的三件事

1. 起草章节

最常用。让 Copilot 根据上下文写一段:

帮我起草「业务背景」章节,假设这是一个面向 B 端商家的商品发布工具,
重点说清楚痛点和当前流程的低效。

Copilot 会:

  1. read_entity 读项目元数据和已有章节,理解上下文
  2. 在面板里流式输出生成的内容
  3. write_entity 把内容写到「业务背景」字段
  4. 左栏章节状态自动刷新

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/moduleTitlebrd-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 流

mock本地模拟输入框,没有调用 LLM

输入消息后按发送,模拟 Copilot 流式回复。

随便输一句话按发送试试——这就是为什么 Aiko Studio 的文档站要换成 React 原生框架:能直接演示真实交互,不用截图、不用录屏、不用让你登录。

下一步

On this page