assumption-checker
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAssumption 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:
| Level | Meaning | Action |
|---|---|---|
| VERIFIED | Checked and confirmed | Proceed |
| VERIFIABLE | Can be checked with a tool/command | Check now |
| UNCERTAIN | Cannot be verified, open to interpretation | Ask the user |
| RISKY | If wrong, causes significant damage | Must ask |
为每个假设分配置信度等级:
| 等级 | 含义 | 操作 |
|---|---|---|
| VERIFIED | 已检查并确认 | 继续执行 |
| VERIFIABLE | 可通过工具/命令检查 | 立即检查 |
| UNCERTAIN | 无法验证,存在多种解读 | 询问用户 |
| RISKY | 若假设错误,会造成重大损失 | 必须询问 |
Output Format
输出格式
Task Start Scan
任务启动扫描
ASSUMPTION CHECK — Task Start
Assumptions found: N
Verified: N | Checking: N | Need to ask: NASSUMPTION CHECK — Task Start
Assumptions found: N
Verified: N | Checking: N | Need to ask: NTechnical
Technical
| Assumption | Confidence | Action |
|---|---|---|
| [assumption] | VERIFIED/VERIFIABLE/UNCERTAIN/RISKY | [action] |
| Assumption | Confidence | Action |
|---|---|---|
| [assumption] | VERIFIED/VERIFIABLE/UNCERTAIN/RISKY | [action] |
Data
Data
| Assumption | Confidence | Action |
|---|---|---|
| [assumption] | ... | [action] |
| Assumption | Confidence | Action |
|---|---|---|
| [assumption] | ... | [action] |
Business Logic
Business Logic
| Assumption | Confidence | Action |
|---|---|---|
| [assumption] | ... | [action] |
| Assumption | Confidence | Action |
|---|---|---|
| [assumption] | ... | [action] |
User Intent
User Intent
| Assumption | Confidence | Action |
|---|---|---|
| [assumption] | ... | [action] |
[Verifiable assumptions being checked now...]
[Questions for uncertain/risky assumptions:]
? [Question 1]
? [Question 2]
undefined| Assumption | Confidence | Action |
|---|---|---|
| [assumption] | ... | [action] |
[Verifiable assumptions being checked now...]
[Questions for uncertain/risky assumptions:]
? [Question 1]
? [Question 2]
undefinedPre-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 (risk gates) and
checkpoint-guardian(plan validation).task-decomposer
- 对于不可逆操作,无论任务简单与否,绝不能跳过假设检查。
- 扫描内容保持简洁——使用表格格式,而非段落。
- 先验证再询问——不要向用户询问你自己可以检查的内容。
- 跨技能兼容:可与(风险闸门)和
checkpoint-guardian(计划验证)配合使用。task-decomposer