Skip to content

Claude Code反向引导技巧:让AI自己提问第一轮就对上

2026年4月25日

Claude Code反向引导技巧:让AI自己提问第一轮就对上

以前三到五轮才能对上,现在第一轮就对上。那句话是:在开始之前,先问我你需要知道的问题。

底层矛盾

用Claude Code开发,有一个底层矛盾:

你知道你想要什么,但你不知道你遗漏了什么。

你描述了主流程,忘了边界条件。你说了要什么,没说不要什么。你定义了成功状态,没定义失败状态。

这些遗漏不是因为你粗心,是因为你在描述需求时,脑子里已经默认填补了那些空白——但它没有。

解决方案:让它主动提问,是目前解决这个矛盾最有效的方法。

反向引导的三种用法

用法一:需求启动时的"问题清单"

最基础的用法,开始一个新功能时。

标准Prompt

我要实现一个功能:[一句话描述]。在你开始任何实现之前,先列出你需要了解的所有问题,确保完全理解需求。问题列完之后等我回答,不要自己假设。

关键是最后那句"不要自己假设"。不加这句话,它有时候会列出问题,然后自己回答,然后直接开始写代码——等于绕过了你。

实测案例:优惠券系统,它问了九个问题:

问题你是否想到了
优惠码是固定折扣还是百分比折扣?✅ 想到了
同一个用户能用多次同一张优惠码吗?✅ 想到了
优惠码有没有使用次数上限(全局)?✅ 想到了
优惠码可以叠加吗?❌ 没想到
过期优惠码提示什么信息?❌ 没想到
前端验证还是后端验证?❌ 没想到(关键!)
作用于哪个环节?Checkout还是Stripe?❌ 没想到
是否需要记录使用历史?❌ 没想到
后台能否管理优惠码?❌ 没想到

重要发现:"前端验证还是后端验证"这个问题尤其关键——如果只在前端验证,有人改JavaScript就能绕过去。用户没想到,AI问出来了。

用法二:复杂bug的"诊断式提问"

遇到难以定位的bug,不要直接把错误扔给它让它猜。

标准Prompt

我遇到一个bug,[一句话描述现象]。我不确定是哪里的问题。你需要哪些信息才能帮我定位它?列出你的问题,我来回答。

它会问你:

问题作用
每次都复现还是偶发?判断稳定性
在什么操作之后出现?定位触发条件
前端还是后端报错?确定范围
最近有没有修改相关代码?回溯变更
数据库相关字段当前状态?查看数据

价值:这些问题本身就是一个排查清单。你回答的过程里,有时候答到一半自己就发现问题了。

用法三:方案设计前的"假设暴露"

最高阶用法,最容易被忽视。

标准Prompt

我要做 [功能描述]。在你给出方案之前,先列出你在设计这个方案时会做的所有假设——关于用户行为、技术环境、边界条件的假设。列完之后我来确认哪些是对的,哪些需要纠正。

实测案例:多时区支持功能,它列出的假设里有:

假设用户的时区信息在注册时已经收集并存储在数据库里。

实际系统根本没存这个字段,是实时从浏览器获取的。这个假设如果没有被暴露,整个方案会设计成"从数据库读时区",而实际上需要"从请求头读时区"——两种实现方式差很多。

出海产品尤其重要:AI对"北美英语用户"有根深蒂固的默认假设:

  • 货币是美元
  • 时区是UTC-5到UTC-8
  • 日期格式是MM/DD/YYYY

如果你的产品面向其他市场,这些假设全部要被纠正。

控制提问质量:三条调节技巧

让它问问题,不等于让它漫无目的地问。

技巧一:限定问题类型

只问和技术实现直接相关的问题,不问业务背景类的问题(业务背景我已经在CLAUDE.md里说清楚了)

技巧二:设定问题数量上限

最多问5个最关键的问题,不够关键的不用问

很重要:不加限制的话,它有时候会问十几个问题,其中一半是可以推断的,浪费你的时间。

技巧三:要求问题排优先级

列出你的问题,按重要程度排序,最先列最影响技术方案的问题

加了之后,如果你时间紧,可以只回答前三个问题,后面的它会基于上下文合理推断。

进阶用法:需求确认书

反向引导的完整版流程:

问题清单 → 你的回答 → 它生成需求确认书

第三步Prompt

好,基于我的回答,给我一份需求确认书。内容包括:
- 功能描述(你理解的版本,不是我说的原话)
- 边界条件列表
- 你将要做的假设(你自己确认过的)
- 不在本次范围内的内容

我确认这份文档之后,你再开始实现。

隐性价值:这份文档是这次任务的上下文摘要。如果中途开新会话,把这份文档贴进去,新会话里的它立刻就知道这个任务的所有背景。

踩坑环节

坑一:它问了但自己回答了,直接开始写代码

一段时间Prompt是"先问我你需要知道的问题",没有加"等我回答"。

结果它列出问题清单,然后在每个问题后面自己猜答案,然后说"基于以上假设,我的实现方案是……"——直接绕过了用户。

解决方案:Prompt里明确加一句:

列完问题之后停下来,等我逐条回答,不要自己假设答案。

坑二:问题太泛,像在走流程

有一次针对Webhook功能提问,它问了一堆"请问您的技术栈是什么"、"请问有什么特殊要求"。

这种问题是废话——技术栈在CLAUDE.md里,特殊要求根本没法回答。

解决方案:在让它提问之前,先明确说:

CLAUDE.md里已有的信息不用问,只问和这个功能的边界条件、错误处理、数据格式相关的问题。

总结

让它提问,本质是把"你猜我想要什么"变成"我告诉你你不知道的事"。

对比之前现在
流程写Prompt→等输出→发现遗漏→补充→再等说一句话→让它问→回答→第一轮对上
轮数3-5轮1轮
盲点你不知道你遗漏了什么它的问题照亮你看不到的地方

学会让它问,比学会怎么描述需求更有价值。


关键词:Claude Code, 反向引导, 提问技巧, 需求确认, bug诊断, 方案设计

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来