问AI“这段代码为什么报错”,它三秒给你一段修复代码。方便是真方便,但有个副作用:你越来越不知道自己到底在改什么。GitHub上有个叫Nietzschian Debugger的工具,反着来——它不告诉你答案,只不停向你提问,直到你自己把原因挖出来。
它的定位写得很直白:反AI调试器。名字取自德国哲学家弗里德里希·尼采(Friedrich Nietzsche),开发者借“困难让人变强”的思路,故意让使用者多费点劲。工具想解决的问题也很具体:AI给的代码直接用,开发者理解代码机制、理解故障成因的机会就少了。
这个担心不是空穴来风。AI开发企业Anthropic做过一项调查,结果显示,使用AI编码辅助的开发者,在测量学习内容理解程度的测试中,成绩低于没有使用AI的开发者。
用法很简单:你输入故障现象,它回你一个问题。比如你说“只有一部分用户登录时报403错误”,它会追问:“‘一部分用户’是模糊表述。出错的用户和没出错的用户,差别在哪?”
你要是回答“看起来是随机发生的”,它会继续顶:“‘随机’这个词,往往是在调查不够充分时用的。服务器日志里记了什么?”
顺着问题去查日志,你发现出错用户的认证令牌过期了。它接着问:为什么只有一部分用户的令牌会过期?直到你想起来——上周改令牌有效期时,没有让已有的登录状态失效。原因是你自己找到的。
提问的严厉程度分三档:
- socrates:面向新手,像苏格拉底那样用温和的提问帮你理清思路。
- nietzsche:标准模式,严格追问你的想当然和含糊解释。
- zarathustra:面向经验丰富的开发者,对依据薄弱的推理毫不留情。
它还能读取实际的源代码来提问,指定文件路径后,对话会围绕代码内容展开。工具也提供评估功能,衡量你验证了多少想当然、收集了多少有依据的信息。对话记录保存在本地,可以回看过去的排查过程。
最拧巴的一点:这个打着“反AI”旗号的工具,生成提问用的是Anthropic的AI模型Claude,运行需要Anthropic的API密钥。
开发者的说法是,别的工具给答案,Nietzschian Debugger把问题甩给你。比起AI直接给出答案的便利,它更看重开发者自己走到答案的那段路。
热门跟贴