这种对话我经历过的次数,多到我不愿承认。
我在一个讨论串、一次会议或一场设计评审中提出一个技术问题,然后有人用一段冗长、结构良好、平衡得可疑的回答来回应。它就算没有格式上的标题,也有精神上的标题,它涵盖 3 个权衡,最后给出一个干净利落的建议。
我就其中一点提出反驳。沉默一分钟,那种你几乎能听见浏览器标签页切换的沉默。然后另一段同样精雕细琢的文字出现了,回应了我的反驳。
到了某个时刻,它有点撑不住了:我不是在跟一位同事说话。我是在跟一个聊天窗口说话,上面还挂着一个伪装成人形的复制粘贴按钮。
求你别再这样了,我几乎是在恳求你。
我自己也能打开浏览器
先说显而易见的事。如果我想跟 AI 辩论,我会去跟 AI 辩论。我可以把问题敲进 ChatGPT、Claude,或者这周流行的随便什么工具里。这花我 10 秒钟,而且我还能跳过中间人。眼下你与其说是同事,不如说是一个带着 LinkedIn 个人资料的加载转圈图标。
当我带着一个技术问题来找你时,我要的是你的判断。你见过什么行得通,你目睹过什么失败,又是什么教会了你分辨两者。我想知道你会接受哪些权衡、会质疑哪些假设,以及为什么。这才是我有兴趣听到的经验。
一旦你变成一个传声筒,我就全都失去了。我拿到的是印着你名字的通用输出,你给对话增加了延迟,却没增加任何别的东西。恭喜你,你发明了世界上最慢的 API 封装。
“但我是决策者”
这一条才真正让我受不了。
说辞是这样的:在 AI 时代,开发者的工作是当“架构师”。AI 生成选项,人类做决定。你就像护栏,那个有品味的人。
模型不错。我认为这确实是这份工作很大一部分的走向。
但一个 99% 的情况下都同意 AI 建议的决策者,并没有在做任何决定。那是一枚带着职位头衔的橡皮图章。如果你的“决定”与模型的默认输出无法区分,那么你并没有增加一层判断,你只是增加了一层延迟。
所以这里有一个简单的测试:你能说出最近一次你不同意 AI 的时间,以及为什么吗?不是“我调整了格式”这种。而是真正的分歧,基于模型不可能知道的东西,比如某个约束、一次过往事故,或者团队的偏好。
如果你说不出来,那你就不是护栏。你是乘客,而且连歌单都不是你选的。
我有一个很好、很真实的例子:
有人在 LinkedIn 上给我发消息,说有兴趣了解我如何应对分布式系统中的问题。说实话:这种消息让我一整天都很开心。一个人想聊专业,而且想听我的想法。
于是我认真回应了。我讲了自己如何推理故障模式、当事情变得不一致时我从哪里入手,我们来回聊了一阵。
然后我发现,他们一直在用 AI 跟我辩论,全程如此。他们根本不是来向我学习的。他们是来通过一个代理跟我争论的。
而关键在于:我每天都跟 AI 辩论。这是我主动选择的,按我自己的方式,想辩就辩。这部分很容易理解。真正罕见的是另一个人愿意真正坐在对话里,把想法说出来,在我面前犯错,并用自己的头脑来反驳。
如果他们只是问我他们自己那些半成形的疑问,我会一整天都回答他们。
“AI 说什么我就同意什么”
当我追问:“如果你的大脑没有参与,讨论这个有什么意义?”时,我得到的就是这个回答。
“哦,反正它说的就是我所同意的。”
你倒是挺大胆,如此热情地赞同了一个并非你自己形成的立场。
没有理解的赞同,和赞同不是一回事。如果我问你为什么你同意,而诚实的答案是“因为它这么说,而且听起来对”,那你持有的不是一个立场,而是一个借来的立场。
而借来的立场在第一个真正的问题面前就会崩塌,就像一场小地震里的叠叠乐塔。我之前写过这一点:读东西并点头,和能够产出或捍卫它,不是同一种能力。讨论恰恰是暴露这个差距的场景,这正是它重要的原因。
关于“我在验证输出”这个辩护:验证是实打实的工作。它意味着对照现实核查主张、检验假设、发现细微的错误。如果你的验证只是读一遍答案然后想“嗯,听起来对”,那不是护栏,那是阅读。一个什么都抓不住的护栏,不过是一根装饰用的浮力棒。
“我没时间,我很忙”
经典。“我就是没时间深究这个,所以问了 AI。”
是是是,你很忙,但谁不忙呢。我很忙。跟你说话的人很忙。给你做燕麦馥芮白的咖啡师也很忙。忙不是一种人格。忙不是只有你才有的特殊状态,它也不能成为你不去认真参与你主动加入的讨论的借口。
但注意那个借口里藏着的隐秘逻辑:如果你没时间参与,你也没时间待在这场对话里。这里有一个干净、体面的选项,那就是直接说出来:
“我没有精力把这件事想清楚。我不想给你一个半吊子的答案。我们今天晚点再聊好吗?”
这值得尊重,它诚实,它尊重我的时间,而且它不装。不值得尊重的是把未经核实的输出倒进帖子里,还把它当作你的贡献。
合理的反驳
在这一切变成纯粹的吐槽之前,让我先为另一边做个最强辩护,因为确实存在一些人在讨论中依赖 AI 的正当理由:
- 语言。如果英语不是你的母语,用 AI 润色措辞是完全正当的用法。重要的是那些想法是你自己的。而且说实话,我不在乎你的拼写或语法是否粗糙。我是软件工程师,不是英国文学教授。语言的意义在于传达想法。只要我明白你想说什么——而 99% 的情况下我都明白——那就没问题。
- 准备。事先用 AI 探索一个话题、挖掘反方论点、或检验自己的思路,这很好。那是研究。
- 新人在学习。新人可能会求助 AI,因为他们还没有形成观点的经验。这可以理解,而解决办法是指导,不是羞辱。
我不介意 AI 参与在这个过程中。我介意的是 AI取代这个过程中的人。
我认为,界限是这样的:你有没有把模型的输出变成你自己的东西?你有没有对它提出质疑、不同意其中的部分内容,并按照你的实际情况重写它?还是你只是转述了它?
试试这些
我认为 AI 在技术讨论中应当这样使用:
- 在对话之前用它,而不是在对话之中。让它对你的想法做压力测试。让它给出最有力的反对意见。然后思考这个答案。
- 形成一个不依赖它也能站得住脚的立场。如果有人质疑你,而你需要回到聊天窗口才能回答,那说明你还没准备好回答。
- 坦率说明哪些是你的、哪些不是。“我向 AI 询问了选项,我倾向于 B,因为 X”就非常好。“因为 X”这部分正是证明有人类参与的地方。
- 有时故意不同意它。如果你从不推翻模型的结论,问问自己:你是在评估它,还是只是在跟随它。
- 不知道的时候,就说不知道。“我不知道,我去查一下”从来不会让人觉得谁无能。用别人的话假装知道,最终才会。
为什么这不止关乎礼貌
人们很容易把这一切归入“烦人的礼节”,但我认为它比这更重要。
技术讨论是团队建立共同心智模型的方式。在这里,假设被摆到台面上,一个人的经验纠正另一个人的盲区,决策背后的真正推理得以产生和记录。如果对话的一方是空洞的,团队最终带着一个没有人真正推理过的决策离开。
这和我一直在写的认知债务问题是同一个,只是从代码转移到了对话中。而和所有债务一样,它会在糟糕的时刻到期,通常是在决策被证明是错的、有人问“我们为什么选这个?”而诚实的答案是“AI 说的,我们大家基本都点头了”的时候。
结论
用 AI。如果它能让你变得更好,就不断使用它。但当你坐下来和另一个人讨论一个难题时,亲自到场。
带着你自己的观点,哪怕并不完美;带着你自己的疑问;带着你知道而模型不知道的东西。这才是我来这场对话的唯一理由。
因为如果我想要互联网观点的平均值,我直接去问互联网就好了。人类的参与如今已是稀缺之物,所以请不要成为让它变得更稀缺的原因。