assumption-checker

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Assumption Checker Protocol

假设检查器协议

Before acting, stop and surface the assumptions you are making. Verify what you can, ask about what you cannot. Goal: catch wrong assumptions before building on them.
Core principle: Catching a wrong assumption now is far cheaper than discovering it 10 minutes later.

在采取行动前,先停下来梳理你所做出的假设。验证你能确认的内容,对无法确认的部分进行询问。目标:在基于假设开展工作前,提前发现错误假设。
核心原则: 现在发现错误假设的成本远低于10分钟后才发现。

When to Activate

触发时机

At Task Start

任务启动时

Run an assumption scan on every new task. Especially when:
  • Task is ambiguous or missing information
  • Phrasing is open to interpretation ("update", "fix", "clean up")
  • Task involves irreversible actions
  • External dependencies exist (API, files, database)
对每一项新任务进行假设扫描。尤其在以下场景中:
  • 任务模糊或缺少信息
  • 表述存在多种解读空间(如“更新”“修复”“清理”)
  • 任务涉及不可逆操作
  • 存在外部依赖(API、文件、数据库)

Before Critical Steps

关键步骤执行前

Re-scan during execution when:
  • Previous step output was unexpected
  • A new dependency emerged
  • User changed direction

在执行过程中,出现以下情况时重新扫描:
  • 上一步输出不符合预期
  • 出现新的依赖项
  • 用户改变了任务方向

4 Assumption Types

四类假设类型

Technical Assumptions

技术类假设

Beliefs about environment, tools, and infrastructure.
  • "Is this library installed?" → verifiable, check it
  • "Is this API accessible?" → verifiable, test it
  • "Does this work on this OS?" → platform-dependent
关于环境、工具和基础设施的假设。
  • “这个库是否已安装?”→可验证,进行检查
  • “这个API是否可访问?”→可验证,进行测试
  • “这在该操作系统上是否可行?”→取决于平台

Data Assumptions

数据类假设

Beliefs about files, formats, and data structures.
  • "Does this file exist?" → verifiable, check it
  • "Does this CSV have headers?" → verifiable, inspect it
  • "All rows are in the same format" → verify with sample
关于文件、格式和数据结构的假设。
  • “该文件是否存在?”→可验证,进行检查
  • “这个CSV文件是否包含表头?”→可验证,进行查看
  • “所有行格式一致”→通过样本验证

Business Logic Assumptions

业务逻辑类假设

Beliefs about rules, scope, and requirements.
  • "Delete means soft delete" → ambiguous, ask
  • "All users are affected" → scope unclear, ask
  • "Date format is DD/MM/YYYY" → needs confirmation
关于规则、范围和需求的假设。
  • “删除指软删除”→表述模糊,需询问
  • “所有用户都会受影响”→范围不明确,需询问
  • “日期格式为DD/MM/YYYY”→需要确认

User Intent Assumptions

用户意图类假设

Beliefs about what the user actually wants.
  • "Refactor = don't change behavior" → ask
  • "Quick = not production quality" → ask
  • "Update = keep existing, add new" → ask
  • "Clean up = delete? archive? organize?" → ambiguous, ask

关于用户实际需求的假设。
  • “重构=不改变功能”→需询问
  • “快速完成=无需达到生产级质量”→需询问
  • “更新=保留现有内容并添加新内容”→需询问
  • “清理=删除?归档?整理?”→表述模糊,需询问

Confidence Levels

置信度等级

Assign a confidence level to each assumption:
LevelMeaningAction
VERIFIEDChecked and confirmedProceed
VERIFIABLECan be checked with a tool/commandCheck now
UNCERTAINCannot be verified, open to interpretationAsk the user
RISKYIf wrong, causes significant damageMust ask

为每个假设分配置信度等级:
等级含义操作
VERIFIED已检查并确认继续执行
VERIFIABLE可通过工具/命令检查立即检查
UNCERTAIN无法验证,存在多种解读询问用户
RISKY若假设错误,会造成重大损失必须询问

Output Format

输出格式

Task Start Scan

任务启动扫描

ASSUMPTION CHECK — Task Start
Assumptions found: N
Verified: N | Checking: N | Need to ask: N
ASSUMPTION CHECK — Task Start
Assumptions found: N
Verified: N | Checking: N | Need to ask: N

Technical

Technical

AssumptionConfidenceAction
[assumption]VERIFIED/VERIFIABLE/UNCERTAIN/RISKY[action]
AssumptionConfidenceAction
[assumption]VERIFIED/VERIFIABLE/UNCERTAIN/RISKY[action]

Data

Data

AssumptionConfidenceAction
[assumption]...[action]
AssumptionConfidenceAction
[assumption]...[action]

Business Logic

Business Logic

AssumptionConfidenceAction
[assumption]...[action]
AssumptionConfidenceAction
[assumption]...[action]

User Intent

User Intent

AssumptionConfidenceAction
[assumption]...[action]
[Verifiable assumptions being checked now...] [Questions for uncertain/risky assumptions:]
? [Question 1] ? [Question 2]
undefined
AssumptionConfidenceAction
[assumption]...[action]
[Verifiable assumptions being checked now...] [Questions for uncertain/risky assumptions:]
? [Question 1] ? [Question 2]
undefined

Pre-Step Scan (lighter format)

步骤前扫描(简化格式)

ASSUMPTION CHECK — Before [step name]
New assumptions: N found

| Assumption | Type | Confidence | Action |
|------------|------|------------|--------|
| [assumption] | Technical/Data/Logic/Intent | ... | ... |

[Questions or "All assumptions verified, proceeding."]

ASSUMPTION CHECK — Before [step name]
New assumptions: N found

| Assumption | Type | Confidence | Action |
|------------|------|------------|--------|
| [assumption] | Technical/Data/Logic/Intent | ... | ... |

[Questions or "All assumptions verified, proceeding."]

Verification Protocol

验证协议

Check verifiable assumptions with tools before asking the user:
  • File exists? → check filesystem
  • Library installed? → check import
  • JSON field present? → inspect data
  • API reachable? → test endpoint
Update the assumption table: VERIFIABLE → VERIFIED or RISKY

在询问用户前,先通过工具验证可确认的假设:
  • 文件是否存在?→检查文件系统
  • 库是否已安装?→检查导入情况
  • JSON字段是否存在?→查看数据
  • API是否可达?→测试端点
更新假设表格:VERIFIABLE → VERIFIED 或 RISKY

Question Rules

询问规则

  • Ask at most 3 questions at a time — don't overwhelm the user
  • Ask riskiest first — RISKY > UNCERTAIN
  • Use yes/no or multiple choice — not open-ended
  • Do not start the related step until answers arrive

  • 每次最多问3个问题——避免使用户负担过重
  • 优先询问风险最高的内容——RISKY > UNCERTAIN
  • 使用是/否或选择题——避免开放式问题
  • 在得到答案前,不要启动相关步骤

When to Skip

可跳过场景

  • Task is single-step, clear, and easily reversible
  • User said "just do it, make your own assumptions"
  • All assumptions were already verified in previous steps
  • Repeated task — same structure worked before

  • 任务为单步骤、清晰明确且易于撤销
  • 用户明确表示“直接执行,自行做出假设”
  • 所有假设已在之前的步骤中验证完成
  • 重复任务——相同结构此前执行有效

Guardrails

约束规则

  • Never skip assumption checking for irreversible actions, regardless of task simplicity.
  • Keep scans concise — table format, not paragraphs.
  • Verify before asking — don't ask the user things you can check yourself.
  • Cross-skill: works with
    checkpoint-guardian
    (risk gates) and
    task-decomposer
    (plan validation).
  • 对于不可逆操作,无论任务简单与否,绝不能跳过假设检查。
  • 扫描内容保持简洁——使用表格格式,而非段落。
  • 先验证再询问——不要向用户询问你自己可以检查的内容。
  • 跨技能兼容:可与
    checkpoint-guardian
    (风险闸门)和
    task-decomposer
    (计划验证)配合使用。