文章分析了这一反对立场背后的原因,涉及社区文化、对代码质量与学习过程的担忧,以及LLM可能削弱编程作为创造性活动的价值。 该讨论在Hacker News上获得102个点赞,引发广泛关注。
我偶然看到一个与国际象棋引擎开发相关的 GH 讨论帖,它让我思考了为什么业余编程社区对 LLM 开发越来越敌对。虽然这个讨论帖并没有提供很多直接回答问题的见解,但它促使我稍微思考了一下。我在其他一些小众业余编程社区中也看到过类似的观点,比如 OSDev、LangDev、TxtDev、EmuDev、RLDev、demoscene 和 code golfers。普遍共识似乎是,这些社区所掌握的知识来之不易,而使用 LLM 完全是本末倒置。在这些社区(请注意,文中默认为“并非全部…”)中,掌握一个困难领域的过程本身就是成果,而能正常运行的东西通常只是锦上添花。
此外,我注意到,即使在这些小众社区中曾经有过对 LLM 的真诚早期尝试,但这种热情很快就被破坏了,其原因是一方面 LLM 实践者缺乏深入理解,另一方面是这些社区中有一部分尖锐的成员将 LLM 视为作弊行为。的确,这些社区总体上历来以狂热的门槛设定和缓慢的进展为特点,因此希望通过像 Kool-Aid 人物一样惊艳亮相以获得一些轻松的声望是可以理解的。哇哦……天哪!
在传统的小众开发圈子里,尊重是通过多年在各自论坛的活跃、分享优雅代码、展示真正的好奇心,以及在过程中分享深厚的领域知识慢慢赢得的。归根结底,这些社区并不关心你的代码是否能运行,而是关心你是否知道它为什么以及如何工作。对我来说,LLM 最好的功能是作为力量倍增器,而不是替代品。在已经深刻理解某个领域的专家手中,它可以像杠杆一样发挥作用。1:#fn1 但是在这些小众社区中,整个练习的重点就在于学习。用 LLM 来生成最终成果并不会让我们成为匠人;它只会剥夺我们的工艺。
这是我对 LLM 思考不断演变的最新观点。另见:LLMe:/meta/LLMe/ 和 Mind the van Emden Gap
也就是说,专业知识并不能天然免疫于被 LLM 欺骗。↩︎:#fnref1
I came across a GH thread related to chess engine development that made me think of why hobby programming communities are increasingly hostile toward LLM development. While the thread doesn’t give a lot of insight into answering the question, it prompted me to think about it a bit. I’ve seen similar sentiments expressed in other niche hobby programming communities like OSDev, LangDev, TxtDev, EmuDev, RLDev, the demoscene, and code golfers. The general consensus seems to be that the knowledge that these communities work in is hard-fought and the use of LLMs is a form of missing the point entirely. In these communities (keep in mind that there is an implicit “not all…” throughout) the process of mastering a difficult field itself is the product, and something that runs is generally a nice-to-have.
Further, I’ve noticed that even in the instances where there was earnest early engagement with LLMs in some of these niche communities, the well was quickly poisoned by a combination of a lack of a deep understanding by the LLM practitioners, and a vitriolic subset of those communities that view the LLM enterprise as a form of cheating. Granted these communities have, in general, historically been characterized by feverish gatekeeping and painstakingly slow progress, so it makes sense that there might be a desire to grab some easy cachet by bursting onto the scene like the Kool-Aid man. OH YEAH…. OH NO!
In traditional niche dev circles, respect is earned slowly through years of activity in their respective fora, sharing elegant code, displays of genuine curiosity, and through sharing deep domain knowledge along the way. At the end of the day, these communities don’t care if your code works at all, but instead care that you know why and how it works. To me, an LLM functions best as a force multiplier, not a surrogate. In the hands of an expert who already understands a domain deeply, it could act like a lever. 1 :#fn1 But in these niche communities, the entire exercise is in the learning. Using an LLM to generate the finished piece doesn’t make us craftsmen; it just robs us of the craft.
This is the latest in my evolving thoughts on LLMs. Also see: LLMe:/meta/LLMe/ and Mind the van Emden Gap
That said, expertise offers no natural immunity against being fooled by LLMs.↩︎:#fnref1