AI 与计算机编程有着密切的关系。
过去,捕获并利用计算可还原性的主要方法是开发正式的描述事物的方式,通常使用数学和数学公式。而人工智能提供了一种新的利用计算可简化性的途径。在训练神经网络中,能够捕捉某些规律从而做出预测。
当前的技术发展与操作系统的发展轨迹相似,如 Windows、OS X 和 Linux 与 GPT、PaLM、Claude 和 Llama/Mistral 的关系。大多数现有应用也能移植到新平台。
对于更有经验的程序员,关注点不仅在代码正确性,还有整体代码质量。如 OpenAI Codex 模型的最新版本编写冗长的平均水平代码,将其转化为理想且正确的代码可能比从头编写更慢。虽然生成性编程是开发人员生产力的重要步骤,但目前还不清楚这种改进是否显著不同于以往。生成式 AI 能让程序员更优秀,但仍需编程。
总之,AI 为编程带来了新的方式和可能性,但编程依然是重要且不可替代的。
So how does this relate to AI?Well,the whole story of things like trained neural nets that we’ve discussed here is a story of leveraging computational reducibility,and in particular computational reducibility that’s somehow aligned with what human minds also use.In the past the main way to capture—and capitalize on—computational reducibility was to develop formal ways to describe things,typically using mathematics and mathematical formulas.AI in effect provides a new way to make use of computational reducibility.Normally there’s no human-level narrative to how it works; it’s just that somehow within a trained neural net we manage to capture certain regularities that allow us,for example,to make certain predictions.那么这与人工智能有什么关系呢?好吧,我们在这里讨论的训练神经网络之类的事情的整个故事是一个利用计算可归约性的故事,特别是计算可归约性,它在某种程度上与人类思维所使用的东西是一致的。过去,捕获并利用计算可还原性的主要方法是开发描述事物的正式方法,通常使用数学和数学公式。人工智能实际上提供了一种利用计算可简化性的新方法。通常情况下,没有人性化的叙述来说明它是如何运作的。只是在经过训练的神经网络中,我们设法捕捉某些规律,从而使我们能够做出某些预测。
有趣的是,我觉得当前的这种技术发展与操作系统的发展轨迹颇为相似,例如Windows、OS X和Linux与GPT、PaLM、Claude和Llama/Mistral的关系。与传统操作系统默认搭载的应用相似,大多数现有应用也可以移植到这些新平台上。总之,仅将LLMs视作聊天机器人,就如同我们曾将初代计算机仅视为计算器一般。现在,一个全新的计算时代正在到来,而这只是冰山一角。
对于更有经验的程序员来说,他们的关注点可能不仅限于代码的正确性,还包括整体代码质量。如[fast.ai](https://fast.ai/)的Jeremy Howard[所解释的](https://future.com/the-rise-of-domain-experts-in-deep-learning/),关于OpenAI Codex模型的最新版本,“[它]编写冗长的代码,因为它生成的是平均水平的代码。对我来说,将平均水平的代码转化为我喜欢且知道是正确的代码,比从头开始编写它(至少在我熟悉的语言中)要慢得多。”因此,虽然显然生成性编程是开发人员生产力的一个重要步骤,但目前还不清楚这种改进是否显著地不同于我们以前所看到的。生成式AI使程序员更优秀,但他们仍然必须编程。