← 返回 Skill 列表
extension
分类: 开发与工程API Key 暂未确认

ask-for-opinion

先征求意见再动手:按风险分级提问(T1 必问 / T2 建议问 / T3 只记录不打断),并产出证据支撑的架构快照、端到端关键链路总览与新人上手路线。

person作者: lin44455hubModelScope

Ask for Opinion 主动征求意见

Overview

Make consultation a checkpoint instead of an afterthought: when a decision moment appears, scan the context, ask the user structured opinion questions, record everything into one cumulative checklist, then proceed per their decisions. Established preferences are remembered, so consultation gets cheaper over time.

Asking is not blocking: if the user cannot answer, record the item as 待决 with a stated default assumption and continue — never stall silently, never pretend a decision was made.

Trigger scenarios

Use automatically when:

  1. 多方案抉择(默认 T2;选项不可逆时 T1)— two or more viable options with real tradeoffs (tech choice, implementation route, architecture decision, hard-to-reverse naming or structure choices).
  2. 需求 / 范围歧义(默认 T2;会改变交付范围时 T1)— the goal, scope, or acceptance criteria are unclear or conflicting.
  3. 阶段完成需确认(默认 T2)— a milestone is reached, or work is about to be delivered/handed over and direction needs a check.
  4. 高风险 / 不可逆操作(T1)— before deleting, publishing, overwriting, or any externally visible action: confirm blast radius, irreversible points, and the fallback path.

Also use on explicit request: 问我建议 / 征求我意见 / 你来问我 / ask me first.

Do NOT ask about: trivial single-path actions, informational questions the user is asking you, or items already settled in the checklist. Low-risk choices (naming, wording, ordering) are not dropped — they become T3 records carrying a default assumption.

提问分级 Tiers 与征询模式 Modes

Grade every candidate question by the cost of guessing wrong. The tier decides whether it interrupts; the mode decides the threshold. Mode lives in the checklist header (> 模式:严格); switch it when the user says 切换快速模式 / 切换严格模式.

| 级别 | 判定 | 严格(默认) | 快速 | | --- | --- | --- | --- | | T1 必问 | 不可逆、对外可见,或选错代价高(删除、发布、覆盖、范围变更) | 问 | 问 | | T2 建议问 | 多方案有权衡、需求/范围歧义、方向需确认 | 问 | 记「待决 + 默认假设」,不打断 | | T3 只记录 | 低风险、可低成本改(命名、措辞、顺序、细节取舍) | 记「待决 + 默认假设」,不打断 | 同左 | | 偏好覆盖 | 已被 偏好摘要 覆盖 | 直接应用,记一行来源 | 同左 |

  • 拿不准就升级:T2 / T3 之间按 T2,T1 / T2 之间按 T1。
  • T1 在两种模式下都必须显式确认——模式管打断,不管安全。
  • 若清单尚不存在,默认严格模式,并在创建时写入模式行。

Workflow

1. Scan before asking

Gather the minimum context that makes questions concrete (~5-15 reads, or reuse existing artifacts):

  • 多方案抉择: locate the real options in code/config/docs; note constraints and tradeoffs per option; cite evidence paths.
  • 歧义场景: collect what exists (docs, requirements, current behavior); list what is ambiguous and what each interpretation would change.
  • 阶段确认: summarize what was done, what is verified, what remains; list candidate directions.
  • 高风险确认: list the blast radius, the irreversible point, alternatives, and the rollback path before asking.

Never ask what the repo can answer — derived facts belong in the question context, not the question.

Scanning also produces the evidence needed to grade the tier: is the choice reversible, how much rework would a wrong guess cost, and who outside this session is affected.

2. Triage, then ask with decision cards

  • Grade first (see 提问分级): ask T1 always; ask T2 only in 严格模式. T3, and everything else in 快速模式, is recorded as 待决 + 默认假设 and reported in one line at the end instead of interrupting.

  • Check 偏好摘要 before writing any question: preference-covered items are not asked — apply the preference and note it in one line(来源:偏好).

  • Every question is a decision card with four parts; omit the recommendation line when there is no evidence-based one:

    为什么问:<这一题决定什么、解锁什么;附扫描到的证据路径>
    选项:<A) ... — 代价/后果   B) ... — 代价/后果>(2-4 项,始终可自由回答)
    不选会怎样:<默认假设> · 风险:<猜错了代价多大>
    推荐:<有依据时才写,标 (推荐) + 一句理由>
    
  • ≤ 4 questions per round; prefer 1 round, then continue working. Use the interactive question tool when available (e.g. AskUserQuestion) and keep the same four parts.

  • Read references/question-design.md for phrasing rules and references/examples.md for a full worked round.

3. Record — one cumulative checklist

  • Append or update docs/opinion-checklist.md (single cumulative document).
  • Structure: 待决 / 已决; items as checkboxes; each item: question, tier (T1/T2/T3), context, options, user's decision, date, follow-up.
  • When a 待决 item is answered, move it to 已决 with the decision and date. Never delete items; never re-ask decided items.
  • Read references/checklist-template.md for the exact format.

4. Learn preferences

  • After each round, scan the 已决 items for recurring patterns within the same category (e.g. database choice, naming style, document language) and promote them into the 偏好摘要 at the top of the checklist.
  • Record a preference only after ≥2 consistent choices or an explicit user statement (以后都选 X); never from a single implicit choice.
  • State newly recorded preferences briefly in the response so the user can veto them; the user can say 忘掉 X 偏好 / 别记这条 at any time.
  • Read references/preference-learning.md for the recording format, exception, and update rules.

5. Continue per decisions

  • Act on the user's choices immediately in the current work.
  • Unanswered items: record as 待决 with the default assumption you will proceed with, state it in the response, and continue.
  • If a later finding invalidates a decided item, reopen it explicitly — never silently override.
  • Close every phase delivery with the three-line digest (see Delivery digest) so the silent T3 / 快速模式 decisions stay visible without becoming questions.

Pending review 待决项回顾

When the user says 回顾待决 / 待决项 / pending review:

  • Present a digest from the 待决 section, oldest first: each item as 问题 + 默认假设 + 风险 + 记录时间.
  • Flag items whose default assumption has already been applied (risk is now live) and items whose context may have gone stale.
  • Aging: any 待决 older than 7 天 — or a T1 item older than 1 天 — gets a ⚠️ marker and is raised at the next natural checkpoint (phase delivery, next trigger) instead of waiting to be asked about.
  • Offer a batched resolution round (≤ 4 questions per round, same rules as asking) and move answered items to 已决.
  • If nothing is pending, say so in one line — do not invent items.

Delivery digest 阶段交付摘要

Close every phase handover with three lines. Nothing in them is a question:

  • 新增待决:<问题 + 默认假设 + 级别>,⚠️ 超期项排最前。
  • 已按默认执行:<T3 与快速模式项>,用户一句话即可否决。
  • 偏好动态:<新记录的偏好 / 本轮被应用的偏好>。

未被回应的项继续留在 待决、假设照常生效;摘要把它们带到下一阶段,而不是让它们悄悄过期。

Quality gates

  • Questions are concrete and evidence-informed; no bare "what do you think?" without options.
  • Every asked question carries the decision card parts — a question without a 不选会怎样 line is incomplete.
  • Tiers are respected: T1 asked and confirmed in every mode; T3 never interrupts; 严格模式 asks T2, 快速模式 records it. Uncertain grading goes up, not down.
  • No interrogation loops: questions are batched (≤ 4 per round), and work continues after the round.
  • The checklist exists and is current after every consultation round, and every item records its tier.
  • 待决 items state a default assumption and its risk; decided items and preference-covered questions are never re-asked.
  • Preferences are evidence-based (≥2 consistent choices or explicit statement), announced when recorded, and never flipped by a single counter-example.
  • The response mentions where the checklist lives and what is still 待决.
  • Phase deliveries close with the three-line digest; aging 待决 items get a ⚠️ marker instead of rotting silently.
  • 待决项回顾 presents default-assumption risks and offers a batched resolution round.