首页 › skills-review › 先问三句再开工:接单课开张

先问三句再开工:接单课开张——第8轮设计模式提炼:写件课第五拍

概述

本期做三件事:其一,点账——写件课拍到第四拍,文字件、前台、带脚件、质检先后到岗,但四拍教的全是「答」侧的手艺:怎么把话说清、把队排好、把活分出去、把货验对;「问」侧——开工之前怎么把需求问全——四拍一字未提,而生态里最贵的事故恰恰发生在这段真空里。其二,提炼——从本周横评卷刚记过的 spec-kit clarify 工序闸、档案在册的 grill 系追问件、BMAD 的角色会商里,提炼出接单问诊的四式套路,每式配一个死法、一条判据。其三,交货——当场构造 ask-first:一件只管提问不管施工的接单窗口件,一轮问全、选择题优先、默认值显式、答案落盘。核心发现一句话:Agent 时代的需求澄清不该散落在对话里碰运气,它该是件里的显式条款——问几轮、问什么、不问什么、答案落在哪,四件事写进正文,返工的一半源头就焊死在开工之前。

一、空位从哪来:四拍都教答,没人教问

先把课线的账摊开。09-27 第一拍 minutes-fixer 教文字件,九条套路;09-29 第二拍 skill-dispatcher 教前台,六条套路;09-30 第三拍 catalog-drafter 教带脚件,六条接缝套路;同日第四拍 skill-lint 立起七道出厂闸。四拍连起来,工厂有了产线、前台、车间、质检——但门口没有接单窗口。用户一句话进来,直接就往车间里灌,需求里的歧义由施工的件现场猜,猜错了质检闸也拦不住:闸验的是「做得对不对」,验不了「做的就不是那件事」。

生态这一周的动静恰好都在给这个空位作证。今晨横评卷里,GitHub 官方的 spec-kit 把 /speckit.clarify 做成显式工序——问题不问完,不许进规划;这是把需求工程里最贵的返工源头焊死在流程上,也是本周唯一把「问」当成一级公民的大仓动作。另一头,追问式的件也一直在场:本栏 08-28 档案录得两段描述原文——「A relentless interview to sharpen a plan or design」,以及「Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick」——grill 系把「追问」做成产品,但它们是给打磨已有方案用的,管不到「开工前需求还没成形」的那一段。BMAD-METHOD 的角色会商里也藏着问,但问被埋在分析师与 PM 的剧本里,成本是整套编制的重量。

三个样本,三种形态:工序闸(spec-kit)、独立追问件(grill 系)、剧本内嵌(BMAD)。「问」这件事有真实供给,但没有一件落在「任何任务开工前」这个最普惠的位置上。这就是第五拍的空位。

flowchart TD
    A["接单窗口 ask-first<br/>开工前问全"] --> B["前台 dispatcher<br/>点对那件"]
    B --> C["车间 文字与带脚件<br/>真正干活"]
    C --> D["质检 skill-lint<br/>出厂闸"]

读图要点:接单窗口排在流水线最上游,它不生产任何东西,只保证流进前台的那句话没有致命歧义;四拍的老科目一个不动,本期只补门口这一间。

二、评测对比表:「问」派在场者地形图

权重沿用本栏固定口径:功能 25%、设计 25%、实战 20%、上手 15%、社区 15%。评分均为编辑纸面评价,未实测项按两星起评。

问派件 层位 功能 设计 实战 上手 社区 加权
spec-kit clarify 规格流水线内的显式关卡 ★★★★ ★★★★★ ★★★★ ★★★ ★★★★★ 4.25
BMAD 角色会商 编制剧本内嵌的会商 ★★★★★ ★★★ ★★ ★★ ★★★★ 3.30
grill 系追问件 方案打磨期的深挖 ★★★ ★★★★ ★★ ★★★★ ★★ 3.05
ask-first(本件) 任意任务开工前的接单窗口 ★★★ ★★★★ ★★ ★★★★ ★★☆ 2.98

四行口径。spec-kit 的 clarify 设计五星,理由是今晨横评卷的原判:它把「向人提问补齐歧义」做成独立关卡,问题不问完不许进规划——这是四家里唯一把问写进流程骨架的;但它的问只服务于规格工程,你写周报、改配置用不上它。BMAD 功能五星靠编制覆盖面撑着,可问的成本也是编制级的——写个爬虫也要先过会商,上手两星。grill 系是问派里的「深挖型」,描述原文在场(见参考来源),但它默认你已经有一份方案可挖,开工前的真空段它不管。ask-first 是本栏刚造的演示件,实战未实测两星起评,社区刚出生不给满扣——纸面垫底不丢人,出厂时诚实的分才有复检的意义。

三件在册件的安装口径(以各自仓库 README 为准):

uvx --from git+https://github.com/github/spec-kit.git specify init 项目名 --ai claude
npx bmad-method install
npx openspec init

grill 系的安装参数本期档案未录全,不凭记忆补写,以原仓 README 为最终口径。

三、正课:接单四式,每式一个死法

式一 一轮问全,拦「挤牙膏死」。 最败好感的问法是问一句做一半,做砸了再回来问第二句——用户每被点亮一次对话框,信任就掉一档。判据:接单件的提问至多两轮;第一轮把所有待决问题攒齐一次抛出,按「范围→格式→去向→验收」四栏清点;第二轮只许追问第一轮答案引出的新歧义。判断关。

式二 选择题优先,拦「开放题死」。 「你想要什么样的?」是把提问的成本转嫁给用户——他把话已经说完了才来找件。判据:每个问题必须带 2-4 个预设选项,外加一个「都不对,我另说」的出口;问「A 还是 B 还是 C」,不问「你想要什么」。宿主侧的选择题式提问工具已经把形态准备好了——本栏 08-31 档案录得一件社区件把 AskUserQuestion 与 Bash、Read 并列写进 allowed-tools,选项化提问是这个时代接单的默认形状。判断关。

式三 默认值显式,拦「沉默认同死」。 用户不答,不等于同意按你的偏好办——但绝大多数件就是这么干的:问一句没回音,就悄悄按作者口味做了。判据:每个问题的描述里预先写死缺省值,「未答即按 X 处理」白纸黑字;正文里的兜底句是验收的一部分。这抄的是官方内置件的成例——run 的描述里写着「If no project skill exists, falls back to built-in patterns」,兜底前置声明,不给模型现场发挥的空间;09-10 档案里那件提交信息件的「暂存区为空时不适用,禁止自行执行 git add」是同一条律的中文范本。脚本粗验在场性,语义归模型判。

式四 答案落盘,拦「对话蒸发死」。 问得再好,答案只活在对话里,第二天换个会话就全部蒸发,用户被迫重新答一遍。判据:澄清结束的当场,把「问题—答案—默认值」三栏写进任务目录的记录文件;后续任何件接手,先读这份记录再动手。这是记账件「先建文件记账再动手」的老规矩(09-19 档案口径)在问侧的延伸:开工前的答案,就是最早入账的账。判断关。

四式之外附一张分诊线,画清「问与不问」的边界,全文随件走:

该问人的 不该问人的(自己查) 不必问的(自己定并声明)
要不要做、给谁看、做到多狠 分支名、路径、版本号、目录里有什么 无关痛痒的小选择(文件名、注释风格)
偏好、边界、验收标准 git log、包管理器、现有测试能回答的一切 答案可逆且成本近零的选择

分诊线的原理一句话:机器能查的问人,是把人当数据库;人的偏好和边界机器查不到,那才是提问的全部合法领地。

四、当场造:ask-first,只管问不管做的接单窗口

起名过纪律。ask-first 三个词把行为契约写在门牌上——先问,后做;本机在册清单逐字查过,未见同名(以当期名单为口径,市场撞名上架前必跑 npx skills find ask-first)。它是纯文字件,不带脚本——第五拍回到拍一的体裁,正好示范「不带脚的件照样能立规矩」。

SKILL.md 全文,可直接复制:

name: ask-first
description: 开工前的需求问诊件。当用户下达的任务存在明显多解——新功能、
  改代码、写文档、做数据——且范围、格式、去向、验收标准尚未言明时使用。
  clarify requirements before starting work。一轮问全、选择题优先、默认值
  显式、答案落盘成记录文件;问完即交棒,自己不写一行生产代码。要写正式
  规格用 spec-kit 类工序件 instead;要验已完成的交付用 skill-lint instead;
  要在已装件里选件用 skill-dispatcher instead。Not a replacement for the
  skill that does the actual work.

# Ask First — 接单窗口

只做一件事:开工前把歧义问完,答案落盘,然后交棒。

## 何时接单
任务里同时缺「范围、格式、去向、验收」中的两项以上,且对话里找不出答案。

## 四式(正文即操作规程)
1. 攒题:按四栏清点待决项,一轮问全,至多两轮
2. 出选择题:每问带 2-4 个选项加「都不对」出口,禁问开放题
3. 报默认值:每问附「未答即按 X 处理」,缺省值先于提问写死
4. 落盘:问答默认值三栏写入任务目录 answers.md,交棒时随附

## 问与不问
分诊表在 references/triage.md:机器能查的自己查,偏好边界才问人,
无关痛痒的自己定并在答案里声明。

## 工作流程
1. 读用户指令,列待决项;四栏全有着落的,直接放行不提问
2. 有缺项:一轮抛出全部选择题,附默认值
3. 收答案(或超时取默认),写 answers.md
4. 交棒:点名真正干活的件或直接开工,把 answers.md 路径带在交棒句里

## 不要做
- 不写一行生产代码——窗口不进车间
- 不二次追问用户已经回答过的事——答案以 answers.md 为准
- 不问机器能查的问题——分诊表管着
- 不跳过落盘直接开工——对话会蒸发,文件不会

## 完成定义
- 待决项清零:每项恰有一个答案或一个被采用的默认值
- answers.md 三栏齐全,路径已在交棒句里
- 本件自身对生产文件的写盘数为零(answers.md 除外)

分诊表单独住 references/triage.md——数据管内容、正文管流程,这是第二拍教过的老套路,接单件照章办事。

逐段注记只挑要紧的。描述:触发词押在「多解」「范围、格式、去向、验收」「开工前」这几处用户真实会打的词上,顺带一枚英文钩子 clarify;三条让路句各有主——写规格归 spec-kit 系、验货归 skill-lint、选件归 dispatcher,末句给自己上紧箍:接单件最大的职业病害就是抢班子的活,门牌里先自断。四式即章节:正文不写散文,每式就是一条可执行的操作,模型照着走不需要发挥。完成定义里藏着本件的自我约束:写盘数为零(记录文件除外)——问诊窗口若顺手改了代码,四式就全成了走过场的仪式。

五、一次完整当班

flowchart TD
    A["用户一句话下单"] --> B["点亮 ask-first"]
    B --> C{"四栏缺项两以上"}
    C -->|不缺| H["直接放行交棒"]
    C -->|缺| D["一轮抛全部选择题<br/>每问附默认值"]
    D --> E{"用户作答"}
    E -->|答了| F["答案写入 answers.md"]
    E -->|没答| G["采用声明的默认值"]
    G --> F
    F --> I["点名干活的件<br/>交棒句带上 answers.md"]
    H --> I

读图要点:E 的两个出口殊途同归地汇进 F——答与不答都必须落账,沉默走默认值,这是式三的图上形态;C 的「不缺」出口是接单件的自律,四栏全有着落时还硬问三句,问诊就成了添堵。

六、安装与自测

# 两件套:正文、分诊表
mkdir -p ~/.claude/skills/ask-first/references
# 将上文 SKILL.md 存为 ~/.claude/skills/ask-first/SKILL.md
# 将分诊表     存为 ~/.claude/skills/ask-first/references/triage.md

# 自测第一式:点火三句
#   「我要给这个脚本加个导出功能,先别写,先问我」
#   「需求不太明确,帮我问清楚再开工」
#   「这个任务有什么要先确认的吗」
# 自测第二式:灭火三句
#   「直接按 README 跑一遍」(四栏全有着落,应放行不问)
#   「帮我验一件写没写对」(归 skill-lint)
#   「帮我挑个处理 PDF 的件」(归 dispatcher)
# 自测第三式:问诊中途断开会话,新会话里查 answers.md 是否还在

# 市场撞名复查(上架日用)
npx skills find ask-first

七、推荐排行榜

结语

写件课拍到第五拍,工厂的编制终于齐了:门口有接单的,屋里有点名的,车间有干活的,出厂有验货的。前四拍教的都是「答」的手艺,本期补上「问」的规矩——而这一拍的 Deep 之处在于它的分工观:问不是性格,是条款。 spec-kit 把问写进工序,grill 系把问做成产品,本栏把问写进门牌背面——三个动作说的是同一句话:Agent 越能干,开工前的三句问就越贵。把这三句变成件里的白纸黑字,让沉默有默认、答案有去处、交棒有凭证,写件人手里才算真正握住了返工的阀门。

参考来源

  1. github/spec-kit — clarify 显式工序与「问完才许进规划」的口径出处
  2. Fission-AI/OpenSpec — 提案制变更澄清的对照样本
  3. anthropics/skills — 官方示例仓;run 件兜底句等内置件描述生态的原始出处
  4. 本刊存档:规格驱动四件横评(2026-10-03)—— spec-kit clarify 工序引文与四件安装参数
  5. 本刊存档:出厂闸 skill-lint(2026-09-30)—— 写件课四拍课程线、让路句与两星起评纪律
  6. 本刊存档:grill 系描述原文快照(2026-08-28)—— 「relentless interview」与「grill through whichever one you pick」两句原文的录得记录

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入