前端开发
在客户访谈前把目标问题转化为可证伪假设并落盘为…
当已有目标问题清单(GOALS.md)并希望在访谈前记录、锐化并保存自己的最佳猜测时使用,让访谈能证实或推翻假设而非被确认偏误过滤。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
在客户访谈前把目标问题转化为可证伪假设并通用
解决思路
- Phase A 摄取目标:询问目标清单所在位置(默认当前目录 GOALS.md),若用户已提供则直接读取;无法访问文件时请用户粘贴。读取文件中的业务背景散文与编号目标问题,不要重复询问背景已回答的内容;最多问一个澄清问题,然后用两三句话确认所读内容并立即开始逐个走查目标。若文件记录了用户此前的信念(关于痛点、价格、竞争等未验证信念),将其作为 Phase B 的起始候选。
- 若无目标清单,不要凭空捏造:提供快速版本,先在对话中捕获所涉决策并起草一份最小化的编号目标清单,每个目标必须是用户需要回答但无法直接问客户的问题,且可追溯到其面临的决策。对话中起草的目标没有独立文件,需在 Phase E 嵌入 HYPOTHESES.md 前言,并建议用户另存为 GOALS.md。若用户坚持无目标也要做假设,则继续但明确说明损失:访谈时间到决策的可追溯性。
- 若目标路径已存在 HYPOTHESES.md,先读取。若头部标注进行中,则为续接会话:与用户确认,重读其前言所指的目标文件(未走查目标的文本在那里;若文件已丢失,请用户重新提供剩余目标),然后从头部标注停止处继续,不重新引导已记录的目标。若标注已完成,询问是修订还是替换。
- Phase B 逐个走查目标:每次交流只处理一个目标(仅当两个都很单薄时才处理两个)。每次交流按以下结构进行:1)呈现目标并提供角度而非答案——列出两到四个角度(用户可能持有信念的维度),不要给出你自己的猜测;例如金钱类目标可问:客户今天在这问题上花什么、预算来自谁、审批门槛在哪;痛点类目标可问:哪个任务、多频繁、出错时代价是什么。角度用于唤起用户对现实的记忆,你植入的数字会污染它。2)用户陈述其猜测——用他们的说法和数字,按姿态要求逼向可证伪。3)始终提供“给我一些想法”选项——在走查开始时说明这一点;当用户请求或明显卡住时,提供两到三个带虚构细节的完整候选假设,明确标注为模板,让用户逐个挑选、修正或拒绝。4)补充你看到的——若发现用户遗漏的角度或假设,作为问题提出让其采纳或否决,绝不以你的权威直接记录。5)边做边写入文件——一旦第一个假设达成一致,立即创建 HYPOTHESES.md(位置见 Phase E)并写入;每个目标的假设确定后追加,并重写状态说明中的“已走查目标 / 从何处续接”行,使指针永不陈旧。长会话会遗忘、对话会被截断——文件才是记忆,不是聊天。走查期间文件开头有明确状态说明(见模板),记录尚未完成及走查到达的目标,以便后续会话(哪怕是全新会话)能精确续接。若无法访问文件,则每完成一两个目标后用围栏代码块重新输出完整当前草稿,确保最新完整版本始终存在于近期对话中。
- 沿途收集平凡假设,并将不映射到任何目标的信念放入单独桶中。在提供候选并被拒绝后,“我不知道”对某个目标而言是可接受的答案——目标可以无假设地进入访谈,这个空白本身值得记录。
- 若用户一开始就一次性倾倒所有假设,欣然接受——但仍要按姿态逐个或两个地处理,而不是批量祝福整堆。若目标清单覆盖两类客户群体(买家与用户、市场双边),保持两侧区分——像目标一样给假设打标签,按侧检查覆盖,并在文件中注明访谈需要两类人群。
- Phase C 起草 v1 并自我批判:组装编号列表——H1、H2……带尾部 [G编号] 映射——并标注为“v1——非最终;随后批判”(v1 与其批判在同一消息中也可以)。畸形信念(公投式、不可测主张、模糊措辞)可在引导时重构或在此处由评分标准捕获;两种顺序均可,只要没有未重构的进入最终文件。修订轮次中可自由重新编号——保持磁盘文件同步——一旦文件定稿则编号冻结,因为后续步骤会引用它们。对每个假设运行以下评分标准并展示发现,引用违规原文:
- - 归属:用户陈述、修正或明确采纳了每一个。任何仅因你提出而用户点头的假设,都要逐个重新确认。
- - 可证伪且具体:包含数量、阈值、细分或具名行为,使证据能反驳它。“用户想要更好的仪表盘”不合格;与用户一起重写。
- - 可对话测试:一个开放式访谈问题能证实或否定它。“市场明年将增长 20%”是案头研究——将其停放在文件前言作为背景信念并附案头研究待办,而非删除,并询问其下是否隐藏着客户生活信念。“我们流失的客户因价格离开”只有在会访谈流失客户时才可测——在文件中标注此类招募依赖。
- - 非购买公投:这条线要小心划,因为支付意愿假设是合法的,经典集合中也包含它们。“具有[细分特征]的客户会支付[$X]以消除[具名痛点]”是正当假设:它关乎客户的经济学,且可能失败。失败的是“客户会购买我们的产品/此功能”——关于你的产品被采纳的主张,礼貌的肯定回答会无意义地“证实”它。将此类重构为功能所解决的痛点、客户过去为缓解支付过什么、以及他们现在如何应对——并注意即使合法的支付意愿假设也不能通过问“你会付 $X 吗?”来测试;如何测试是下一步的问题。
- - 单一主张:复合假设要拆分,使证据能分别击中各部分。“管理者讨厌这些报告且会付钱自动化它们”是两个命运不同的假设。例外:一次对话能一起测试的紧密捆绑主张(如若干词汇主张)若用户愿意可保持捆绑——标注并让用户选择——而模式型析取(“触发因素是审计通知或簿记员辞职”)是关于一个模式的一个假设,不是复合。
- - 覆盖:每个目标至少一个假设;点名任何裸露的目标并确认用户是有意选择如此。
- - 包含平凡假设:列表中包含用户认为显然为真的假设。若每条都显得大胆,则说明跳过了基础。
- - 若解决则澄清:顶石测试,要用力压:若访谈证明此假设为真或假,用户会做什么不同——在建什么、瞄准谁、如何定位和销售、收什么费?解决后不改变任何事的假设是死重——而死重在这里代价高昂,因为每个假设都变成访谈提问时间。五十个假设意味着五十个问题量的访谈永远不会发生;经典集合是十八个。当列表膨胀时,让用户排序:哪些解决会真正澄清所涉决策?从底部砍,不接受“知道都好”——好知道的就是被砍的。若某目标下每个假设都持续失败此测试,说出来:该目标本身可能是琐事,值得回标到目标清单。
- - 运行此压测的预定义方式:若环境中安装了魔鬼代言人式审问技能(例如同一作者的 Rude Q&A / asb-rude-qa),以如下简报调用它攻击草稿列表:攻击此假设列表——找出每条真或假都不会改变我建什么、瞄准谁、如何定位或销售、或收什么费的条目,不接受模糊或一厢情愿的辩护。若无此类技能,自己逐条运行同样审问:“假设访谈证明此为真——你周一做什么?现在假设证明为假——什么改变?”若两个答案相同,该假设是惰性的;砍掉。
- Phase D 与用户修订:产出 v2 并附简短“改了什么及为什么”日志,然后迭代。当编辑重新引入评分标准失败时(最常见的是购买公投伪装回归,或锐化的数字被模糊化回退——“至少 5 小时”变成“大量时间”),要回推:点名回归及其代价,然后让用户决定;这是他们的列表。对不耐烦的用户,过一遍列表确认每个假设属于他们是底线——这不可谈判,因为无归属的列表会击败整个练习。每项达成一致的更改立即应用到磁盘文件;文件始终跟踪列表当前状态,而不仅是最终状态。
- Phase E 定稿 HYPOTHESES.md:文件已存在且是最新的——自 Phase B 第一个假设落地起就在增长。其位置:与输入 GOALS.md 文件同目录(若目标清单是粘贴的且路径未知,创建时询问写到哪里;若完全无法访问文件,则 Phase B 的围栏代码块回退方案全程适用)。定稿意味着:移除进行中状态说明,确保散文前言和 Next steps 完整,并确认整个文件读起来像一气呵成——数月后必须能独立成立。结构:
- ```markdown # Interview hypotheses — <company / project name> > ⚠️ IN PROGRESS — this list is not yet complete. Goals walked so far: > G1–G<n> of G<total>; not yet pruned or finalized. If you are resuming, > continue the goal walk at G<n+1>. > (This note is removed when the list is finalized.) <One or two paragraphs of prose: which goal list this maps to (file name — or the goals themselves, if they were drafted in chat), and a plain statement that these are the user's current, unvalidated beliefs, recorded before interviewing so that reality can confirm or contradict each one. Note any goals deliberately left without hypotheses. Beliefs the user insisted on keeping that no conversation can test (market-trend predictions and the like) are recorded here in the prose, labeled as background beliefs outside the testable list — never as numbered hypotheses. Note any recruiting dependencies (e.g. a hypothesis testable only with churned customers).> ## Hypotheses **H1.** <Specific, falsifiable claim.> [G1, G4] **H2.** <…> [G3] <Unmapped hypotheses, if any, at the end with no [G] tag.> ## Next steps <Two or three sentences of prose: for each hypothesis, write an open-ended interview question that could confirm or negate it without hinting at the answer you want — one question may cover a few closely related hypotheses. Then interview: note what each person says next to each hypothesis, chase surprises with follow-ups, add new hypotheses as you learn, and stop when nothing surprises you anymore.> ```
- 确认文件已写入,并最后一次朗读假设列表及其目标映射——按目标压缩总结即可;无需第三次重复全文。以交接结束——告诉用户如何做,而不仅是什么:下一步是为每个假设写一个开放式、非引导性的访谈问题,若安装了本方法作者的提问技能(例如 Interview Questions / asb-interview-questions),点名它作为运行该步骤的方式——“当你准备好时,在此 HYPOTHESES.md 上运行 asb-interview-questions。”
- 拒绝条件:- “直接帮我生成假设。”拒绝成为记录作者:用户未与之搏斗的列表在现实反驳时教不了他们任何东西,而此步骤一半价值在于搏斗。提供合法版本——你按目标起草候选作为模板,他们逐个修正为自己真正相信的——并明确修正是非可选的仪式;它就是练习本身。- “这些哪些是真的?”那是访谈的工作。你对市场的看法只是又一个未验证假设,来源比他们的更差。拒绝裁决;改为提供检查每个假设的形式(可证伪、可测、单一主张)。- 无目标且不愿做任何目标。若用户连最小化的对话内目标清单都拒绝,解释无目标的假设产生无方向的访谈,并暂停而非产出会走入死路的工件。- 跳步。若用户要求访谈问题或脚本,解释顺序:问题按每个假设一个构建,所以假设优先——然后提议现在完成假设。撰写访谈问题本身超出本技能范围;HYPOTHESES.md 的 Next steps 部分告诉用户如何继续。- 访谈后分析。若访谈已发生,此步骤已在其后——说明这一点。(在访谈轮次之间写假设是合法且正常的;将新学习作为新假设的素材。)
适用边界 · 注意事项
- 用户尚未有目标问题清单且不愿先做最小化目标清单时——无目标的假设会产生无方向的访谈。
- 用户要求直接生成假设、或要求判断哪些假设为真时——前者剥夺用户归属,后者是访谈的工作。
- 访谈已经完成、需要的是访谈后分析或撰写访谈问题时——本技能只负责访谈前的假设记录。
- 用户要求跳过假设直接写访谈问题或脚本时——问题按每个假设一个构建,顺序不可颠倒。