Transcription
这简直让我感到厌恶。我真的认为这是不人道的。我的使命和过去二十年一样,就是阻止人们这样工作。>> 深度学习先驱、Kaggle 大师 Jeremy Howard。他极力主张通过交互式循环、笔记本、涟漪,以及通过不断探索问题直到问题反击,来真正理解我们正在构建的东西。他认为真正的洞察力就发生在这里。有趣的是,他们都说对了。大型语言模型在模仿理解。它们假装理解事物。没有人真的能比以前创造出多 50 倍的高质量软件。嗯,我们最近对此进行了一项研究,人们实际交付的东西只有微小的增长,微小的增长。关于基于人工智能的编码,它就像一台老虎机,让你产生一种控制的错觉。你知道,你可以精心制作你的提示词、你的 MCP 列表、你的技能等等,但最终你还是拉下了操纵杆,对吧?这里有一段代码,没有人能理解。>> 是的。>> 我会把我的公司产品押注在这上面吗?答案是我不知道,因为我不知道现在该怎么办,因为没有人经历过这种情况。他们非常不擅长软件工程。嗯,然后我认为这可能永远是真的。人类在与计算机打交道时,可以做更多的事情,当人类能够实时地操纵计算机中的对象,研究它们,移动它们,并将它们组合在一起时。无论你听谁说,你知道,无论是费曼还是其他人,你总是会从伟大的科学家那里听到,他们如何通过构建他们随着时间推移通过与他们正在学习的事物互动而获得的心理模型来建立更深的直觉。机器可以通过深度学习模型,仅仅通过观察海量文本语料库的统计相关性,来构建关于世界及其运作方式的有效抽象层次。这就是我的前提。本视频由英伟达 GTC 呈现。活动将于 3 月 16 日至 19 日在圣何塞举行,并免费在线直播。今年的主要议题是自主人工智能和推理、高性能推理和训练、开放模型,以及物理人工智能和机器人。我对 DJX Spark 感到非常兴奋。我已经等了一年多了。它是一台个人超级计算机,大小与 Mac Mini 相当。顺便说一句,它是 MacBook Pro 的完美搭配。你可以用其中一台来微调一个拥有 700 亿参数的语言模型。而且我将免费赠送一台。你所要做的就是注册参加会议,并通过描述中的链接参加其中一个会议。至于会议,我很有兴趣参加 Ammon Sang 的演讲。他是 Cursor 的首席技术官,他的演讲是“代码与上下文”。构建一个真正理解你代码库的自主 IDE。当然,Jensen 的主题演讲在 3 月 16 日。他说他将揭晓一款将震惊世界的芯片。他们的下一代架构 Vera Rubin 已经全面投产。并且有猜测我们甚至可能瞥见他们新的费曼架构。所以,别忘了,链接就在描述中。如果你在线参加,完全免费。不要错过。Jeremy Howard,欢迎来到 MLST。>> 我是说,欢迎来到我家。谢谢你来。>> 是的。嗯,我们现在在哪里?>> 我们在美丽的昆士兰州东南部的莫顿湾。我们在海边,嗯,在我家后院。>> 天气没有让人失望。>> 确实没有。它通常不会,但如果你昨天在这里,情况就会大不相同。>> 嗯,我不知道从哪里开始。我从大约 2017 年或 2018 年开始就一直是你的忠实粉丝。当然,你发表了著名的 ULM fit 论文。而且,嗯,当我在微软的时候,我记得我为此做了一个演示,因为实际上,嗯,现在我们认为在文本语料库上微调语言模型,然后继续训练它们并专门化它们,这已经很普遍了。但显然,这并不是普遍的看法。>> 不,这是第一次发生。是的,大概是第一次或第二次。嗯,所以 Quarkley 和 Andrew Dy 几年前做了一些事情,但他们错过了关键点,那就是你预训练的东西必须是一个通用语料库。>> 所以,没有人完全意识到这个关键点。也许我在这里有一些运气,因为我的背景是哲学和认知科学。所以,我花了大约二十年时间思考这个问题。>> ULM fit 的技术架构。简单勾勒一下。>> 我非常喜欢正则化。我非常喜欢采用一个模型,它具有极高的灵活性,然后使其更加受限,不是通过减小架构的大小,而是通过添加正则化。所以即使在当时,这也是极具争议的。嗯,但这绝不是我们独有的见解。所以 Steven Merid 所做的是,他利用了 LSTM 的极端灵活性,这是一种非常经典的、有状态的循环神经网络,如今事物正逐渐回归到这种状态,并添加了五种不同类型的正则化。他添加了你能想象到的所有类型的正则化。然后,嗯,那是我的起点,我说好吧,我现在有一个大规模灵活的深度学习模型,它可以像我想要的那么强大,它也可以像我需要的那么受限。然后我需要一个非常大的文本语料库。有趣的是,这也是 Steven。他曾在 Common Crawl 工作过,嗯,我想他帮助创建或制作了维基百科数据集。然后我意识到维基百科数据集实际上做了很多假设。它有所有这些“unk”表示未知词,因为它假设了经典的 NLP 方法。所以我重新做了整个事情,创建了一个新的维基百科数据集,那就是我的通用语料库,然后我使用 WDLSTM 训练它。所以实际上是过夜完成的。所以在一个游戏 GPU 上运行了八个小时,你知道,嗯,因为我在旧金山大学,我们没有很多资源。嗯,大概是 2080 Ti 左右,我猜。嗯,然后第二天早上我醒来时,它就是我们今天仍然使用的相同的三阶段架构,你知道,预训练、中期训练、后期训练。然后我想到,好吧,我已经训练了一个模型来预测维基百科的下一个词,它一定对世界有很多了解。然后我想到,如果我用一个特定的语料库进行微调,也就是我们现在可以称之为监督微调的数据集,在这种情况下是电影评论的数据集,它就会在预测这些电影评论的下一个词方面变得特别好。所以它会学到很多关于电影的知识。嗯,做了大约一个小时,然后花了几分钟微调下游分类器,这是一个经典的学术数据集,被认为是其中最难的,那就是读取 5000 字的电影评论,并判断这是正面还是负面情绪,这在今天被认为是简单的,但在当时,你知道,唯一做得相当好的就是高度专业化的模型,人们为此写了整个博士论文。我用五分钟的微调就打败了他们所有的结果。这太神奇了。>> 另一个有趣的事情是这种关于如何进行微调的方法。>> 是的。所以我们进行微调的方式是我们当时在 fast.ai 开发的。所以这是 fast.ai 的第一年。所以这仍然是我们非常早期的时候。我们做的一件极具争议的事情是,我们认为我们应该专注于微调现有模型,因为我们认为微调很重要。嗯,当时也有其他人也在做类似的工作。所以,嗯,Jason Nusinski 做了一些非常出色的研究,我认为是在他的博士期间,关于如何微调模型以及它们能有多好,还有计算机视觉领域的一些其他人。我们是,你知道,最早的一批。我们很多人都在大力投资微调。所以,是的,我们认为使用单一学习率一次性微调整个模型是没有意义的,因为不同的层有不同的行为。这也是 Jason Yusinsk 的研究也表明的一点。我们提出了这个想法,嗯,如果你只训练最后一层,那会快得多,对吧?因为只需要反向传播最后一层,然后一旦它相当好,就反向传播最后两层,然后最后三层,然后我们使用所谓的判别性学习率。所以不同的层我们会给予不同的学习率,然后另一个关键的见解是,即使我们告诉了所有人,但没有人意识到,那就是你实际上必须微调每个批次范数。所以所有的归一化层你实际上都必须微调,因为那是在移动整个东西,或者改变它的尺度。所以,是的,当你这样做时,你通常只需要微调最后一层或两层。我们发现,实际上,对于 ULM fit,虽然我们最终解冻了所有层,但只需要最后两层就能获得接近最先进的结果。所以只需要几秒钟。>> 是的。因为判别性学习率很有趣,因为我认为当时普遍的看法是,当你微调模型时,如果学习率太高,你会破坏表示。所以我想当时的看法是,如果你没有非常低的学习率,你就会摧毁表示。>> 我认为当时没有普遍的看法,因为没有人谈论过。没有人关心,你知道。它只是对几乎没有人关心。迁移学习根本不是任何人想过的事情。而 Rachel 和我认为这比任何事情都重要,你知道,因为只有一个人需要一次性训练一个非常大的模型,然后我们其他人都可以微调它。嗯,所以我们认为我们应该学会如何做得非常好。所以我们花了很多时间尝试各种事情,但最终直觉相当简单,而且直观上似乎应该起作用的东西几乎总是起作用。这是人们至今仍然倾向于进行 ML 研究的另一个重大区别,他们认为这完全是关于消融研究,你不能做任何假设或猜测。这根本不是真的。我发现几乎所有我期望有效的东西几乎总是第一次就有效,因为我花了很多时间建立那些直觉,那种对梯度行为的理解。>> 我认为这里存在一个二分法,即持续学习,当我们想要继续训练事物但保持通用性,与微调事物以完成特定任务。一直以来都有一个想法,是的,你可以让模型变得特定,你可以按照你的意愿去塑造它,但你会失去通用性,你会降级表示。所以请告诉我。>> 是的,这有一些道理,尽管不像你想象的那么多。总的来说,最大的问题是人们实际上并没有查看他们的激活,也没有查看他们的梯度。所以我们在我们的软件,我们的 fast.ai 软件中所做的一件事是,我们内置了能够一目了然地看到整个网络的功能。一旦你做了几次,只需要几个小时的学习,你就能立即看到,哦,我看到了,这个模型被过度训练或训练不足,或者在这一层出了问题。这不是一个谜,你知道。所以基本上发生的是,例如,你最终会得到一些死神经元,它们会达到一个点,无论你对它们做什么,它们都没有梯度。嗯,这通常发生在它们趋于无穷大的时候。你总是可以解决这个问题。所以,是的,这远没有人们想象的那么糟糕。一个在持续学习中训练得好的东西,如果做得正确,也可以很好地训练一个特定任务,如果你小心的话,在某种意义上,你确实希望神经元死亡,我会解释我的意思,比如我们希望塑造模型的行为以引入隐式约束,因为没有约束就没有创造力,就没有推理等等。所以,所以某种意义上,你实际上希望它说,“不要这样做。你希望它做别的事情。”>> 我不这么认为。对我来说,更像是当我思考人工智能时,我发现思考人类非常有帮助。我认为它们比不同之处更相似。嗯,我的直觉对两者都相当有效。你知道,对于人类来说,当你学到新东西时,并不是要忘记旧东西。所以我一直发现的是,当我让模型尝试学习做两个有些相似的任务时,它们几乎总是在两者上都比只学习其中一个的任务做得更好。>> 嗯,这让我想起了嗯,你知道 Lun 的 Dino 论文。所以,这种整个嗯,自监督学习的体系,嗯,那是一个视觉模型,但你知道,想法是好的,我们正在进行预训练,我们希望尽可能多地保持多样性和保真度,以便当我们进行下游任务时,我们可以嗯,我们有更多可以抓住的东西。>> 是的。是的。而且,嗯,你知道,半监督和自监督学习是一个被严重低估的领域,而且是的,Jan Lun 也是那些致力于此的人之一。>> 我实际上写了一篇帖子,因为我非常恼火很少有人关心半监督学习。我几年前写了一篇关于它的完整帖子。Yan Lukun 也看了,你知道,还建议了一些我错过的其他作品。嗯,但我对它有多么有用感到惊讶,你知道,基本上说,你知道,基本上想出一个预设任务,对吧?所以在视觉领域,我们在 ULM fit 之前就在视觉领域做过这个,你知道,在医学影像中,你知道,取一个组织学切片,预测你知道,遮盖几个方块,然后预测那里曾经有什么。所以,我在 USF 的一些学生正在做这方面的工作。基本上完全是借鉴了我们和其他人在视觉领域已经做过的事情。>> 是的。>> 所以,就像这种遮盖方块的想法,我们并没有发明它。遮盖词是显而易见的,你知道,而且这种逐渐解冻层的想法,我们在计算机视觉领域之前就已经做过了。从一个通用的预训练模型开始的整个想法在计算机视觉领域已经存在了。实际上有一篇非常经典的计算机视觉论文,可能是在 2015 年左右,完全是一篇经验性论文,说看看当我们采用一个预训练的 ImageNet 模型来预测是哪个雕塑家创作了这件雕塑,或者预测这是什么建筑风格时会发生什么,而且在每个任务上它都取得了最先进的结果。这真的让我很惊讶。人们没有看到这一点,然后想,我敢打赌,这在其他所有领域也应该有效,无论是基因组序列还是语言等等。但人们缺乏一点想象力。我发现他们倾向于认为事物只在一个特定领域有效。嗯,这确实是真的。>> 是的。我的意思是,我想那里有两件事。我的意思是,首先,我们一直在暗示这种关于好特定律或捷径规则的概念,即你得到你优化的东西,但代价是其他一切。但这似乎并非如此,因为我们可以,你知道,在语言模型的情况下优化困惑度,正如你所说,似乎发生的是我们在这里有点进入了分布假设。所以,你知道,你知道一个词是因为它与什么词一起出现。所以当我们拥有大量的关联数据时,它可能是大师自动预测或任何类似的东西。模型似乎构建了我们可能称之为理解的东西。>> 或者我一直认为它是一个抽象的层次结构。你知道,它需要,如果它要预测,你知道,如果文件在这里是,你知道,开场白,嗯,你知道,嗯,鲍比·菲舍尔使用的,并且它有国际象棋符号来预测下一件事,它需要了解一些关于国际象棋符号,或者至少是开局。嗯,如果它像,你知道,这是 1956 年美国总统否决的,你需要知道,你甚至不需要知道总统是谁,而是有总统的概念,因此有领导者的概念,因此有拥有等级制度的人群的概念,因此有人的概念,因此有事物的概念,等等,你无法很好地预测句子的下一个词而不了解所有这些。所以,你知道,我的假设是我创建 ULM fit 的原因是为了说,它会压缩尽可能多的知识,它必须在模型深处创建这些抽象,这些抽象的层次结构。否则,它怎么可能做好预测下一个词的工作呢?而且因为深度学习模型是通用的学习机器,你知道,我们有一个通用的训练方法,我推测,如果我们获得正确的数据,并且硬件足够好,那么理论上,我们应该能够构建那个预测下一个词的机器,它应该隐式地构建一个关于它正在学习预测的文本所描述的事物的分层结构理解。>> 我认为它们可以以一种相当肤浅的方式知道。所以有无数的表面统计关系,它们可以极好地泛化。这真是太神奇了。>> 是的。>> 但问题是我想对比一下你关于创造力的其他评论。所以,我认为知识就是关于约束,我认为创造力是知识的演变,尊重这些约束。因此,人工智能不是创造性的。你也是这么说的。你说了人工智能不是创造性的。所以,一方面,你怎么能说它们知道,而不认为它们可以被创造呢?>> 我不认为我用过那个确切的表达。你知道,实际上我记得和 Peter Norvig 一起在镜头前聊天,我们都说,嗯,实际上,它们有点像是有创造力的,就像我们只需要稍微注意一下我们的措辞选择。所以,你知道 Peter Wnjak,我非常非常尊敬他,他重新发现了空间重复学习,构建了 SuperMemo 系统,是现代记忆大师。他把一生都围绕着记住事情,原因是他相信创造力来自于记住很多东西,也就是说,将你记住的东西以有趣的方式组合起来是发挥创造力的好方法。大型语言模型实际上在这方面相当不错,但有一种它们完全不擅长的创造力,那就是,你知道,走出分布。所以,>> 嗯,我想你正朝着你的问题前进。嗯,但我只是想这样表述,你必须对这些事情非常细致,因为如果你说,比如它们没有创造力,这可能会给你错误的印象,因为它们可以做看起来非常有创造力的事情。但如果说,比如,它们真的能推断出训练分布之外的东西吗?答案是不能。>> 但训练分布如此之大,它们之间的插值方式如此之多,我们还不知道其局限性。我每天都能看到它,你知道,因为我的工作是研发,我一直在训练数据之外的边缘。我正在做一些以前从未做过的事情。而且有一种奇怪的事情,我不知道你是否见过。我见过,但我每天都会看到好几次,大型语言模型会从极其聪明变得比愚蠢还糟糕,就像不理解世界运作的最基本前提一样。>> 是的。>> 然后就像,哦,糟糕。我超出了训练数据分布。它变傻了。然后,你知道,没有必要再进一步讨论了,因为>> 是的,>> 你在那一点上失去了它。>> 是的。我的意思是,我喜欢,你知道,Margaret Bowden,她有一种创造力的层次结构。所以有组合式、探索式和嗯,还有变革式。模型当然可以进行组合式创造力,但对我来说,一切都关乎约束。所以,我的意思是,这就是 Bowden 所说的,甚至达芬奇也说过,创造力就是关于约束,而你谈论过,嗯,我们将谈论对话工程,但发生的是,当我们与语言模型交谈时,这是一个规范获取问题。所以我们来回交流,实际上当我们认为智能的过程就是构建我们脑海中的这个想象中的乐高积木并尊重各种约束时,当你尊重这些约束并继续发展时,这些东西就被称为创造性的。所以语言模型,当你给它们添加约束时,这可能是通过监督、通过批评者、通过验证者,那么它们就是有创造力的,我们通过 Alpha Evolution 已经看到了很多例子。但这种错觉是它们自己,没有约束,显然它们有我们正在谈论的行为塑造的东西,它们没有硬约束,这就是为什么它们不能超出它们的分布。我的意思是,我认为它们不能超出它们的分布,因为这只是那种数学模型无法做到的事情。你知道,它可以做到,但它做得不好。你知道,当你看看拟合曲线到数据的二维情况时,一旦你超出了数据覆盖的区域,曲线就会朝着奇怪的方向消失,你知道,而我们所做的就是这样。但我们是在多维空间中做的。你知道,我认为 Bowden 可能会对组合式创造力能走多远感到震惊,当你能够组合整个人类知识语料库时。嗯,我认为这就是人们经常感到困惑的地方,因为,所以,例如,我昨天和 Chris Latner 谈论了关于 Claude Anthropic,你知道,让 Claude 写了一个 C 编译器,他们说,“哦,这是一个干净房间的 C 编译器,你可以看出它是干净房间的,因为它是在 Rust 中创建的,你知道,嗯,所以 Chris 创建了现在可能是最广泛使用的 C C++ 编译器,基于 LLVM,这是最广泛使用的编译器基础。他们说,“哦,嗯,Chris 没有使用 Rust。这是,你知道,而且我们没有给它访问任何编译器源代码,所以这是一个干净房间的实现。”但这误解了 LLM 的工作原理,对吧?Chris 的所有工作都在训练数据中出现了很多次,LLVM 被广泛使用,很多东西都建立在它之上,包括很多 C 和 C++ 编译器,将其转换为 Rust 是训练数据部分的插值,你知道,这是一个风格迁移问题。所以,它最多只能是组合式创造力,如果你能称之为创造力的话。而且当你查看它创建的存储库时,你确实会看到它复制了 LLVM 代码的一部分,Chris 现在说,“哦,我犯了一个错误。我不应该那样做。没有人会那样做。”你知道,哦,哇,看,他们是唯一这样做的。这不会偶然发生。这发生是因为你实际上并没有发挥创造力。你实际上只是在 Rust 的东西和构建编译器东西之间找到了训练数据中的非线性平均点。>> 所有这些都是真的。我的意思是,首先,我认为我们不应该低估这种组合式创造力的规模。所以所有这些都是真的。所以代码在互联网上,但它们也有很多测试,这些测试是分阶段的,这意味着每次提交代码时,他们都可以运行测试,然后他们可以进行批评,然后进行这种自主反馈循环。所以,在某种意义上,它与 OpenAI 和 Gemini 最近的研究非常相似,你试图解决一个数学问题,并且你已经有一个评估函数。在 AR 奖项上也是如此,对吧?你有一个评估函数,而人们忽视的是,即使是评估函数本身的知识也是对问题的部分了解。所以你可以进行蛮力搜索。你可以使用统计模式匹配,使用验证器作为约束,然后你可以,嗯,而且他们甚至不需要这样做,对吧?你知道,你已经知道如何通过那些测试,因为有很多软件已经这样做了。>> 所以,它只是使用它并将它们翻译成 Rust。就像,它只是这样做的。嗯,这很了不起。>> 是的。>> 嗯,如果你,我对数学的了解远不如对计算机科学的了解,但从与数学家的交谈中,他们告诉我,数学领域也是如此,比如 Erdos 问题等等。其中一些是新解决的。>> 是的。>> 嗯,但它们不是灵感的火花。你知道,它们解决了你可以通过将非常相似的、人类已经弄清楚的东西结合起来解决的问题。>> 所以,关于 Claude 代码的主题,现在我知道你已经广泛谈论了 Vibe 编码。嗯,实际上 Rachel 做了一些有趣的工作。我的意思是,她引用了 Meter 研究,该研究表明,当人们进行 Vibe 编码时,生产力实际上下降了,但我认为>> 而且他们认为他们提高了,这最有趣了>> 然后还有 Anthropic 的研究。我的意思是,你知道,也许我们应该稍微倒退一点。我的意思是,Dario 前几天发表了一篇文章,我想它叫“技术的青春期”之类的,他基本上说,你看,嗯,我们在 Anthropic 有这么多优秀的软件工程师,他们非常有生产力,他推断到普通的软件工程师,将会出现大规模失业,因为很快我们就能用人工智能自动化所有这些。>> 我的意思是,这没有道理。嗯,Elon Musk 几天前也说了类似的话,他说,“哦,LLM 将直接输出机器码,我们不需要库、编程语言。”>> 是的。>> 嗯,是的,你看,这些人最近都没有做过软件工程师。我不确定 Dario 是否曾经做过软件工程师。软件工程是一门不寻常的学科,很多人将其误认为与将代码输入 IDE 相同。编码是另一种风格迁移问题。你采用解决问题的规范,然后你可以利用你的组合式创造力来找到训练数据中插值解决该问题并将其与目标语言的语法插值的部分,你就得到了代码。弗雷德·布鲁克斯(Fred Brooks)几十年前写过一篇非常著名的文章《没有银弹》,其中他几乎听起来就像在谈论今天。他特别说了一些话,他是在回应非常相似的事情,那就是在那个时代,人们都在说,“哦,那些新的第四代语言怎么样?”你知道,我们不再需要任何编码员了,任何软件工程师了,因为软件现在写起来太容易了,任何人都可以写。嗯,他说,他猜测最多可以提高 30%。他特别说的是在未来十年内提高 30%,但我认为他不必限制那么多,因为软件工程工作的大部分不是输入代码。>> 是的。嗯,所以某种意义上,Dario 说的一些话是正确的,就像现在对很多人来说,他们的大部分代码都是由语言模型输入的。嗯,对我来说也是如此。嗯,也许是 90%。>> 但这并没有让我生产力提高多少。嗯,因为那从来都不是慢的部分。它还在研究方面帮助了我很多,弄清楚,你知道,哪些文件将被修改。但任何时候我试图让 LLM 设计一个以前从未设计过很多次的东西的解决方案,它都很糟糕,因为它实际上每次都给我一个表面上看起来有点相似的设计。而且通常那将是一场灾难,因为表面上看起来相似的东西,而且我实际上是在试图创造新的东西来摆脱相似的东西。这非常具有误导性。首先,我对所谓的“科技巨头”倾向于误解认知科学和哲学等感到非常恼火,因为我们在 MLST 上与许多非常有趣的人交谈过,例如 Cesar Hadalgo,他写了《知识法则》这本书,甚至 Marva Chirama,她是一位神经科学哲学家,她一直在谈论,你知道,你知道,基本上知识就是蛋白质。所以,是的,我认为知识是视角性的。我不认为知识可以是这种抽象的、无视视角的、可以存在于维基百科上的东西。嗯,我也认为知识是具身的,是活的。它是存在于我们内部的东西,而一个组织的目的是保存和发展知识。所以当你开始将认知任务委托给语言模型时,你实际上会产生一种奇怪的悖论效应,那就是你侵蚀了组织内部的知识。>> 嗯,这是真的,而且很可怕。网上经常有这些争论。>> 在那些说“LLM 什么都不懂,它们只是在假装懂”的人之间。>> 然后其他人说,“别傻了。看看这个 LLM 刚才为我做了什么。”对吧?有趣的是,他们都说对了。LLM 在模仿理解。它们假装理解事物。而这正是早期与丹尼尔·丹尼特(Daniel Dennett)等人的认知科学工作有关的有趣之处。那基本上就是中文房间实验,对吧?有一个人在房间里,他根本不会说中文,但他看起来确实会说,因为你可以输入问题,他会给你答案,但他实际上只是在查阅大量的书籍或机器等。假装聪明和真正聪明之间的区别完全不重要,只要你在假装有效的区域内,你知道。所以,所以对于许多任务来说,LLM 只是假装聪明是完全可以的,因为就所有意图和目的而言,它只是无关紧要,直到它无法再假装为止。然后你就会意识到,哦天哪,这个东西太蠢了。>> 我是粉丝,顺便说一句。所以,你知道,他说,你知道,理解是可以因果还原的,但本体上是不可还原的。他说理解有一个现象学的组成部分,但你甚至不需要去那里。你知道,关于知识是蛋白质的想法是,你知道,这基本上是卡农的想法,世界是一个复杂的地方。我们没有人理解它。就像盲人摸象一样。我们都有不同的视角。这是一个非常复杂的事情。所以我们都做这种建模。但有趣的是,语言模型有时似乎能理解,它们之所以能理解,是因为监督者将它们置于一个框架中。所以在这个框架内,所以当你拥有大象的视角时,它们实际上令人惊讶地连贯,但我们忽视了监督者将模型置于这个框架中。>> 是的。是的。所以,C cell 对比 Dennet,还是 C cell 和 Dennet,这是我还在读本科哲学时大家都在谈论的。所以,我认为《意识的解释》大概在那时出版,中文房间可能稍早一点。有趣的是,这些讨论与我们现在进行的讨论相同,但它们已经从抽象的讨论变成了真实的讨论。如果人们回顾抽象的讨论会有帮助,因为这有助于你摆脱你的,你知道,现在看起来一个模仿智能的东西太好了,然后回到基本问题,这非常分散注意力。嗯,总之,我只是想提一下,我们现在正处于一个有趣的情况,很容易对 AI 的能力产生错误的认识。特别是当你不知道编码和软件工程之间的区别时。>> 是的。这又回到了你关于这对组织的影响的观点或问题。>> 是的。>> 你知道,很多组织都在押注他们的未来在一个投机性的前提上,那就是 AI 将能够比人类做得更好,或者至少在编码方面比人类做得更好。我对此非常担心,无论是对组织还是对人类。你知道,对于人类来说,当你不再积极使用你的设计、工程和编码能力时,你就不会成长。你甚至可能会枯萎,但至少不会成长。你知道,说到一家研发初创公司的 CEO,如果我的员工不成长,我们就会失败。你知道,我们不能让这种情况发生。而且,学习当前一代 AI CLI 框架的特定提示技巧并没有让你成长。你知道,这就像学习某个 AWS API 的细节,但你实际上并不了解互联网是如何工作的。你知道,这不是可重用的知识,而是短暂的知识。所以,如果你想,你可以把它用作学习的超能力,但它也可以做相反的事情。你知道,自然而然的事情是它会随着时间的推移而消除你的信心。>> 我同意这是自然而然的事情。所以,这对你来说尤其重要,因为你的职业生涯一直围绕着教育人们获得技术和 AI 素养。所以,默认行为非常类似于自动驾驶汽车,你知道,有一个临界点,在某个时候你就不再参与了。你不再注意,你就会出现能力的委托,你就会出现理解的债务。这是默认情况。所以,几周前 Anthropic 的这项研究,它完全与 Dario 相反,因为它甚至说,是的,研究中有几个人在问概念性问题,这些问题实际上是,你知道,在掌握事情,并且他们有一个学习的梯度,但大多数人没有。我对此的假设是,你知道,对于 Gen AI 编码的理想情况是,就像我们一样,我们已经编写了数十年的软件。我们已经有了这种抽象的理解。我们在我们熟悉的领域使用它,并且我们可以指定,我们可以消除很多歧义。我们可以跟踪,我们可以来回交流,我们可以保持与过程的联系。但发生的是,你知道,人们会进入这种自动驾驶模式,他们不知道发生了什么,而且它实际上让他们变得更笨。>> 嗯,我创建了第一家深度学习医学公司 Denalytic,大概是在 2014 年。嗯,我们最初的重点是放射学,很多人担心这会使放射科医生在放射学方面变得不那么有效。>> 是的。>> 我强烈认为恰恰相反,而且我对此进行了大量的研究,比如当飞机上有线控飞行或汽车上有防抱死制动系统时会发生什么。如果你能成功地自动化任务中真正可以自动化的部分,你就可以让专家专注于他们需要关注的事情。我们看到了这种情况。所以在放射学中,我们发现如果我们能够自动化识别肺部 CT 扫描中的可能结节,我们在这方面做得很好,我们确实做到了。然后放射科医生可以专注于查看结节,并试图决定它们是否是恶性的,或者该怎么做。所以,再次,这是微妙的事情之一。所以,如果你能有效地完全自动化某些事情,从而减轻人类的认知负担,让他们能够专注于他们需要关注的事情。这可能是有益的。你知道,我不知道我们在软件开发中的位置,因为,你知道,我写了大约 40 年的代码。所以,我写了很多代码,我可以看一眼代码屏幕,你知道,除非是相当奇怪或复杂的东西,否则我能立刻告诉你它做了什么,它是否有效,等等。嗯,我凭直觉就能看到可以改进的地方,你知道,可能需要注意的地方。我不确定如果没有写很多代码,我是否能达到那个点。所以,我现在发现真正能从 AI 中受益的人,要么是完全不会写代码的初级人员,他们现在可以写一些他们脑海中的应用程序,只要它们能以目前 AI 的能力相当快地工作,他们就满意了;要么就是像我或 Chris Latner 这样的经验丰富的人,因为我们可以让他们为我们打字,你知道,为我们做一些研究。中间的人,也就是大多数人,我非常担心,因为你如何从 A 点到 B 点?>> 是的。>> 没有输入代码,这可能是可能的,但我们没有经验。我们不知道,这可能吗?你会怎么做?这就像回到学校一样,在小学我们不让孩子使用计算器,这样他们就能锻炼数字肌肉吗?我们是否需要为开发人员的前五年这样做?你必须自己写所有代码。我不知道。但如果我是一个有两到二十年经验的开发人员,我会经常问自己这个问题,否则你可能会让自己变得过时。>> 是的。嗯,这是关于知识的另一件事,嗯,Cesa Hadalgo 说的。他说知识是不可替代的,这意味着它不能被交换。他说的意思是,学习的过程在某种重要意义上是不可还原的,你知道,你必须有经验,而且经验必须有摩擦,当我们构建世界模型时,我们实际上会学习,你知道,有这样一句话“现实会反击”,我们犯了很多错误,我们更新我们的模型,我们只是在我们的模型中放置这些连贯性约束,这就是我们学习的方式。所以你使用 claw 代码,而且这个过程中的摩擦非常少。这正是 Anthropic 的那项研究所说的。它说摩擦太少了,他们什么都没学到。>> 对。是的。不,正是如此。嗯,可取的困难是教育中出现的概念。但即使回到 19 世纪的 Ebinghouse 的工作,他是最初的重复间隔学习者,然后是最近的 Peter Wnjak,我们发现情况相同,我们知道记忆不会形成,除非形成它们需要付出艰辛的努力。所以,你知道,这就是你得到一些有点令人惊讶的结果,说,过于频繁地修改是一个坏主意,因为它来得太快了。所以,通过重复间隔学习,像 Anki 和 Super Memo 这样的东西,算法会尝试在即将忘记的时刻之前安排抽认卡。所以这需要付出艰辛的努力。所以,我学习了十年中文,是为了尝试了解学习本身。嗯,我真的注意到了这一点,我使用了 Anki,因为它总是安排我的卡片在我即将忘记它们之前,这总是极其艰辛的工作。>> 是的。>> 你知道,做复习,因为几乎所有的卡片都是我快要忘记的。这真是令人筋疲力尽。但我的天哪,它很有效。你看,我现在,我十多年没怎么学习了,但我还记得我的中文。>> 嗯,我知道,我的意思是,回到你的放射学例子,嗯,人们给的一个例子是呼叫中心。所以,你知道,我们有一种观念,在一个组织中,我们有高智力角色和低智力角色,对我来说,智力就是知识的适应性获取和综合。所以我们假设,你知道,低智力角色做呼叫中心的工作,它不适应,这意味着我们可以,你知道,一个组织做的一些事情是不变的,所以我们可以自动化它们,我们不需要更新我们的知识。我认为这忽视了,实际上,也许通过放射学例子,拥有这种整体知识,你知道,在呼叫中心有很多奇怪的边缘情况,有很多奇怪的事情发生,这些都会过滤到组织中,我们随着时间的推移而适应。所以当你开始自动化事情,而你实际上失去了创造最初创造事物的过程的能力,并且你失去了组织中知识的可演化性,你实际上是在削足适履。>> 是的,绝对。而且,嗯,所以,你知道,我所知道的就是在我公司里,我一直告诉我们的员工,我几乎只关心你的个人人类能力增长了多少。你知道,我实际上不关心你做了多少 PR,嗯,你做了多少功能。嗯,你看,那个不错的,嗯,你知道,TCL 的 John Oster 最近发布了他的一些,他最近的斯坦福周五下午讲座,他有一个很好的讲座叫做“一点点斜率可以弥补很多截距”。基本上就是说,你知道,在你的生活中,如果你能专注于做那些让你成长更快的事情。>> 是的。>> 这比专注于你已经擅长的事情要好得多。你知道,它有很高的截距。>> 所以我真正关心的唯一一件事,我认为对我公司来说唯一重要的事情是,我的团队,我专注于他们的斜率。>> 是的。如果你只专注于利用 AI 目前能做到的极限来驱动结果,你只关心截距,你知道。所以,我认为这基本上是通过公司和其中人们走向过时的道路。所以我对许多大公司的高管现在都在推动这一点感到非常惊讶,因为这感觉就像如果他们错了,他们很可能错了,而且他们无处可查,因为这是他们完全不熟悉的领域。如果他们从未在 MBA 中学过。他们基本上是在为他们的公司被摧毁铺平道路。>> 是的。>> 而且我真的对股东会让他们这样做感到惊讶。你知道,进行如此投机的行动。是的。我们在这里。感觉很多公司将因为积累的技术债务而失败,导致它们无法维护或构建其产品。有很多像 France relate 这样的人,他真的明白了。他理解这一点,你知道,所以他一直这么说。
它关于这种模仿性的认知模型共享,关于领域,以及我们如何共同改进共享事物。这是生成式人工智能编码的另一个巨大的扩展问题,对吧?所以,理想情况是,我做过这件事。我非常了解一个领域,并且可以用极其详细的方式来描述它,然后我告诉 Claude Code,去做这件事,我脑中的模型就不重要了。嗯,然后你进入一个组织,现在我需要与所有其他人分享我的知识,对吧?我敢肯定你们公司也有这种情况。比如,你需要让知识获取瓶颈成为组织中一个非常严重的问题。所以,当只有我一个人时,我认为使用 Claude Code,我的效率可能提高了 50 倍。这简直是魔法,我能理解为什么人们对此如此兴奋。但人们似乎不理解瓶颈,以及这如何不能真正转化为许多现实世界的组织。>> 实际上没有人比以前创造出 50 倍的高质量软件。所以,我们实际上已经对此进行了一项研究,人们实际交付的软件数量只有微小的增长,微小的增长。这就是事实。显然,我是人工智能及其能力的爱好者,但我的妻子瑞秋最近在一篇文章中指出,让赌博上瘾的所有要素都存在于 >> 是的。暗流。>> 我正要提起这个。你得告诉我们 >> 编码。>> 是的,>> 这是非常尴尬的局面,几乎我认识的所有最近几个月对人工智能驱动的编码感到非常兴奋的人,当他们最终回顾并查看在那些充满热情时期我构建了多少东西,今天我还在使用吗?我的客户今天还在使用吗?我今天还在从中赚钱吗?几乎所有的钱都是由影响者赚取的,你知道,或者由生产代币的公司赚取的。关于基于人工智能的编码,它就像一个老虎机,你有一种控制的错觉。你知道,你可以精心制作你的提示词,你的 MCP 列表和你的技能等等。但最终,你拉动了杠杆,对吧?你输入了提示词,然后有什么东西回来了,就像樱桃樱桃。就像,哦,下次我会稍微改变我的提示词。我会增加一点上下文。再次拉动杠杆。再次拉动杠杆。这是随机的。你会偶尔获得一次胜利,就像,“哦,我赢了。我得到了一个功能。”所以,它具有所有这些标志,就像伪装成胜利的损失。嗯,某种程度上的随机控制感,所有那些 >> 游戏公司试图设计到他们的游戏室里的东西。现在,这一切并不意味着人工智能没有用,但天哪,很难说。>> 我知道。而且瑞秋,只是为了说清楚,她还说赌博的一个标志是,你有点欺骗自己,认为你对正在发生的事情有所了解,但实际上你并没有。但我们还是来谈谈乐观的情况吧。所以,因为我确实认为在受限的情况下,它确实非常有用,而且这些情况是我们理解并可以施加约束和规范的。但即使在这些情况下,你也可以争辩说,我们不会,你知道,我们不会很快失业,因为你只是做了更多关于成瘾的事情。我注意到,我曾有过 14 小时的 Claude Code 马拉松式会议,我实际上感觉自己对它上瘾了。就像一个老虎机,你知道。它确实是这样。>> 我也有过。绝对。>> 是的,我知道。而且我从未感到如此疲惫地编写代码。我实际上需要休息几天,因为这完全 >> 是垃圾,你知道。是的,绝对。我确实取得了一些成功,对吧?事实上,在过去的几年里,我们一直在围绕我们知道成功所在的地方构建一个完整的产品,那就是当你处理你可以完全理解的合理小的部分时,你可以设计并构建你自己的抽象层来创建比你正在构建的零件更大的东西。最近有一个非常有趣的情况,我只是它基本上是一个实验,那就是我们非常依赖一个叫做 um IPI kernel 的东西,它是驱动 Jupyter notebook 的东西。IPI kernel 从 6 到 7 有一个重大的版本发布,它停止工作了。>> 它停止工作了,我们试图使用的两个产品,一个是叫做 today NB classic,它是原始的 Jupyter notebook book,然后是我们的产品叫做 Solve It,它会随机崩溃。>> iPel 有 5000 多行代码。它是非常复杂的代码,多线程,事件,块,与 IP,Python 交互,你知道,与 ZMQ,你知道,各种不同的部分,嗯,嗯,debug pie。>> 我无法理解它,也看不到它为什么会崩溃。测试都通过了。我想知道人工智能是否能解决这个问题。你知道,我总是对人工智能一次能处理多大的代码块这个问题感兴趣。答案是肯定的。我认为它可以,就像我花了几个星期,我并没有真正理解 IPI kernel 是如何工作的,但我确实花了很多时间来提取独立的组件,比如,答案是在两个小时的代码克斯 5 点,我认为是 5.2,当时或者可能是 3 刚刚发布。做不到。然后,如果我花了 200 美元一个月 >> 的 GPT5.3 Pro 来解决问题,它就能做到。所以,通过在这两个软件之间回滚,这两个模型,我可以在几周内让事情正常工作。就像你说的,这一点也不好玩。它非常累人,而且感觉很有压力,因为我并没有真正控制。但有趣的是,我现在处于一个我拥有唯一一个 Python Jupyter 内核实现的境地,它似乎能正确地与这些新的 7 版本协议改进一起工作。现在我感觉,嗯,这很有趣,因为我们没有一种软件工程理论来处理现在该做什么。比如,这里有一段代码,没有人理解。>> 是的。>> 我要拿我公司的产品去赌吗?答案是我不知道,因为我不知道现在该做什么,因为没有人经历过这种情况。它会有内存泄漏吗?如果协议有任何微小的变化,它在一年后还能工作吗?会不会有一些奇怪的边缘情况会摧毁一切?没有人知道,因为没有人理解他的代码。这是一个非常奇怪的情况。>> 我认为,首先,我们应该承认控制的有害侵蚀。所以,一开始,你有 10% 的人工智能生成代码,然后你就可以看到它如何逐渐增加,然后在大约六个月后,一个 PR 来了,现在你知道 60% 的代码是人工智能生成的,你看到了什么?你慢慢地变得脱节了。但乐观的情况是,你知道,在人工智能领域有一个叫做功能主义的想法,你知道,我们不关心智能的东西是由什么组成的。只要它能做所有正确的事情,那么我们就知道,你知道,我们会说它是人工智能。软件也是如此。所以,乐观的情况是,我理解这个领域。我不需要知道如何编写快速排序算法。我只需要理解它,对吧?然后,然后,你知道,所以我只需要拥有所有这些测试,它就需要部署,这些事情就需要发生,然后,你知道,我实际上并不在乎,而且我也可以 >> 我也很清楚,我也很喜欢这种表述,但你知道,这实际上说明了软件工程确实很重要,因为软件工程就是关于找到那些部分是什么,它们应该如何表现,然后如何将它们组合起来以创建更大的部分,然后如何将它们组合起来以创建更大的部分。如果我们做得好,那么在 10 年后,我们就可以拥有比我们今天所能想象的任何东西都更强大的软件。>> 嗯,但你已经通过非常优秀的软件工程获得了这一点。是的,你需要小心。我认为最终,比如 IPI kernel,我发现它太大了,对吧?因为最终,创建原始 IPI kernel 的团队无法创建一组能够正确测试它的测试,因此实际的下游项目,包括原始的 NB classic,你知道,IPI kernel 就是从中提取出来的,已经无法工作了。所以,这基本上是我们现在在 Answeri 的开发方面关注的重点,那就是找到合适大小的组件,并确保它们是正确的组件。知道如何识别这些组件是什么,如何设计它们,以及如何将它们组合起来,这通常需要几十年的经验才能真正做好。嗯,对我来说绝对是这样。嗯,我认为我大概在 20 年的经验后才做得相当好。是的,这是一个大问题,那就是如何建立这些软件工程技能,这些技能现在比以往任何时候都更重要。它们是一个擅长编写计算机软件的人和一个不擅长的人之间的区别。这似乎是一个挑战性的问题。>> 我知道。而且还有一种观念认为,有很多不同的方法来抽象和表示某事。你知道,世界是一个非常复杂的地方。也许我们抽象和表示软件的方式主要是我们自己认知局限性的反映,对吧?即使在科学领域,在物理学中,你也倾向于有很多非常简化的方法来模拟世界。然后你有了复杂性科学,它只是拥抱了事物的建设性、耗散性、你知道,棘手的本质。我认为今天的许多软件我们都不理解,所以,例如,有许多全球分布的软件应用程序使用 actor 模式,这基本上就像一个复杂系统,对吧?我们唯一能理解它的方法就是通过模拟和测试,因为没有人真正知道所有这些东西是如何组合在一起的。所以,你可以争辩说,也许我们已经在软件工程的顶端这样做了,而且这最终是我们想要的。是的,我大概不会。你看像 Instagram 和 WhatsApp 这样的公司主导了它们的领域,同时只有 10 名员工,并且击败了像 Google 和 Microsoft 这样的公司。我认为大型公司构建软件的方式实际上正在失败。我认为我们看到许多这些大型公司变得越来越绝望,你知道,例如,微软 Windows 和 Mac OS 的质量在过去 5 到 10 年里明显恶化了。你知道,当 Dave Cutler 查看 NT 内核的每一行代码并确保它很漂亮时,它是一款优雅而奇妙的软件,你知道,而且我认为世界上没有人会说 Windows 11 是一款优雅而奇妙的软件。所以,我实际上认为我们需要找到那些我们完全理解的小组件,并且我们需要构建它们。问题就在这里。>> AI 在这方面不好。所以,我之所以这样说,是基于经验的。它们在软件工程方面真的很糟糕。>> 然后我认为这可能永远是真的,因为,你知道,我们经常要求它们超出它们的训练数据。你知道,如果我们试图构建一些以前从未构建过的东西,并以比以前更好的方式构建它,我们就会说,不要只是复制训练数据中的内容。所以,>> 而且,这对于很多人来说是一个令人困惑的点,因为他们看到人工智能在编码方面非常出色,然后你就会想,哦,那是软件工程,你知道,就像,哦,它一定擅长软件工程。但它们是不同的任务。它们之间没有太大的重叠,而且目前没有经验数据表明大型语言模型在软件工程方面获得了任何能力。每次你看到它们做的软件工程,比如 Cursor 创建的浏览器,或者 Anthropic 创建的 C 编译器,比如我读过这些东西的源代码相当多。>> Chris Latner 比我更熟悉编译器示例。>> 但它们非常非常明显地复制了已有的东西。所以,这就是挑战,你知道,如果你想构建一些不仅仅是复制的东西,那么你就不能把它外包给大型语言模型。没有理论上的理由相信你永远能够做到这一点,也没有经验数据表明你永远能够做到这一点。>> 是的。我认为这次谈话的要点是,我确信你也会同意这一点,那就是我们需要人工智能和人类的结合,对吧?因为人类提供了理解和我们所说的所有知识,但我们仍然可以将人工智能用作工具。我们需要设计操作模型或工作方式,让我们说,我们不想削弱我们的能力和理解力,对吧?>> 所以,所以这是一条非常微妙的界限。>> 这就是我们的重点,我们都专注于教学和我们自己的内部开发。我研究了 20 年的东西,结果证明是让这一切都奏效的东西。应该为这个获得荣誉的是创建 notebook 界面的人。虽然很多想法可以追溯到 Smalltalk、Lisp 和 APL。但基本上,人类可以在与计算机的实时交互中操纵其中的对象,研究它们,移动它们,并将它们组合起来,从而使人类能够做更多的事情。是的,这就是 Smalltalk 的全部内容,你知道,关于对象,APl 也是关于数组的。Mathematica 本质上是一个超级强大的 Lisp,然后又添加了这个非常优雅的 notebook 界面,让你能够构建一个活生生的文档。所以,我几年前构建了一个叫做 NBDEV 的东西,它是一种在 notebook 界面中创建生产软件的方法,在这些丰富的动态环境中,我发现这让我作为一个程序员的效率大大提高,就像今天一样,即使我从来没有全职做过程序员,但当你看看我的 GitHub repo 输出时,我认为 GitHub 产生了一些统计数据,我差不多是澳大利亚最高产的程序员,你知道,就像,它奏效了,而且我构建的很多东西都有很多人使用,因为它是一种非常丰富强大的构建方式。所以,事实证明,我们现在发现,如果你将人工智能放在与人类相同的环境中,再次在一个丰富的交互环境中,人工智能也做得更好,这也许并不令人震惊,但通常的,比如,如果你使用 Claude Code,我知道你这样做,而且它是一个非常好的软件,但我们给 Claude Code 的环境与 40 年前人们拥有的环境非常相似。去,你知道,它是一个基于行的终端界面。>> 嗯,你知道,它可以使用 MCP 或其他什么。大多数时候,它只是现在使用 bash 工具,你知道,bash 工具也非常强大。我喜欢 bash 工具,我一直使用它们,你知道,CLI 工具一直都在使用,但它仍然只是它使用文本文件,你知道,作为它与世界的接口。它真的很少。>> 所以,所以我们将人类和人工智能放在 Python 解释器中。>> 然后,突然之间,你拥有了一个非常优雅、富有表现力的编程语言的全部力量,人类可以用它来与人工智能交流。人工智能可以与计算机交流。人类可以与计算机交流。计算机可以与人工智能交流。就像你拥有这个非常丰富的东西。然后,我们让人类和人工智能实时构建彼此可以使用的工具。对我来说,这就是它的意义所在,对吧?这是关于创造一个人类可以成长、参与和分享的环境。对我来说,当我使用 Solve It 时,这与你描述的 Claude Code 的体验完全相反。几个小时后,我感到精力充沛、快乐和满足。>> 我给你我的看法。我认为你在这里指出的东西是,拥有一个交互式的、有状态的环境并给你反馈是神奇的。>> 这是因为我们的大脑可以完成一定的工作量。所以,所以我们实际上通过与现实的提炼和测试来思考,这就是为什么,我的意思是,我在读博士期间使用了 Mathematica 和 Mat Lab,我同意,我们有这个涟漪环境,你知道,这是矩阵,做一个图像图,你知道,做一个改变,它现在看起来是这样的,它实际上是一种很好的方式来提炼我对某事的心理模型。>> 但 Claude Code 做了很多这些事情,我认为这主要是技能问题。我认为有效使用 Claude Code 的人就是这样做的。我写了一个内容管理系统。>> 这是可能的。这是可能的。>> 这是可能的。是的。所以,我写了一个叫做 Rescript 的内容管理系统。当我制作纪录片时,它可以去,它可以拉取字幕,然后我可以验证这些说法。而且,你知道,人工智能素养的一部分就是理解语言模型的非对称性,对吧?所以,当你给它们一个区分性任务时,它们实际上做得很好。所以,如果我告诉它在一个子代理中去验证每一个单独的说法,它比我在生成模式下生成一堆说法要准确得多,而且状态反馈的东西又来了,你知道,我可能有一些图示化的 XML 转储,我可能在这里有一个应用程序在可视化,它就像一个反馈循环,对我来说,这是一个人工智能素养的问题,那些擅长人工智能的人已经在这样做了。>> 是的。所以我并不完全同意你。我同意你可以在 Claude Code 中做到这一点,我也同意这是一种人工智能素养,至于你是否能做到,但 Claude Code 的设计初衷也不是为了做到这一点,它在这方面并不擅长,而且它并没有让它成为自然的工作方式。我不想说这是一个人工智能素养问题,因为这就像说,哦,这是你的问题。对我来说,如果一个工具不能让一个人变得更知识渊博、更快乐、更与他们正在处理的事情建立更深的联系,那就是工具的问题。工具的设计就应该是这样的。所以,许多模型和工具明确地被评估为,我能否给它一个完整的工作,让它去完成整个事情,这对我来说似乎是一个巨大的错误,而不是你是否评估过一个人是否能从中获得对一个主题的深刻理解,这样他们就可以在未来轻松地构建东西。我同意所有这些,但还有另一个有趣的方面是,Joel Grus 做了一个著名的演讲,我们会谈论这个,他说 notebook 很糟糕。>> 从软件工程的角度来看,它们非常糟糕,而且当时,也许现在仍然在某种程度上,我同意他,因为,你知道,我做过 ML DevOps。我在大型组织工作过,你知道,比如试图弄清楚如何弥合数据科学和软件工程之间的差距,而 Claude Code 已经更偏向软件工程方面了,这意味着它会创建幂等、无状态、可重复的工件,对吧?所以,正如你所说,从教学的角度来看,拥有这种有状态的反馈真的很好,因为我可以理解发生了什么,但我需要将其转化为可部署的东西。你能告诉我们你回应 Joel Bruce 的故事吗?你不是吗?而且那有点像一场灾难,不是吗?但请告诉我们那个故事。>> 他做了一个非常好的视频,叫做“我不喜欢 notebook”。>> 它非常搞笑,做得非常好。>> 是的,我完全错了。他说的 notebook 不能做的事情,它们都可以。而且他说的 notebook 不能做的事情,我一直在用 notebook 做。所以,这是一个非常有趣但错误的演讲。然后我做了一个模仿,叫做“我喜欢 notebook”,在其中我基本上复制了他的大部分幻灯片,并展示了它们是如何完全错误的。但实际上,我认为你关于它最终触及核心的评论是,这是正常软件工程的运作方式与科学研究和类似事情的运作方式之间的区别,我认为,而且我同意存在这种二分法,而且我认为这种二分法是一个真正的遗憾,因为我认为软件开发正在被错误地进行。>> 它是以这种方式进行的,你知道,一切都关于可重复性和这些死去的、死去的代码、死去的文件。我永远无法像 Brett Victor 在他的作品中那样清晰地表达这一点。所以我鼓励那些没有看过 Brett Victor 的人去看他。你知道,他一次又一次地展示,直接的联系,你与你正在做的事情的直接、切身的联系就是一切。你知道,这就是他的使命,确保人们拥有这种联系,而这基本上也是我的使命。对我来说,传统的软件工程离这一点越远越好。我认为它很糟糕。>> 我觉得它很恶心,我觉得很可悲,人们被迫这样工作。这就像,我认为这是不人道的,而且我只是不认为它效果很好。我的意思是,从经验上看,它效果并不好。>> 而且它对人工智能来说也差很多,因为它对人类来说也差很多。它一直都不是这样的,你知道,像 Ellen K 和 Smalltalk,以及 Iverson 和 APL,你知道 Lisp Wolf 和 Mathematica。对我来说,那是黄金时代,当时人们专注于如何让人类尽可能紧密地与计算机协同工作的问题。你知道,这就是鼠标的由来,例如,点击和拖动,并将计算机中的实体可视化为你可以移动的东西。所以,我觉得我们失去了这一点。我觉得这真的很悲伤。是的,有了 Claude Code 之类的东西,默认的工作方式就是深入其中。这就像,好吧,有一整文件夹的文件。你甚至从不看它们。你与它的全部互动是通过一个提示词。>> 是的。>> 我,我,它简直让我恶心。>> 我真的认为这是不人道的,而且我的使命与过去 20 年一样,那就是阻止人们这样工作。>> 我知道。但是回想一下,我以前和数据科学家一起工作。他们使用 Jupyter notebook。我发现通常,我的意思是,当时你不能,如果你把它们提交到 git,它看起来不会很好。大多数数据科学家不知道如何使用 git。他们会乱序运行单元格,这意味着它不可重复。有很多这样的事情。但是,我同意你的观点,你可以以这种工作流程使用它们。但它又回到了我之前说的,你知道,我们之前谈论了呼叫中心,它就像一项低智能的工作。你知道,数据科学家之所以从事智能工作,是因为他们实际上在创造不存在的东西。他们正在弄清楚问题的轮廓。他们实际上是在一个理解不清的领域工作。但你现在可以争辩说,乐观的情况是,当数据科学家能够简洁地描述问题的轮廓时,也许我们可以去 Claude Code,我们可以正确地实现它。但我们如何弥合这两个世界之间的差距?>> 我认为那将是一个非常非常糟糕的主意。>> 你不想让人离开他们的探索性环境。>> 研究和科学是通过人们建立洞察力来发展的。>> 无论你听谁说,你知道,无论是 Feainman 还是其他人,你总是从伟大的科学家那里听到,他们通过建立心理模型来加深直觉,而这些模型是他们随着时间的推移通过与他们正在学习的事物互动而获得的。现在,就像在 Feynman 的情况下,因为他是理论物理学家,他实际上无法抓住一个旋转的夸克,但他确实在研究旋转的盘子。你知道,你必须找到方法来深入互动。>> 所以,我经常看到数据科学团队,因为你说得对,数据科学团队对 Git 并不熟悉,而且对他们确实需要理解的东西也不熟悉。>> 所以,我经常看到一个软件工程师成为他们的经理,他们的解决方案是告诉他们停止使用 Jupyter notebook,现在他们必须使用所有这些可重复的 blah blah 虚拟,你知道,虚拟结束 blah blah。他们一次又一次地摧毁这些团队。我见过这种情况一再发生。>> 因为解决方案不是增加纪律和官僚主义,而是解决实际问题。>> 所以,例如,我们构建了一个叫做 NB merge driver 的东西,很多人不知道,但实际上,notebook 对 Git 非常友好。只是 Git 没有为它们提供一个合并驱动程序。所以,Git 只为基于行的文本文件提供合并驱动程序,但它是完全可插拔的。所以,你可以很容易地为 JSON 文件插入一个。所以,我们写了一个。所以,现在当你 diff 时,你知道,当你使用我们的合并驱动程序进行 get diff 时,你会看到单元格级别的 diff。如果你遇到合并冲突,你会遇到单元格级别的合并冲突。>> notebook 始终可以在 Jupyter 中打开。>> NB Dime 也做了同样的事情。所以,这是两个独立的实现。>> 所以,是的,有一些问题需要解决,你知道。>> 但解决方案不是扔掉 Brett Victor 的想法,让人们远离他们的探索性工具,而是修复探索性工具。>> 我认为所有软件开发人员都应该使用探索性编程来加深他们对他们正在处理的事物的理解,这样他们最终就能对他们正在构建和处理的系统形成一个非常强大的心理模型,然后他们就能提出更好的解决方案,更渐进地改进测试。我基本上从不使用调试器,因为我基本上从不犯错,这并不是因为我是一个特别好的程序员。这是因为我从小步骤开始构建东西,每一步都有效,而且我可以看到它在工作,我可以与之互动。所以,没有犯错的空间。>> 你知道,我在这方面很矛盾,因为我同意你的观点,同时我也怀疑那些说组织会趋于一种做事方式,不再需要进化的人。你知道,创新就是适应性,对吧?我们应该尽可能地增加适应性的表面积。所以,我们需要不断测试新想法的人,找到这些限制。但同样,我们需要使用云。我们需要使用 CI/CD。我们需要将这些东西投入生产。>> 是的。所以,你绝对可以,但是,你知道,NBD 开箱即用地提供了 CI 集成,而且你知道,测试就在那里,因为源代码是一个 notebook,关于这个 API 如何工作的整个探索,你知道,调用它是什么样的,函数的实现,它们的示例,它们的文档,它们的测试都在一个地方。>> 所以,在这个环境中,成为一个好的软件工程师要容易得多。>> 所以,是的,就像,两者都做。>> 你还记得,当时有一个叫做“生存风险应该是紧急优先事项”的说法,由 Hinton 和 Demis 等人签署,你回应了,基本上是反驳,而且是和 Aravind 一起,你知道,那个江湖骗子。告诉我那个。你认为我们应该担心 AI 的生存风险吗?>> 我的意思是,那是一段特定的时间,不是吗?我觉得事情已经发生了一些变化,谢天谢地。我觉得我们,不仅仅是我和 Ara,而且是我们所属的社区,大概赢了。现在我们有其他问题要担心了。但你知道,基本上在那时,普遍的说法是,人工智能即将变得自主。它可能随时变得自主,并可能摧毁世界。>> 所以,这很大程度上源于,你知道,Alysia Yukowsk 的工作,>> 我认为这在很多层面上已经被证明是错误的。>> 他们会反驳这一点,当然。当然会。>> 是的,>> 这是那些他们总是可以反驳的事情,就像任何末日邪教一样,除非你给它一个日期,然后日期过去了。>> 嗯,即使是我,我也更新了一点,因为我现在认为,这些模型可以说在受限领域是智能的。Arc 挑战证明了这一点。所以,如果你将约束条件放入问题中,你就可以更快地朝着已知目标前进。甚至代理。你可以放一个规划器,你可以说,如果你知道你要去哪里,你可以更快地到达那里,但这没有帮助。你知道,你可以拥有所有的智能和代理,但如果你没有知识和约束,那么你就会朝着错误的方向前进得更快。而且我认为他们似乎没有意识到,这些模型实际上并不知道世界。>> 就像,这一切都与 Avan 和我的观点无关,那就是,误解了真正的危险所在。>> 那就是,当一个技术上更强大的技术进入世界时,它可以使一些人变得更强大。那些热爱权力的人会试图垄断这项技术,它越强大,那些权力欲强的人的冲动就越强烈。所以,忽略人们,所以,这是问题所在。如果你说,我不在乎那些。我只关心自主人工智能的崛起,你知道,奇点,回形针,纳米胶体,随便什么。最明显的解决方案是,哦,让我们集中权力。而这正是在那个时候,我们尤其看到的。让我们把 >> 那些非常富有的科技公司,或者政府,或者两者都拥有所有这些权力,并确保其他人没有。在我的威胁模型中,这是你能做的最糟糕的事情,因为你已经将控制能力集中在一个地方,因此这些人渴望权力,他们只需要接管那件事。>> 我们能区分你所说的权力吗?因为我们刚刚花了部分对话谈论它实际上并没有人们想象的那么强大。>> 但我,但我甚至不是,那就是,但我的甚至是一个“如果”的事情,对吧?所以,就像,我只是说,即使它最终变得非常强大,对吧?就像,我甚至不想争论它是否会强大,因为那是推测性的。即使它会变得非常强大,你仍然不应该将所有这些权力集中在一个公司或政府手中。>> 是的。因为如果你这样做,所有这些权力都将被权力欲强的人垄断,并被用来摧毁文明。基本上,你最终会陷入一种情况,即所有这些财富和权力都将集中在那些 >> 想要集中它们的人手中。所以,就像,几百年来,社会一次又一次地面对这个问题。你知道,所以,就像,你知道,写作曾经是只有最排他性的人才能接触到的东西。同样的论点也被提出了。如果你让每个人都写作,他们就会用它来写我们不希望他们写的东西,那将是非常糟糕的。你知道,印刷术也是如此,投票权也是如此。>> 而且一次又一次,社会必须与那些拥有现状权力的人的这种自然倾向作斗争,就像,不,这是一个威胁。>> 所以,当我们说,好吧,如果人工智能最终变得非常强大,那么社会将其掌握在少数人手中,还是 spread out across society 会更好?>> 我的论点是后者。>> 现在,也有一个论点是,别担心。它不会那么强大。我只是不想去那里,因为这不是一个容易获胜的论点,因为你无法真正说会发生什么。我们都在猜测。但我可以非常清楚地说,嗯,如果发生了,让埃隆·马斯克一个人拥有它,或者让唐纳德·特朗普一个人拥有它,会是好主意吗?>> Dan Hendris 谈到了这种攻防不对称性。所以,我们实际上需要有制衡的防御措施。但我们姑且接受这一点,因为显然,当我们看像 Meta 和 Facebook 这样的东西时,权力失衡是很清楚的。你知道,它们控制着我们所有的数据。你知道,它们知道我们正在做什么。对于像 OpenAI 和 Claude 这样的东西,它不像我们最初想象的那么好,因为实际上人类仍然需要参与。但例如,它们拥有我们所有的数据,对吧?你可能正在研究一些新的创新技术,你正在使用 Claude,你正在把你的所有信息都发给它们,它们现在可以复制你。我的意思是,你说的风险是什么,更具体地说?>> 是的。不,我的意思是,我当时并没有谈论那些事情,对吧?所以,当时我谈论的是人工智能变得非常强大的这种推测性问题。我的意思是,就像现在,例如,它们说这是新的生产资料,而这对我来说似乎完全是夸张的,但根据你现在最好的估计,如果存在风险,那是什么?>> 如果存在当前技术状态的风险,我的意思是,我认为其中一些是我们已经讨论过的,那就是人们通过失去变得更有能力的能力来削弱自己。那就是我最担心的大风险。>> 隐私风险,它存在,但我不太确定它是否比以前的 Google 和 Microsoft 更存在。就像,你知道,你曾经在微软工作过,你知道,他们拥有多少关于普通 Outlook、Office 等用户的数据,>> 对于 Google 也是如此,你知道,普通的 Google Workspace 或 Gmail 用户。>> 那些隐私问题是真实的,尽管我认为这些公司存在更大的隐私问题,政府可以将数据收集外包给它们。所以,过去,像 ChoicePoint 和 Axiom 这样的公司,现在可能更多的是像 Palanteer 这样的公司。美国政府被禁止建立关于美国公民的大型数据库,例如。>> 但公司并没有被禁止这样做,政府也没有被禁止将合同外包给这些公司。>> 所以,我的意思是,这是一个巨大的担忧,但我认为这不是人工智能独有的。当然,你在英国,你知道,在英国,监控已经普遍存在相当长一段时间了。它确实使得使用这种监控更容易,但一个资源充足的组织可以投入一千名人员来解决这个问题。>> 所以,是的,我不确定这些是由于隐私问题,而是比以前更普遍的问题。>> 是的。>> Jeremy,我注意到时间了。我需要去机场。>> 好的。>> 这太棒了。>> 谢谢你,先生。谢谢你来。>> 是的。>> 希望你旅途愉快。非常感谢。