24.2 让调度更精准:需求澄清与多轮协作 Skill
面向经管学生、研究者与从业者的 AI 智能体设计教材
上一节列出了内置 Skill 的三个局限。本节引入两个新 Skill 补上前两个缺口:dispatch-expert Skill 让管家与专家建立持久会话、进行多轮协作,brainstorming Skill 让管家在调度前先与你逐步澄清需求。第三个问题(管家不主动调度)留给下一节通过记忆配置解决。两个新 Skill 组合后,管家的调度流程变成三个阶段:
- 需求澄清:管家使用
brainstormingSkill 与你对话,理清任务目标和验收标准 - 调度执行:管家使用
dispatch-expertSkill 与专家建立持久会话,多轮协作完成任务 - 结果汇报:专家完成后,管家提炼结果向你汇报
brainstorming:调度前的需求澄清
brainstorming Skill 的职责是在调度专家之前,帮你把想法变成明确的需求。这个 Skill 源自开源项目 Superpower,完整内容如下。
---
name: brainstorming
description: "在任何创造性工作之前必须使用此 skill,包括创建功能、构建组件、添加新特性或修改行为。通过协作对话探索用户意图、需求与设计方案。"
---
# 头脑风暴:从想法到设计
## 概述
通过自然的协作对话,将模糊想法转化为完整的设计方案和规格说明。
先了解当前项目上下文,然后逐个提问来细化想法。理解清楚要构建的内容后,分小节(200-300 字)呈现设计方案,每节之后确认方向是否正确。
## 流程
**理解想法:**
- 先查看当前项目状态(文件、文档、近期提交)
- 逐个提问来细化想法
- 尽量使用选择题,开放式问题也可以
- 每条消息只问一个问题。如果某个话题需要深入探讨,拆成多个问题
- 聚焦于:目的、约束条件、成功标准
**探索方案:**
- 提出 2-3 种不同方案,分析各自利弊
- 以对话方式呈现选项,给出推荐方案及理由
- 推荐方案放在最前面,解释为什么推荐
**呈现设计:**
- 确认理解了要构建的内容后,开始呈现设计
- 分成 200-300 字的小节
- 每节之后询问是否方向正确
- 覆盖:架构、组件、数据流、错误处理、测试
- 如果某处不清楚,随时回头澄清
## 设计完成后
**文档化:**
- 将确认通过的设计写入 `docs/plans/YYYY-MM-DD-<主题>-design.md`
- 将设计文档提交到 git
**实现(如果继续):**
- 询问:"准备好进入实现阶段了吗?"
- 确认后进入实现阶段
## 核心原则
- **逐个提问**:不要一次抛出多个问题
- **优先选择题**:比开放式问题更容易回答
- **严格 YAGNI**:从所有设计中移除不必要的功能
- **探索替代方案**:在确定方案前,始终提出 2-3 种选择
- **增量验证**:分节呈现设计,逐节确认
- **保持灵活**:发现不对劲时,随时回头澄清
管家触发 brainstorming 后,会在微信里逐个向你提问:要做什么、给谁用、有哪些约束、什么算做完。你逐一回答后,管家整理出结构化的需求描述,确认无误再进入调度阶段。
直接说”帮我做个数据大屏”和先花三分钟回答五个问题再做,结果差距很大。澄清阶段的价值不在于流程完整,而在于减少返工。专家拿到的需求越精确,一次做对的概率越高。
acpx:让管家和专家多轮对话
需求澄清后,管家要把任务交给专家。如果用上一节的内置 Skill,专家执行完就退出,管家无法中途追加要求。acpx 解决的就是这个问题:它在管家和专家之间建立一个持久会话,双方可以多轮对话,直到任务完成后再关闭会话。
acpx 的工作方式分四步:
- 创建会话:管家为某个项目创建一个持久会话,专家在该项目目录中启动
- 发送任务:管家把澄清好的需求发给专家
- 追加交互:专家返回中间结果后,管家可以追加要求、调整方向,专家记得之前的上下文
- 关闭会话:任务完成后关闭会话,释放资源
和内置 Skill 的一次性执行相比,持久会话的核心优势是:专家在整个过程中保持上下文,管家可以根据中间结果调整要求,不用每次重新描述任务背景。
安装 acpx
使用 acpx 前,需要在服务器上安装:
npm install -g acpx@latest
安装一次即可,后续所有项目共用。
dispatch-expert Skill:把多轮协作封装成流程
理解了 acpx 的工作方式后,就可以把它封装成一个 Skill,让管家按固定流程执行调度。以下是一份可直接使用的 dispatch-expert Skill 模板。
---
name: dispatch-expert
description: "通过 acpx 调度 Opencode 执行项目级深度任务。当需求已经过 brainstorming 澄清、且任务需要多轮交互时使用。"
---
# acpx 调度
## 触发条件
- 需要进入项目目录做深度工作,涉及项目级上下文、多文件协作或持续迭代
- 需求已经过 brainstorming 澄清,用户已确认
## 执行步骤
### 1. 创建会话
根据任务对应的项目路径(从项目索引获取),创建持久会话:
```bash
acpx --cwd <项目路径> opencode sessions new
```
### 2. 发送任务
将澄清后的需求组装成 prompt,发送给专家:
```bash
acpx --approve-all opencode "<任务描述,包含目标、范围、验收标准>"
```
### 3. 接收反馈与追加交互
专家返回中间结果后,根据需要追加指令:
```bash
acpx --approve-all opencode "<补充要求或方向调整>"
```
### 4. 关闭会话
任务完成后关闭会话,释放资源:
```bash
acpx opencode sessions close
```
## 汇报格式
向用户汇报时包含:
- 做了什么(变更摘要)
- 产出文件路径
- 需要用户确认的事项
--cwd 指定专家的工作目录,--approve-all 让专家自动执行文件读写操作而不逐项询问。
完整流程

内置 coding-agent 和 brainstorming + dispatch-expert 分别覆盖两种场景:
| 阶段 | 内置 coding-agent | brainstorming + dispatch-expert |
|---|---|---|
| 需求澄清 | 无,直接执行 | brainstorming Skill 逐步澄清 |
| 调度执行 | 一次性执行,完成即退出 | 持久会话,支持多轮协作 |
| 结果汇报 | 返回原始输出 | 管家提炼后汇报 |
完整的三阶段流程按以下步骤运行:
需求澄清阶段
- 你在微信发起请求
- 管家分析意图,判断需要调度专家
- 管家调用
brainstormingSkill,逐个提问 - 你回答问题,细化需求
- 管家呈现方案,你确认
调度执行阶段
- 管家调用
dispatch-expertSkill,创建持久会话 - acpx 启动专家进入项目目录
- 专家执行深度工作,管家可追加指令
结果汇报阶段
- 专家返回结果
- 管家提炼结果,通过微信向你汇报
现在管家有了两套调度 Skill,但它不会自动区分什么任务走内置 Skill、什么任务走完整流程。下一节配置记忆和调度规范,让管家根据任务特征自动选择。