AI 不是软件

博客摘要与社区洞察 | 作者: Davidmanheim | 2024年1月2日

文章核心论点摘要

核心论点:将AI视为软件会产生误导 +

核心观点 作者认为,将2024年的AI(如LLM、图像生成模型)归类为“软件”会误导关于伦理、政治和技术的讨论。虽然AI在计算机上运行,但其本质与传统软件有根本区别。

论证一:创造过程的差异 (设计 vs. 生长) +

传统软件 人类编写明确、可理解的指令(源代码),计算机遵循这些指令产生可预测的输出。其逻辑由人设计和决定。

生成式AI 开发者选择模型架构和训练数据,然后通过算法“生长”出一个复杂的概率模型。这个模型由海量人类未直接选择或审查的数字(权重)组成,它不是人类编写的指令集。

论证二:验证与修复的差异 (调试 vs. 驯化) +

传统软件 可以通过单元测试等方法进行精确验证。如果出现错误(bug),开发者可以通过修改源代码来修复。

生成式AI 其能力和边界通常无法预先完全了解,也没有明确的功能说明书。当表现不佳时,无法通过修改“源代码”来修复。纠正其行为需要通过“微调”(进一步训练)或“提示工程”等间接方法。

论证三:运行与输出的差异 (检索 vs. 生成) +

传统软件 执行指令,例如搜索引擎是“检索”并显示已存在的信息。

生成式AI 进行“推理”,使用其内部的概率模型来“生成”全新的、通常是意想不到的输出。它是在创造而非检索。作者引用了“随机鹦鹉”的比喻,但也承认它能完成写诗、通过考试等复杂任务。

AI编程与软件工程视角

对传统软件工程实践的挑战

本文的核心在于挑战传统软件工程的观念。传统软件工程建立在确定性、可验证性和可维护性之上。工程师期望能够通过代码审查、单元测试和调试来完全控制软件行为。

然而,AI模型的行为是概率性的、涌现的且难以解释的。这意味着:

  • 测试范式改变: 传统的单元测试(输入X,必须输出Y)对AI不再完全适用。取而代之的是基于基准(benchmark)的评估和启发式评估。
  • 维护与迭代: “修复”一个AI问题不是修改几行代码,而是成本高昂的重新训练或微调,这带来了全新的版本控制和维护挑战。
  • 思维转变: 工程师必须从“编写指令”转变为“驯化和约束系统”,即构建强大的“护栏”(guardrails)和验证框架来管理不完全可靠的AI组件。

社区讨论精华摘要

主题一:赞同与类比扩展 —— “AI之于软件,如同人类之于化学” +

核心观点 评论者 gjm 提出了一个广受好评的类比:AI系统是软件,就像人类是化学一样。虽然人体由化学过程驱动,但我们通常在更高的抽象层次(如心理学、社会学)来理解人类行为。同样,虽然AI由代码运行,但理解其行为需要超越代码本身。

主题二:反对与修正 —— “这是代码与数据的区别,而非软件与否” +

核心观点 评论者 noggin-scratcherzoop 等人认为,作者混淆了“软件”与“代码”。他们指出,AI模型(即权重)可以被视为“数据”,而运行推理的引擎则是“软件”。

论据 现代软件早已包含非确定性、随机性和难以理解的部分。他们认为,AI只是软件的一个新子集,其特性需要我们更新对软件的认知,而不是否定其软件属性。

主题三:范式转移视角 —— “AI是继硬件、软件之后的新层次” +

核心观点 评论者 abramdemski 认为,这是一个类似于从硬件到软件的范式转移。曾经,硬件爱好者也可以说“软件只是硬件的一种配置”,但这会错失“编程”带来的巨大变革。同样,将AI仅仅视为“数据”或“另一种软件”也可能会低估这场变革的深度。

主题四:系统工程视角 —— “AI是需要被严格约束的系统组件” +

核心观点 一位 [anonymous] 评论者从系统工程的角度提出,工程师会构建一个外部控制软件框架,使用多个并行的AI模型进行冗余验证,监控模型的置信度,并在风险高时切换到安全模式。

实践方法 在这个框架下,AI是一个需要被管理和约束的、概率性的组件,而不是一个独立的、不可控的实体。

来自 GPT-5 Pro 的定义与总结 +

生成式AI (Generative AI) 是一种基于大规模语言模型 (LLM) 和其他生成模型的技术,它通过复杂的概率模型生成输出。这些模型并非由人类编写明确指令,而是通过训练数据和算法“生长”出一个概率模型。

在传统软件中,开发者明确指定每一步,而生成式AI依赖于训练过程和海量数据。其输出是基于统计模式生成的,因此无法通过简单的代码修改来调整行为。若输出不符合预期,通常需要通过微调 (fine-tuning)提示工程 (prompt engineering) 来调整。

根本区别在于:传统软件的行为是确定的,可通过修改源代码改变;而生成式AI的行为更多地依赖于数据和训练,输出带有随机性和不可预测性。

总的来说,生成式AI是一种通过训练数据自动调整行为的系统,不同于传统软件的指令驱动机制,其功能和结果由模型与数据间的复杂交互决定。

原文

Blog中文翻译

相关链接

原blog地址