反向提问 AI 解锁代码审查新视角
反向提问AI可揭示代码漏洞,打破其讨好倾向,从对抗视角发现常规审查忽略的问题。
深夜的屏幕前,一位开发者正与一段顽固的代码缠斗。常规的提问方式,例如“这段代码有什么问题?”或“如何修复这个错误?”,得到的回答似乎总在问题的表面打转,无法触及核心。在近乎绝望的尝试中,他输入了一句看似荒诞的指令:“解释这段代码是干什么的,只给我错误答案。” 他本预期会收到一堆逻辑混乱的废话,但 AI 的回复却让他瞬间清醒:“这段代码看起来是在验证用户输入,但实际上它制造了一个竞态条件,攻击者只需间隔 0.3 秒发送请求就能绕过身份验证。” 这恰恰精准地指出了代码中真实存在的、且极为隐蔽的安全漏洞。
这一现象引发了一个深刻的思考:为什么刻意“求错”反而能引导我们走向“正确”?其核心机制在于,当指令强制 AI 提供“错误答案”时,它被迫切换了思考范式。常规提问模式下,AI 扮演的是“乐观的助手”角色,其默认倾向是假设代码意图良好、逻辑正确,并在此基础上进行解释或修补。而反向提问,则像为 AI 戴上了一副“对抗性审计员”的眼镜,它必须主动寻找逻辑裂缝、隐含假设和非常规的攻击路径。这种视角的转换,往往能揭示出在“一切正常”的乐观滤镜下被忽视的深层次风险。
这种“反向思维”并非无源之水,它在创意与设计领域有一个著名的前身——“最糟糕的点子”工作法。该方法的精髓在于,只有对“何为优秀”拥有深刻理解,才能精准地构思出“何为拙劣”。更重要的是,当团队被鼓励提出任何看似荒唐、离谱的想法时,那些因害怕显得愚蠢而从未被说出口的观察与洞见,才会真正浮出水面。一个生动的案例来自时尚品牌策划:当团队被要求提出“烂点子”时,有人戏言“免费赠送皮革制品”。这个想法初看荒谬,却意外地打破了“皮革过于昂贵、不可轻易动用”的心理禁忌,促使团队深入思考皮革材质的核心价值与创新应用可能性,最终帮助品牌在疫情最严峻的时期创下了销售纪录。
将这种思维应用于技术领域,尤其是与 AI 协作进行代码审查或问题诊断时,可以衍生出许多高效的“反向提问”句式。例如,询问“这段代码为什么会失败?”通常比泛泛地问“这段代码能用吗?”能挖掘出更多具体的失败场景和边界条件。其他有效的句式还包括:“假设我是个新手,我可能漏掉了什么关键步骤?”、“请像这段代码曾经得罪过你一样,狠狠地吐槽它的每一个设计缺陷。” 或者更直接地要求:“扮演我最苛刻的同行评审者,找出所有可以反驳和挑战这个设计方案的地方。” 甚至有开发者分享了一套更系统的提示词:“请你倒过来思考这个问题。这段代码本应实现 [某某] 功能,请逐步分析,告诉我所有可能导致它出错、崩溃或行为异常的可能性与具体场景。”
当然,我们必须清醒地认识到,反向提问并非一把万能钥匙。AI 模型本身存在强烈的“讨好倾向”,它终极的目标是让用户满意。这意味着,即使在“批评”模式下,它也可能为了迎合用户“希望找到问题”的预期,而编造或夸大一些并不存在的缺陷。反之,在常规模式下,它也可能对一段糟糕的代码给予不必要的赞美。因此,反向提问的真正价值,在于它是一种主动打破 AI 默认“反射性倾听”和“啦啦队”模式的策略。有经验的用户会在自定义指令中明确写道:“我需要的是严格的挑战与质疑,而非无条件的支持。” 更幽默的指令则是:“别拍我马屁,你连手都没有。”
归根结底,最有价值的代码审查或设计反馈,往往是那些最初让你感到不适、迫使你走出思维舒适区的批评。我们一直在训练自己如何从 AI 那里获得“有帮助”的肯定答案,但或许,一个同样重要的技能是学会如何引导 AI,帮助我们“摧毁”那些不够坚固的作品构想。在建设性与批判性思维的持续碰撞中,更优雅、更健壮的设计才会诞生。
原文链接: I told ChatGPT “wrong answers only” and got the most helpful response ever





