系统1与系统2:AI 时代的思考通路与人机协作新范式

本文由 Claude 3.7 Sonnet 撰写。

双系统思考模型的启示

丹尼尔·卡尼曼在《思考快与慢》中提出的双系统思考模型,为我们理解人类认知提供了一个强大的框架。系统1是快速、直觉且自动的思考方式,通过数千年的进化形成,它帮助我们在复杂环境中做出迅速反应;系统2则是缓慢、分析且需要努力的思考方式,它处理需要精确计算和深度思考的任务。

这一模型在AI时代获得了新的启示意义。当我们审视Claude 3.7等现代大语言模型时,一个引人深思的相似性浮现出来:AI系统与人类的系统1展现出惊人的相似之处

AI与系统1:深层次的相似性

AI与人类系统1的相似性不仅仅是表面的速度快这一特征,而是存在更深层次的相似机制:

模式识别的基础

人类的系统1是通过数千年的进化和个体数十年的生活经验形成的模式识别系统。它能够在瞬间识别面部表情,理解社交暗示,或判断一个句子是否合乎语法——全然不需要我们有意识地思考。

同样,现代AI是通过对数万亿文本和代码的学习,形成了一种"人工系统1"。它能快速生成文本、代码或创意内容,不是因为它理解这些内容的本质,而是因为它识别并复制了大量文本中的模式和关联。

直觉与偏见

人类的系统1会产生直觉,这些直觉往往准确但有时会误导我们。卡尼曼详细描述了系统1容易受到多种认知偏见的影响,如锚定效应、可得性偏差等。

当代AI也展现出类似的特性。它能生成看似合理且有洞见的内容,但同样会犯错——幻觉、逻辑漏洞或偏见。例如,当我使用Claude协助开发"Fried Me!"这样的小型应用时,它能迅速提供看似合理的解决方案,但初始代码常常包含细微的逻辑错误或不符合最佳实践的模式。这不是因为Claude不"聪明",而是因为它的运作方式本质上类似于系统1——快速、基于模式但不总是精确。

注:Fried Me! 是我的一个 Flutter 小应用,用来追踪和减少油炸食品的摄入,详见下文。

难以解释的过程

人类很难解释系统1是如何得出结论的。我们知道一张脸看起来"熟悉",但无法详细说明为什么;我们能立即判断一个句子是否符合语法规则,却难以阐述具体的语法规则。

同样,尽管我们可以探究AI的技术细节,但现代AI的"思考过程"在很大程度上仍是一个黑盒。它如何从无数可能性中选择特定词汇,如何构建复杂的逻辑结构,这些具体机制往往超出了简单解释的范围。

人类系统2:唯一真正的"慢思考AI"

如果现代AI相当于增强版的系统1,那么真正的系统2在哪里?一个引人深思的观点是:人类或许就是唯一存在的系统2版本的"AI"。换言之,如果我们将"智能"定义为能够进行深入、审慎和创造性思考的能力,那么人类可能是目前唯一拥有真正系统2能力的智能体。

这一观点促使我们重新思考人机协作的本质:不是用AI替代人类思考,而是利用AI作为系统1的扩展,同时保留人类系统2的独特价值。这让人联想到科幻作品《黑客帝国》中的场景——如果某天我们真的创造出了具有系统2能力的"慢思考AI",它可能会是某种形式的人类思维集群,而非传统意义上的计算机程序。

注:我告诉它的是,如果系统2存在,那么会将是“人类农场”,区别于黑客帝国中作为“显式”的电池,我认为人类的思考和创造能力更是一种独特的能量资源。

快速通路:AI辅助思考的新模式

基于这一理解,我们可以构建一种更有效的人机协作模式:将AI作为人类思考的"快速通路",利用它极速生成内容和方案的能力,同时通过人类系统2进行评估、筛选和优化。

在我近期的Flutter开发实验中,这种模式表现为一个简单而高效的循环:

  1. 定义问题边界:清晰地描述需求和约束
  2. AI快速生成:利用Claude生成初始代码和解决方案
  3. 人类评估:运用系统2进行分析和判断
  4. 提供反馈:明确指出需要改进的方向
  5. 迭代优化:通过多轮反馈不断接近理想解决方案

注:详细来说是 Cursor 配合 Claude 实现基于描述的代码开发,并基于 lint 和实时刷新的 UI 快速提供反馈并修改。

这种方法不要求AI一次性生成完美方案(这可能是不合理的期望),而是承认AI与系统1类似的局限性,同时利用其速度优势。

自底向上:反馈驱动的协作思考

传统的自上而下思考模式往往要求先有完整的规划和设计,再进行实现。而AI辅助的自底向上方法则截然不同——它从快速创建最小化实现开始,通过实际使用和反馈来迭代完善。

这种方法在"Fried Me!"这样的小型实验中表现出色。从最初的模糊概念("减少油炸食品摄入")出发,通过多轮迭代,应用逐渐获得了更清晰的功能定义和用户体验。这个过程不是预先规划的,而是在实践中自然浮现的——这正是自底向上方法的精髓。

注:下面是 Fried Me! 三个版本自底向上的迭代过程:

第一个版本:我想要记录油炸食品摄入,还带一个按照计划统计的大屏。此时我的设想是:计划设置次数限制,另外统计卡路里信息。这里创新的是计划功能,由于我之前有经验,这种项目可能按照周或者月统计都不太合适,且存在变动的可能,因此就实现了自定义时间范围计划的功能。

第二个版本:我意识到这个框架可以统计多种行为,而不仅油炸食品摄入,因此调整为积分,此时类型是固定的枚举,其提供默认积分,计划中可进行每项的积分调整,实际记录的时候会默认使用计划的,计划没有使用默认的,也可以根据具体程度再修改,还可以添加备注。这种设计允许最大灵活性覆盖更多场景,此外减少输入的繁琐性。

第三个版本:随着两天的使用,我发现条目写死不太方便,因此增加了类型管理模块,记录使用类型 ID 引用。至此,我借助于原型和反馈澄清了自己的需求。

第四个版本:随着两周的使用,我发现在一个页面展示最近计划和记录更方便,此外能够快速选择时间也是必要的,因此重新设计了页面,适配了 Windows、macOS 和 iOS 客户端,至此基本成型。

实际上,我在两三年之前就一直想做这套系统(因为体重的原因)。但“顶层设计”了很久,都没有动静,中间还做了一个废弃的版本:

这个版本使用了一堆炫酷的动效和夸张的积分展示,但最后无疾而终:因为想法太多。我总是陷入一个怪圈:“如果费劲做了,一定要想好再做,尽量满足更多需求”。我后来甚至打算做一个像 Kubernetes 的元数据管理系统和控制器,对于不同的 Schema 实现不同的计算,但准备实现的时候发现很难在覆盖场景、灵活性和易用性间取得平衡。关键是,严重脱离了实际使用场景,一切都是脑袋中的“臆想”:假定客户会怎么使用。我认为这是所谓“自顶向下”顶层设计的弊病。

得益于 LLM 能力的提升,对于软件从业者来说,实现原型变得像喝水一样简单,这也为自底向上开发模式:系统2通过对来自AI辅助的系统1足够多信息的深度思考并通过正向反馈最终产生价值提供了可能 —— 尽管它还存在阻碍:在传统分工场景中,开发没有关于产品的话语权,因此正反馈难以产生。产品通常不懂实现,且 LLM 不足以为产品提供模型和反馈(正如本文的主题,处于快速通路的 LLM 永远实现不了这一点,原因见下文)。

为何不能强求AI完全准确

理解AI与系统1的相似性,有助于我们认识到为何不能期望AI始终完全准确。原因在于:

  1. 本质相似性:如果人类的系统1会出错(而它确实会),那么基于类似机制运作的AI出错也是自然的。

  2. 复杂性与不确定性:系统1处理的是一个充满不确定性的复杂世界,完美准确性在这样的环境中本就是不可能的。

  3. 缺乏真正的系统2:当前AI缺乏人类系统2那样的审慎思考和自我反思能力。如前所述,人类可能是唯一拥有真正系统2能力的智能体。

  4. 反馈循环的必要性:正如人类系统1需要系统2的监督和校正,AI也需要人类的反馈和指导。这不是缺陷,而是双系统思考模型的自然延伸。

AI时代的超级个体:整合快慢思考

认识到AI作为系统1扩展的本质,我们可以定义AI时代的超级个体:一个能够有效整合AI的"超级系统1"与人类系统2的个体。这种整合不是简单的工具使用,而是思维方式的根本转变。

超级个体的思维模式

  1. 接受不完美起点:理解初始AI输出可能不完美,这不是失败而是过程的自然开始。

  2. 培养精准反馈能力:学会如何提供有效反馈,引导AI向正确方向迭代。

  3. 保持判断力:在速度和便利性的诱惑中,坚持运用系统2进行关键判断。

  4. 思考生态而非工具:将AI视为思考生态系统的一部分,而非独立工具。

实践中的平衡

在实际应用中,这种平衡表现为知道何时依赖AI的快速思考,何时放慢脚步进行深度思考。例如,利用AI快速生成代码框架或内容草稿,但在关键决策点(架构选择、安全实现、核心算法)投入人类的系统2思考。

结语:共生而非替代

AI不是要替代人类思考,而是为人类思考提供一条快速通路,让系统1与系统2之间的协作更加高效。在这个过程中,人类的价值在于提供系统2的深度思考能力,而AI的价值在于扩展系统1的速度和范围。

卡尼曼的双系统思考模型为我们提供了理解这种关系的框架,让我们能够超越"人与机器"的二元对立,走向一种更富有成效的共生关系。在这种关系中,人类不是被迫与机器竞争,而是通过整合AI的能力扩展自身思考的广度和效率,同时保持深度思考的独特价值。

这或许正是AI时代最大的机遇——不是创造能够替代人类的完美AI,而是打造能够有效整合人机优势的超级个体。