选择何时使用(或不使用)LLM作为开发人员

2024-08-02 11:00:19 浏览数 (2)

与所有形式的增强一样,策略性地避免也是一个好主意。

译自 Choosing When To Use (or Not Use) LLMs as a Developer,作者 Jon Udell。

“我的女儿永远不会知道迷路的感觉。” 我忘记是谁大约 10 年前说的这句话了,但这句话深入人心,随着我们越来越深刻地被科技增强,这句话的共鸣也越来越深。当然,说话者指的是,几乎所有 15 岁以下(现在是 25 岁)的人,都离不开我们过时地称为手机的掌上 GPS 导航设备。

当然,在移动设备的小屏幕上缩放和平移,是可视化城市或景观路径的糟糕方式。我们的大脑天生就能从更大的视觉区域吸收模式。一个小屏幕无法与你可以展开并以整体方式扫描的真实地图相媲美。遵循逐向导航也不会帮助你建立一个区域的心理地图,让你能够可视化任意位置之间的关系。这就是为什么,如果迷路的风险很低——或者迷路实际上是 目标!——我喜欢把手机放在口袋里,练习推算方位。

LLM 提供了一种我从未想过会见到的增强水平。它们也带来了一系列的危险。

同样,我一直对那种尖刻的 “让我帮你谷歌一下”(现在当然也包括“让我帮你 GPT 一下”)的回答感到厌烦。这里面有一种羞辱的意味。人们暗示,我们拥有超能力,所以你不使用它们就是个傻瓜。

当然,我们总是可以查阅资料。但直接这样做会扼杀谈话。难道我们不能停下来,把头凑在一起,考虑一下我们个人可能拥有的内部知识,或者可以共同综合的知识,然后再咨询外部大脑吗?

这是我最喜欢的关于未增强思维力量的故事。在 “梦想背后” 中,克莱伦斯·琼斯(马丁·路德·金的律师和顾问)透露,“从伯明翰监狱来的信”是在没有书籍的情况下写成的。

“让我惊讶的是,马丁完全没有参考材料可以借鉴。他就在那里,从无到有地引用了一段又一段。圣经,正如人们对一位浸信会牧师的期望,但还有英国首相威廉·格莱斯顿、圣雄甘地、威廉·莎士比亚和圣奥古斯丁。”

他补充道:

“马丁可以记住他几个无关演讲中的确切短语,并发现一种新的将它们联系在一起的方式,就好像它们都是一个不断发展的演讲的一部分。而且他可以即兴发挥。”

MLK 的力量部分来自于他能够重新配置一个储备充足的工作记忆,并像一张大地图一样扫描它。如果他必须在小的上下文窗口中连续咨询外部来源,他可能会效率低得多。

快进到今天。LLM 提供了 一种增强水平,我从未想过会见到的。它们也带来了一系列的危险,其中许多在 Baldur Bjarnason 的尖锐批评 “智力幻觉” 中得到了很好的记录,包括我在这里讨论的:

“我们正在使用 AI 工具进行认知辅助。这意味着我们专门使用它们来减少思考。”

完全公开:我和 Baldur 经常交谈,但我们很少谈论 AI,因为我们在经常体验到的好处类型上存在很大分歧,并且一直在本专栏中记录这些好处。但在这关键点上,我们意见一致。而且,mea culpa,我发现自己有时会变得懒惰,不愿锻炼我耳朵之间的肌肉。那么,什么时候不使用 LLM 呢?

当你不想思考时

这些年来,我写了很多代码,但我首先是一个散文作家。我同时也是一个非常优秀的校对员,因为我很少错过拼写错误和标点符号和语法错误。这可能是一种令人讨厌的超能力,因为即使是几个这样的不可忽视的错误,也会在我阅读商业或娱乐文章时打断我的思路。这意味着,虽然校对是我从未依赖的一种增强形式。

我的大脑不是一个模糊的解析器——我只是没有被设计成看到这种问题。

LLM 是相当不错的校对员,因为它们理解更高阶的模式。但我也不依赖它们来完成这项工作。我想继续锻炼我的校对和编辑肌肉。而且,重新阅读我负责的散文——无论是我的还是同事的——本身就很有价值。总有方法可以改进一篇作品。

在阅读代码方面,我的思维方式与众不同。变量拼写不一致导致的错误,并不会像散文中的拼写错误那样立即引起我的注意。逻辑错误也是如此。我注意到,我许多更注重代码的同事,在代码中比在散文中更容易发现拼写错误和结构问题。由于阅读代码对我来说不像对其他人那样容易,我倾向于依靠大型语言模型 (LLM) 来寻求帮助。现在我正在重新评估。

对于某些事情,LLM 显然是最佳选择。如果我看到一个无效的 JSON 块,甚至无法解析,就没有理由避免增强。我的大脑不是一个模糊的解析器——我只是没有被设计成能看到这种问题,而且这种能力不太可能通过努力和练习而改变。但如果代码存在结构问题,我需要在 寻求帮助 之前思考它们。这是一种可以通过努力和练习来提高的技能。

当你不想社交时

基于 LLM 的开发人员工具可以作为同事的代理,当你不想打扰他们时。

我们都知道,知识工作者,尤其是软件开发人员,需要在丰富的背景下实现精神上的流动,而这种背景很难组装,而且容易受到干扰。由于基于 LLM 的开发人员工具,如 Cody 和 Unblocked,会挖掘本地知识——你的代码、你的文档——因此它们可以作为同事的代理,从而保护他们免受干扰。即使你没有尝试过这些专门的工具,你可能也已经实现了与 ChatGPT 和 Claude 集成的世界知识相似的效果。这是一个真实而重要的益处。

但我们不要过分。程序员通常不是最善于社交的人。当 LLM 帮助我们避免不必要地打断他人的工作流程时?很棒。当它们提供更多理由不去与应该交谈的人交谈时?不太好。

当你需要有创意时

Baldur 指出了这个悖论:

“使用生成式 AI 最有效的方式是不将其用作生成式 AI。”

相反,他认为我们应该主要将其用于“推导、转换和修改”。我们也同意这一点。我在本文中描述的使用方式——我比 Baldur 更重视这些方式——属于这一类。

另一方面,我在上一篇文章中提出的混合解决方案,人类洞察力 LLM 苦力 = 创意出版解决方案,即使不是完全新颖,至少也足够罕见,不会出现在当时语言模型吸收的文献中。我认为这是一种超越推导、转换和修改的创造性行为。

对我来说,LLM 是软件组件。

诚然,我使用 LLM 来帮助实现这个想法,可以说也是另一种形式的创造力。对我来说,LLM 是软件组件,我在技术领域最强大的超能力一直是寻找使用和重组这些组件的新颖方式。学习有效地使用这种新型的强大模式识别器和转换器,为这种创新提供了充足的空间。

但这个想法本身并没有,也不会直接来自我的助手团队。它们起到了辅助作用,通过加速我对转换策略的探索,最终证明这些策略是死胡同。然而,当这个想法出现在我脑海中时,它并没有出现在与 Claude 或 ChatGPT 对话的屏幕上:它出现在我爬山时脑海中。

0 人点赞