00:00:00作为一名程序员,
00:00:01我从未感到如此落后过。这个职业正在经历剧烈的重构,
00:00:06程序员所贡献的代码变得越来越稀疏和零散。我有种感觉,
00:00:10如果我能够恰当地将过去一年中出现的各种工具串联起来,
00:00:15我的效率可以提升10倍。而无法获得这种提升,
00:00:19感觉确实像是个人能力问题。
00:00:23让我们来谈谈 Andrej Karpathy 的这篇文章。如今,
00:00:29作为开发者很容易感到落后。因为关于 AI 的热议太多了,
00:00:35每天都有新模型发布,
00:00:36新工具以及使用这些工具的新模式层出不穷,
00:00:40这会让你感到落伍。而且要明确一点,
00:00:44确实有很多出色的模型,
00:00:46比如 Opus 4.5,
00:00:48也有很棒的工具,
00:00:50比如 Cursor、
00:00:52Cline Code 或 Windsurf,
00:00:56我真的很喜欢使用它们。你可以从这些工具中获得很多好处,
00:01:01我会分享更多关于如何高效使用这些工具的资源,
00:01:05以及我是如何使用它们的,
00:01:08还有你可以采用的一些模式或最佳实践。但是,
00:01:12你很容易在不该感到落后的时候感到落后。我认为没有理由感到落后。原因如下。在他的文章中,
00:01:20Andrej 指出,
00:01:22除了通常的底层之外,
00:01:24还有一个新的可编程抽象层需要掌握,
00:01:27顺便说一下,
00:01:28底层很重要。很明显,
00:01:30那些层级不会消失。你的技能仍然会被需要,
00:01:34但我们暂且不谈这个。但是在你作为开发者的技能之上的新层级是,
00:01:40你必须知道如何与智能体、
00:01:42子智能体协作,
00:01:44如何编写好的提示词,
00:01:46管理上下文、
00:01:47记忆、
00:01:47AI 工具可以使用的不同模式,
00:01:50比如计划模式、
00:01:52构建模式和询问模式或其他模式,
00:01:55权限、
00:01:55工具、
00:01:56插件、
00:01:56技能、
00:01:57钩子、
00:01:58MCP、
00:01:58LSP、
00:01:59斜杠命令、
00:02:00工作流等等。所以那种必须掌握大量新工具、
00:02:04大量新模式才能与 AI 高效协作的感觉。而且很容易有这种感觉。我是说,
00:02:11如果你看一下 Cline Code 的文档,
00:02:15有可以构建的子智能体。有可以构建或安装的插件。有可以构建的智能体技能,
00:02:22顺便说一下,
00:02:23我觉得这真的很有用,
00:02:25但就是这些。有钩子可以让你在特定事件发生时自动运行一些代码。比如,
00:02:31智能体完成某个任务时。
00:02:33还有 MCP,
00:02:35也就是 MCP 服务器,
00:02:37你可以将它们添加到 Cline Code 中,
00:02:41赋予它新的能力。然后在 X 平台和互联网上有数十种模式,
00:02:46告诉你如何有效地结合所有这些功能,
00:02:49以充分利用 Cline Code。我是说,
00:02:53有这整个 Ralph Wiggum 的东西,
00:02:56本质上是一个可以添加到 Cline Code 的插件,
00:03:01让它进入一种模式,
00:03:03在这种模式下它会持续自主运行,
00:03:06改进你的代码,
00:03:07解决新任务等等。
00:03:08因此有了这个循环,
00:03:10它不断改进、
00:03:11不断迭代,
00:03:12至少在相当程度上让你脱离循环,
00:03:15这样它就可以更独立地工作。有很多事情正在发生。这正是 Andrej 在这里基本上提到的。你可能会感到不知所措,
00:03:26因为有太多东西需要学习和掌握。但这里有个重要的点。你不需要掌握所有这些。例如,
00:03:34Lee Robinson,
00:03:37曾在 Vercel 担任 Next.js 的开发者关系人员,
00:03:43现在在 Cursor 工作。在假期期间,
00:03:47他完全使用 Cursor 和 AI 构建了一个基于 Rust 的图像压缩器、
00:03:54WASM 二进制文件和 SvelteKit 应用,
00:03:59据我记得,
00:04:00他自己没有写一行代码。他获得了测试覆盖率,
00:04:04他确实审查了代码,
00:04:06也提供了大量指导。这不是氛围编程。他有清晰的愿景,
00:04:11并指导模型如何构建这个应用。但他在 AI 的帮助下,
00:04:16用 Rust 从零开始构建了这个图像压缩库。他非常明确地表示,
00:04:23他构建这个项目的 80% 没有使用任何自定义规则。你知道 Cursor 规则是你可以设置的东西,
00:04:32给 Cursor 一些规则,
00:04:35它应该遵循的命令或其他任何东西。所以他没有使用插件、
00:04:40MCP 和所有东西协同工作设置这种超级复杂的工作流,
00:04:45没有使用 Ralph Wiggum 风格的无限循环,
00:04:51没有一堆技能和子智能体。不,
00:04:53他只是使用 Cursor 和一个 AI 模型,
00:04:58我想是 Opus 4.5,
00:05:01一步一步地构建这个应用,
00:05:03当然智能体基本上完成了所有工作,
00:05:06但是基于他的指导。这是一个非常有趣的项目。它向我们展示了如今使用 AI 作为助手可以达到多远。再次强调,
00:05:17不是氛围编程,
00:05:18而是将你作为开发者的专业知识与这些 AI 工具的能力和知识相结合。顺便说一下,
00:05:26这个 Rust 图像压缩库很可能存在问题。他自己也这么写。里面绝对可能有 bug、
00:05:34性能问题或类似的东西,
00:05:36但这仍然是一个令人印象深刻的成就。但这在某种程度上与我们在这条推文中看到的相悖,
00:05:44这并不意味着你不能感到落后。这绝对是合理的,
00:05:49我们可能都时不时会有这种感觉。这只是意味着你不需要使用所有这些功能才能充分利用 AI。所以你不需要使用所有这些。你可以以非常自然的方式使用 AI,
00:06:03通过提供好的提示词、
00:06:05好的上下文,
00:06:06例如通过拥有一个 AI 智能体可以运行来验证其结果的测试套件。所以你需要有一些东西,
00:06:15但你不需要组合所有这些东西并学习所有这些。然后还有另一个理由说明你不需要感到落后。另一个理由是,
00:06:24反正所有这些很快都会改变。
00:06:27我是说,
00:06:27这些功能中有多少是我们半年前就有的?我甚至不知道,
00:06:33但例如技能是最近添加的。很可能,
00:06:36几乎可以肯定,
00:06:38在接下来的几个月里,
00:06:40我们会集体决定并发现,
00:06:42设置技能或使用一堆插件或使用子智能体之类的东西并不那么重要。我们可能会发现我们不需要那么多 MCP。例如,
00:06:53我个人除了用于文档查找的 Context7 和在 Cline Code 中用于允许它在浏览器中测试应用的 Playwright 之外,
00:07:07真的不太使用其他的。有些人绝对坚信要有十几个 MCP 服务器,
00:07:14但我们会集体找出什么真正增加了价值,
00:07:18什么没有。然后还有像 Cursor 或 Cline Code 这样的工具,
00:07:26它们会自动为你做好事,
00:07:28可以这么说。我是说,
00:07:30如果你把现在使用 AI 助手与一两年前相比,
00:07:35Cursor 和这些其他工具为你做了很多事情。比如计划模式。在过去一年前,
00:07:42你必须自己计划。你必须要求 AI 创建一个计划,
00:07:48验证那个计划,
00:07:49并在开始之前问你一些问题。现在这些工具中内置了计划模式。谁知道半年后会有什么内置到这些工具中。
00:07:59所以,
00:08:00现在通过组合所有这些东西构建一个超级复杂的设置来保持领先,
00:08:06不一定会让你长期领先,
00:08:09如果它真的能做到的话。因此,
00:08:12长话短说,
00:08:13容易感到落后,
00:08:15但真的没有理由感到落后。你不需要使用所有这些工具才能作为开发者从 AI 中获得一些东西,
00:08:25而且所有这些反正很快都会改变。
00:08:30因此,是的,不要为此感到压力。如今太容易产生错失恐惧症并感到不知所措了。
00:08:37试着退一步。事情不会像有时看起来的那么糟糕,或者说事情没有那么紧迫。