CrabNote螃蟹笔记

2025年LLM最全总结!Django创始人亲述:这一年,AI 改变了编程

2025年LLM最全总结!Django创始人亲述:这一年,AI 改变了编程

2025年LLM最全总结!Django创始人亲述:这一年,AI 改变了编程 2025年LLM最全总结!Django创始人亲述:这一年,AI 改变了编程 Modified January 8 2 月的一条推文 里 Andrej Karpathy 创造了"vibe coding"这个词,定义不幸地很长(我怀念 140 字符的日子),很多人没有读到最后: 有一种新的编码方式我叫"vibe coding",你完全顺着感觉走,拥抱指数增长,甚至忘记代码的存在。这是可能的,因为 LLM(比如带 Sonnet 的 Cursor Composer)变得太好了。而且我只是用 SuperWhisper 和 Composer 说话,几乎不碰键盘。我要求最傻的事情,比如"把侧边栏的内边距减半",因为我懒得找它在哪。我总是"全部接受",我不再读差异了。当我遇到错误消息时,我只是复制粘贴进去不加评论,通常就能修好。代码增长超出了我通常的理解范围,我得真的读一会儿才能搞懂。有时 LLM 修不好一个 bug,所以我就绕过它或者要求随机改动直到它消失。对于周末的一次性项目来说还不错,但仍然很有趣。我在构建一个项目或网页应用,但这不是真正的编码——我只是看东西、说东西、运行东西、复制粘贴东西,大部分情况下能用。 这里的关键想法是"忘记代码的存在"。 vibe coding 捕捉到了一种新的、有趣的软件原型方式,纯粹通过提示词"大部分能用"。 我不知道我有没有见过一个新术语这么快流行或者被扭曲。 很多人反而把 vibe coding 当成任何涉及 LLM 编程的统称。 我认为这是浪费了一个好词,特别是因为很明显在不久的将来大多数编程都会涉及某种程度的 AI 辅助。 因为我喜欢在语言风车上倾斜,我尽力鼓励这个词的原始含义: • 不是所有 AI 辅助编程都是 vibe coding(但 vibe coding 很棒) 3 月 • 两个出版商和三个作者没理解"vibe coding"的意思 5 月(其中一本书后来把标题改成了 好得多的 "Beyond Vibe Coding")。 • Vibe engineering 10 月,我试图为专业工程师使用 AI 辅助构建生产级软件时发生的事情提出一个替代术语。 • 你的工作是交付你已证明能用的代码 12 月,关于专业软件开发是关于可证明能用的代码,无论你如何构建它。 我认为这场战斗还没有结束。我看到了令人欣慰的信号,表明更好的、原始的 vibe coding 定义可能会胜出。 我真应该找个不那么对抗性的语言爱好! MCP(可能是唯一)之年 Anthropic 在 2024 年 11 月 推出了他们的 Model Context Protocol 规范,作为集成不同 LLM 工具调用的开放标准。 2025 年初它 爆炸式 流行。 5 月有一段时间 OpenAI、Anthropic 和 Mistral 都在八天内推出了 API 级别的 MCP 支持! MCP 是个合理的想法,但巨大的采用让我很惊讶。 我认为这归结于时机:MCP 的发布恰逢模型在工具调用方面终于变得又好又可靠,以至于很多人似乎把 MCP 支持误认为是模型使用工具的前提条件。 有一段时间,MCP 似乎也是那些面临"需要有 AI 战略"压力但不知道怎么做的公司的便捷答案。 为你的产品宣布一个 MCP 服务器是一个容易理解的方式来勾选这个框。 我认为 MCP 可能是一年奇迹的原因是代码 agent 的爆炸式增长。 看起来任何情况下最好的工具都是 Bash——如果你的 agent 可以运行任意 shell 命令,它就能做任何通过在终端输入命令能做的事。 自从我自己大量使用 Claude Code 和类似工具后,我几乎没用过 MCP。 我发现像 gh 这样的 CLI 工具和像 Playwright 这样的库是 GitHub 和 Playwright MCP 的更好替代品。 Anthropic 自己似乎在今年晚些时候用他们发布的出色的 Skills 机制承认了这一点。 看我 10 月的文章 Claude Skills 很棒,可能比 MCP 更重要。 MCP 涉及 web 服务器和复杂的 JSON 负载。 一个 Skill 是文件夹里的一个 Markdown 文件,可选地附带一些可执行脚本。 然后 11 月 Anthropic 发布了 用 MCP 执行代码:构建更高效的 agent——描述了一种让代码 agent 生成代码来调用 MCP 的方式,避免了原始规范的大部分上下文开销。 (我很自豪的是我在 Anthropic 宣布前 一周 就逆向工程了他们的 skills,然后在那之后两个月对 OpenAI 悄悄采用 skills 做了同样的事。) MCP 在 12 月初 捐赠给了新的 Agentic AI Foundation。 Skills 在 12 月 18 日 被提升为"开放格式"。 浏览器 AI 化令人担忧之年 尽管有非常明显的安全风险,每个人似乎都想把 LLM 放进你的网页浏览器。 OpenAI 在 10 月 推出了 ChatGPT Atlas,由包括长期 Google Chrome 工程师 Ben Goodger 和 Darin Fisher 在内的团队构建。 Anthropic 一直在推广他们的 Chrome 里的 Claude 扩展,作为扩展而不是完整的 Chrome fork 提供类似功能。 Chrome 本身现在右上角有一个小"Gemini"按钮叫 Chrome 里的 Gemini,虽然我相信那只是用来回答关于内容的问题,还不能驱动浏览操作。 我仍然对这些新工具的安全影响深感担忧。 我的浏览器可以访问我最敏感的数据,控制我大部分数字生活。 针对能窃取或修改数据的浏览 agent 的提示词注入攻击是一个可怕的前景。 到目前为止,我看到的关于缓解这些担忧的最详细信息来自 OpenAI 的 CISO Dane Stuckey,他谈到了防护栏、红队测试和纵深防御,但也正确地称提示词注入为"一个前沿的、未解决的安全问题"。 我现在用过这些几次(例子),在 非常 密切的监督下。 它们有点慢而且不稳定——经常点不中交互元素——但对于无法通过 API 解决的问题很方便。 我仍然对它们感到不安,特别是在不如我偏执的人手里。 致命三要素之年 我写提示词注入已经超过三年了。 一个持续的挑战是帮助人们理解为什么这是一个需要被任何在这个领域构建软件的人认真对待的问题。 这没有被 语义扩散 帮助,"提示词注入"这个词已经扩展到也包括越狱(尽管 我抗议),而谁真的在乎有人能欺骗模型说粗话呢? 所以我尝试了一个新的语言技巧! 6 月我创造了 致命三要素 这个词来描述提示词注入的子集,其中恶意指令欺骗 agent 代表攻击者窃取私人数据。 我这里用的一个技巧是,人们会直接跳到他们听到的任何新术语最明显的定义。"提示词注入"听起来像是"注入提示词"。"致命三要素"故意模糊:如果你想知道它是什么意思,你必须去搜索我的定义! 这似乎起作用了。我看到今年有健康数量的人在谈论致命三要素的例子,到目前为止,没有对它的预期含义的误解。 手机编程之年 今年我在手机上写的代码明显多于在电脑上。 今年大部分时间这是因为我大量投入 vibe coding。 我的 tools.simonwillison.net HTML+JavaScript 工具集主要是这样构建的:我有一个小项目的想法,通过他们各自的 iPhone 应用提示 Claude Artifacts 或 ChatGPT 或(最近)Claude Code,然后要么复制结果粘贴到 GitHub 的网页编辑器,要么等待创建一个 PR,然后我可以在 Mobile Safari 里审查和合并。 这些 HTML 工具通常约 100 200 行代码,充满无趣的样板和重复的 CSS 和 JavaScript 模式——但 110 个加起来就很多了! 直到 11 月我会说我在手机上写了更多代码,但我在笔记本电脑上写的代码显然更重要——经过充分审查、测试更好、用于生产环境。 过去一个月我对 Claude Opus 4.5 变得足够自信,开始在手机上使用 Claude Code 处理更复杂的任务,包括我打算放入非玩具项目的代码。 这始于我的项目 把 JustHTML HTML5 解析器从 Python 移植到 JavaScript,使用 Codex CLI 和 GPT 5.2。 当那个纯粹通过提示词就能工作时,我开始好奇在类似项目上仅用手机能完成多少。 所以我尝试把 Fabrice Bellard 的新 MicroQuickJS C 库移植到 Python,完全使用 iPhone 上的 Claude Code...而且 基本成功了! 这是我会在生产环境使用的代码吗? 对于不可信代码 肯定还不行,但我会信任它执行我自己写的 JavaScript。 我从 MicroQuickJS 借来的测试套件给了我一些信心。 一致性测试套件之年 这是一个重大突破:最新的代码 agent 配合约 2025 年 11 月的前沿模型,如果你能给它们一个现有的测试套件来对照,效果非常好。 我称这些为 一致性测试套件 ,我开始刻意寻找它们——到目前为止我在 html5lib 测试、MicroQuickJS 测试套件 和一个尚未发布的针对 全面的 WebAssembly 规范/测试集合 的项目上取得了成功。 如果你在 2026 年向世界介绍一个新协议甚至一门新编程语言,我强烈建议在你的项目中包含一个语言无关的一致性测试套件。 我看到很多人担心需要被包含在 LLM 训练数据中意味着新技术将难以获得采用。 我希望一致性测试套件方法能帮助缓解这个问题,让这种形式的新想法 更容易 获得吸引力。 本地模型变好但云端模型更好之年 2024 年底我对在自己机器上运行本地 LLM 失去了兴趣。 12 月 的 Llama 3.3 70B 重新点燃了我的兴趣,这是我第一次感觉可以在我的 64GB MacBook Pro 上运行一个真正的 GPT 4 级别模型。 然后 1 月 Mistral 发布了 Mistral Small 3,一个 Apache 2 许可的 24B 参数模型,似乎和 Llama 3.3 70B 一样强大,但内存使用约三分之一。 现在我可以运行一个 GPT 4 级别的模型,还有内存运行其他应用! tools.simonwillison.net 2 月的一条推文 里 Andrej Karpathy 创造了"vibe coding"这个词,定义不幸地很长(我怀念 140 字符的日子),很多人没有读到最后: 有一种新的编码方式我叫"vibe coding",你完全顺着感觉走,拥抱指数增长,甚至忘记代码的存在。这是可能的,因为 LLM(比如带 Sonnet 的 Cursor Composer)变得太好了。而且我只是用 SuperWhisper 和 Composer 说话,几乎不碰键盘。我要求最傻的事情,比如"把侧边栏的内边距减半",因为我懒得找它在哪。我总是"全部接受",我不再读差异了。当我遇到错误消息时,我只是复制粘贴进去不加评论,通常就能修好。代码增长超出了我通常的理解范围,我得真的读一会儿才能搞懂。有时 LLM 修不好一个 bug,所以我就绕过它或者要求随机改动直到它消失。对于周末的一次性项目来说还不错,但仍然很有趣。我在构建一个项目或网页应用,但这不是真正的编码——我只是看东西、说东西、运行东西、复制粘贴东西,大部分情况下能用。 这里的关键想法是"忘记代码的存在"。 vibe coding 捕捉到了一种新的、有趣的软件原型方式,纯粹通过提示词"大部分能用"。 我不知道我有没有见过一个新术语这么快流行或者被扭曲。 很多人反而把 vibe coding 当成任何涉及 LLM 编程的统称。 我认为这是浪费了一个好词,特别是因为很明显在不久的将来大多数编程都会涉及某种程度的 AI 辅助。 因为我喜欢在语言风车上倾斜,我尽力鼓励这个词的原始含义: • 不是所有 AI 辅助编程都是 vibe coding(但 vibe coding 很棒) 3 月 • 两个出版商和三个作者没理解"vibe coding"的意思 5 月(其中一本书后来把标题改成了 好得多的 "Beyond Vibe Coding")。 • Vibe engineering 10 月,我试图为专业工程师使用 AI 辅助构建生产级软件时发生的事情提出一个替代术语。 • 你的工作是交付你已证明能用的代码 12 月,关于专业软件开发是关于可证明能用的代码,无论你如何构建它。 我认为这场战斗还没有结束。我看到了令人欣慰的信号,表明更好的、原始的 vibe coding 定义可能会胜出。 我真应该找个不那么对抗性的语言爱好! MCP(可能是唯一)之年 Anthropic 在 2024 年 11 月 推出了他们的 Model Context Protocol 规范,作为集成不同 LLM 工具调用的开放标准。 2025 年初它 爆炸式 流行。 5 月有一段时间 OpenAI、Anthropic 和 Mistral 都在八天内推出了 API 级别的 MCP 支持! MCP 是个合理的想法,但巨大的采用让我很惊讶。 我认为这归结于时机:MCP 的发布恰逢模型在工具调用方面终于变得又好又可靠,以至于很多人似乎把 MCP 支持误认为是模型使用工具的前提条件。 有一段时间,MCP 似乎也是那些面临"需要有 AI 战略"压力但不知道怎么做的公司的便捷答案。 为你的产品宣布一个 MCP 服务器是一个容易理解的方式来勾选这个框。 我认为 MCP 可能是一年奇迹的原因是代码 agent 的爆炸式增长。 看起来任何情况下最好的工具都是 Bash——如果你的 agent 可以运行任意 shell 命令,它就能做任何通过在终端输入命令能做的事。 自从我自己大量使用 Claude Code 和类似工具后,我几乎没用过 MCP。 我发现像 gh 这样的 CLI 工具和像 Playwright 这样的库是 GitHub 和 Playwright MCP 的更好替代品。 Anthropic 自己似乎在今年晚些时候用他们发布的出色的 Skills 机制承认了这一点。 看我 10 月的文章 Claude Skills 很棒,可能比 MCP 更重要。 MCP 涉及 web 服务器和复杂的 JSON 负载。 一个 Skill 是文件夹里的一个 Markdown 文件,可选地附带一些可执行脚本。 然后 11 月 Anthropic 发布了 用 MCP 执行代码:构建更高效的 agent——描述了一种让代码 agent 生成代码来调用 MCP 的方式,避免了原始规范的大部分上下文开销。 (我很自豪的是我在 Anthropic 宣布前 一周 就逆向工程了他们的 skills,然后在那之后两个月对 OpenAI 悄悄采用 skills 做了同样的事。) MCP 在 12 月初 捐赠给了新的 Agentic AI Foundation。 Skills 在 12 月 18 日 被提升为"开放格式"。 浏览器 AI 化令人担忧之年 尽管有非常明显的安全风险,每个人似乎都想把 LLM 放进你的网页浏览器。 OpenAI 在 10 月 推出了 ChatGPT Atlas,由包括长期 Google Chrome 工程师 Ben Goodger 和 Darin Fisher 在内的团队构建。 Anthropic 一直在推广他们的 Chrome 里的 Claude 扩展,作为扩展而不是完整的 Chrome fork 提供类似功能。 Chrome 本身现在右上角有一个小"Gemini"按钮叫 Chrome 里的 Gemini,虽然我相信那只是用来回答关于内容的问题,还不能驱动浏览操作。 我仍然对这些新工具的安全影响深感担忧。 我的浏览器可以访问我最敏感的数据,控制我大部分数字生活。 针对能窃取或修改数据的浏览 agent 的提示词注入攻击是一个可怕的前景。 到目前为止,我看到的关于缓解这些担忧的最详细信息来自 OpenAI 的 CISO Dane Stuckey,他谈到了防护栏、红队测试和纵深防御,但也正确地称提示词注入为"一个前沿的、未解决的安全问题"。 我现在用过这些几次(例子),在 非常 密切的监督下。 它们有点慢而且不稳定——经常点不中交互元素——但对于无法通过 API 解决的问题很方便。 我仍然对它们感到不安,特别是在不如我偏执的人手里。 致命三要素之年 我写提示词注入已经超过三年了。 一个持续的挑战是帮助人们理解为什么这是一个需要被任何在这个领域构建软件的人认真对待的问题。 这没有被 语义扩散 帮助,"提示词注入"这个词已经扩展到也包括越狱(尽管 我抗议),而谁真的在乎有人能欺骗模型说粗话呢? 所以我尝试了一个新的语言技巧! 6 月我创造了 致命三要素 这个词来描述提示词注入的子集,其中恶意指令欺骗 agent 代表攻击者窃取私人数据。 我这里用的一个技巧是,人们会直接跳到他们听到的任何新术语最明显的定义。"提示词注入"听起来像是"注入提示词"。"致命三要素"故意模糊:如果你想知道它是什么意思,你必须去搜索我的定义! 这似乎起作用了。我看到今年有健康数量的人在谈论致命三要素的例子,到目前为止,没有对它的预期含义的误解。 手机编程之年 今年我在手机上写的代码明显多于在电脑上。 今年大部分时间这是因为我大量投入 vibe coding。 我的 tools.simonwillison.net HTML+JavaScript 工具集主要是这样构建的:我有一个小项目的想法,通过他们各自的 iPhone 应用提示 Claude Artifacts 或 ChatGPT 或(最近)Claude Code,然后要么复制结果粘贴到 GitHub 的网页编辑器,要么等待创建一个 PR,然后我可以在 Mobile Safari 里审查和合并。 tools.simonwillison.net 这些 HTML 工具通常约 100 200 行代码,充满无趣的样板和重复的 CSS 和 JavaScript 模式——但 110 个加起来就很多了! 直到 11 月我会说我在手机上写了更多代码,但我在笔记本电脑上写的代码显然更重要——经过充分审查、测试更好、用于生产环境。 过去一个月我对 Claude Opus 4.5 变得足够自信,开始在手机上使用 Claude Code 处理更复杂的任务,包括我打算放入非玩具项目的代码。 这始于我的项目 把 JustHTML HTML5 解析器从 Python 移植到 JavaScript,使用 Codex CLI 和 GPT 5.2。 当那个纯粹通过提示词就能工作时,我开始好奇在类似项目上仅用手机能完成多少。 所以我尝试把 Fabrice Bellard 的新 MicroQuickJS C 库移植到 Python,完全使用 iPhone 上的 Claude Code...而且 基本成功了! 这是我会在生产环境使用的代码吗? 对于不可信代码 肯定还不行,但我会信任它执行我自己写的 JavaScript。 我从 MicroQuickJS 借来的测试套件给了我一些信心。 一致性测试套件之年 这是一个重大突破:最新的代码 agent 配合约 2025 年 11 月的前沿模型,如果你能给它们一个现有的测试套件来对照,效果非常好。 我称这些为 一致性测试套件 ,我开始刻意寻找它们——到目前为止我在 html5lib 测试、MicroQuickJS 测试套件 和一个尚未发布的针对 全面的 WebAssembly 规范/测试集合 的项目上取得了成功。 如果你在 2026 年向世界介绍一个新协议甚至一门新编程语言,我强烈建议在你的项目中包含一个语言无关的一致性测试套件。 我看到很多人担心需要被包含在 LLM 训练数据中意味着新技术将难以获得采用。 我希望一致性测试套件方法能帮助缓解这个问题,让这种形式的新想法 更容易 获得吸引力。 本地模型变好但云端模型更好之年 2024 年底我对在自己机器上运行本地 LLM 失去了兴趣。 12 月 的 Llama 3.3 70B 重新点燃了我的兴趣,这是我第一次感觉可以在我的 64GB MacBook Pro 上运行一个真正的 GPT 4 级别模型。 然后 1 月 Mistral 发布了 Mistral Small 3,一个 Apache 2 许可的 24B 参数模型,似乎和 Llama 3.3 70B 一样强大,但内存使用约三分之一。 现在我可以运行一个 GPT 4 级别的模型,还有内存运行其他应用! 这个趋势在 2025 年持续,特别是一旦中国 AI 实验室的模型开始占据主导地位。 那个 20 32B 参数的甜蜜点不断有表现更好的模型。 我离线完成了少量真正的工作!我对本地 LLM 的兴奋确实重新点燃了。 问题是大型云端模型也变得更好了——包括那些开源权重但太大(100B+)无法在我笔记本电脑上运行的模型。 代码 agent 改变了我的一切。 像 Claude Code 这样的系统需要的不只是一个好模型——它们需要一个推理模型,能在不断扩展的上下文窗口中可靠地执行数十甚至数百次工具调用。 我还没有尝试过一个本地模型能足够可靠地处理 Bash 工具调用,让我信任那个模型在我的设备上操作代码 agent。 我的下一台笔记本电脑至少会有 128GB RAM,所以 2026 年的某个开源模型有可能符合要求。 但现在我坚持使用最好的可用前沿托管模型作为日常驱动。 Slop 之年 2024 年我在帮助普及"slop"这个词方面发挥了一点作用,5 月 写了它,不久后在 卫报 和 纽约时报 上被引用。 今年韦氏词典把它评为 年度词汇! slop (名词):通常通过人工智能大量生产的低质量数字内容 我喜欢它代表了一种广泛理解的感觉,即低质量的 AI 生成内容是不好的,应该避免。 我仍然希望 slop 不会成为许多人担心的那么大的问题。 互联网 一直 充斥着低质量内容。 挑战一如既往,是找到并放大好东西。我不认为垃圾数量的增加会太多改变这个基本动态。策展比以往任何时候都重要。 话虽如此...我不用 Facebook,而且我在过滤或策展其他社交媒体习惯方面相当小心。 Facebook 仍然充斥着虾耶稣吗,还是那是 2024 年的事? 我听说假的可爱动物获救视频是最新趋势。 slop 问题很可能是一个我天真地不知道的不断增长的浪潮。 数据中心变得极不受欢迎之年 我今年差点跳过写 AI 的环境影响(这是 我 2024 年写的),因为我不确定我们今年是否学到了什么 新东西 ——AI 数据中心继续燃烧大量能源,建设它们的军备竞赛继续以一种感觉不可持续的方式加速。 2025 年有趣的是,公众舆论似乎正在急剧转向反对新数据中心建设。 这是 12 月 8 日卫报的标题:超过 200 个环保组织要求停止美国新数据中心。 地方层面的反对似乎也在全面急剧上升。 我被 Andy Masley 说服,用水问题 大多被夸大了,这是个问题主要是因为它分散了对能源消耗、碳排放和噪音污染等真实问题的注意力。 AI 实验室继续找到新的效率来用更少的能源服务质量提升的模型,但这的影响是经典的 杰文斯悖论——随着 token 变便宜,我们找到更密集的使用方式,比如每月花 200 美元用数百万 token 运行代码 agent。 我自己的年度词汇 作为一个痴迷的新词收集者,这是我自己 2025 年的最爱。你可以在我的标签里看到更长的列表。 • Vibe coding,显然。 • Vibe engineering——我仍然在犹豫是否应该试图 让这个发生! • 致命三要素,我今年尝试创造的一个似乎扎根的词。 • Context rot,Hacker News 上 Workaccount2 创造的,指会话期间随着上下文变长模型输出质量下降的现象。 • Context engineering 作为提示词工程的替代,帮助强调设计你喂给模型的上下文有多重要。 • Slopsquatting,Seth Larson 创造的,指 LLM 幻觉出一个错误的包名,然后被恶意注册来传播恶意软件。 • Vibe scraping——我的另一个没怎么流行的词,指由提示词驱动的代码 agent 实现的爬虫项目。 • 异步代码 agent,指网页版 Claude / Codex cloud / Google Jules • Extractive contributions,Nadia Eghbal 创造的,指开源贡献中"审查和合并该贡献的边际成本大于对项目生产者的边际收益"。 2025 年就这样了 如果你读到这里,希望你觉得有用! 你可以在 feed 阅读器 或 通过邮件 订阅我的博客,或者在 Bluesky、Mastodon 或 Twitter 上关注我。 🔗 原文链接: https://mp.weixin.qq.com/s/ de7cMZt... https://mp.weixin.qq.com/s/ de7cMZt... 原创 向阳乔木 AI不插电2026年1月7日 18:36 天津 这篇文章来自Simon Willison,知名的软件工程师、开发者和技术博主,Django 框架联合创始人,世界上最流行的 Web 开发框架之一。 他总结了2025一年来,AI技术的发展和突破,相当精彩,AI转写一遍,非原文。 原文:https://simonwillison.net/2025/Dec/31/the year in llms/ 这是我第三年回顾 LLM 领域过去 12 个月发生的一切。 往年的回顾可以看 2023 年我们搞清楚的 AI 那些事 和 2024 年我们了解到的 LLM。 这一年充满了各种不同的趋势。 推理之年 OpenAI 在 2024 年 9 月用 o1 和 o1 mini 开启了"推理"革命,也叫推理时扩展(inference scaling),或者说基于可验证奖励的强化学习(RLVR)。 2025 年初他们又推出了 o3、o3 mini 和 o4 mini,把这个能力进一步强化。 之后几乎所有主要 AI 实验室的模型都把推理作为核心功能。 我最喜欢的解释来自 Andrej Karpathy: 通过让 LLM 针对多种环境中可自动验证的奖励进行训练(比如数学题、代码谜题),LLM 自发地发展出了在人类看来像"推理"的策略——它们学会把解决问题拆分成中间步骤,学会了各种来回推敲的问题解决策略(可以看 DeepSeek R1 论文里的例子)。 RLVR 带来的性价比很高 ,吃掉了原本用于预训练的算力。 所以 2025 年的能力进步主要来自各个 LLM 实验室消化这个新阶段的积累,我们看到的是差不多大小的 LLM,但强化学习训练时间长了很多。 2025 年每个知名 AI 实验室都发布了至少一个推理模型。 有些实验室发布的混合模型可以在推理和非推理模式之间切换。 很多 API 模型现在都有旋钮,可以增加或减少某个提示词的推理量。 我花了一段时间才搞清楚推理有什么用。 最初的演示展示的是解数学逻辑题和数Strawberry里有几个 R——这两件事我日常根本用不上。 真正的突破在于用推理来驱动工具 。 有工具访问权限的推理模型可以规划多步任务,执行这些任务,还能继续对结果进行推理,从而调整计划更好地达成目标。 一个明显的成果是 AI 辅助搜索现在真的能用了。 以前把搜索引擎接到 LLM 上效果很一般,但现在即使是比较复杂的研究问题,ChatGPT 里的 GPT 5 Thinking 也经常能回答出来。 推理模型在生成和调试代码方面也特别厉害。 推理技巧让它们可以从一个错误开始,逐步检查代码库的多个层级找到根本原因。 我发现即使是最棘手的 bug,只要给一个好的推理模型提供读取和执行代码的能力,哪怕代码库又大又复杂,它也能诊断出来。 把推理和工具使用结合起来,你就得到了... Agent 之年 年初我预测 agent 不会成为现实。 整个 2024 年大家都在谈 agent,但几乎没有成功案例,更麻烦的是每个人说的"agent"定义都不太一样。 到了 9 月我受够了因为缺乏明确定义而回避这个词,决定把它理解为 一个循环运行工具来达成目标的 LLM。 这让我能够进行有建设性的讨论,这也是我对任何术语的目标。 我当时觉得 agent 不会成为现实,因为我觉得容易上当的问题解决不了,而且用 LLM 替代人类员工的想法还是可笑的科幻小说。 我的预测对了一半:那种能做任何事的魔法电脑助手(像电影 《她》))并没有出现... 但如果你把 agent 定义为通过多步工具调用完成有用工作的 LLM 系统,那 agent 确实来了,而且非常有用。 Agent 的两个突破性应用是代码和搜索。 Deep Research 模式——你给 LLM 一个信息收集任务,它花 15 分钟以上给你生成详细报告——在上半年很流行,但现在已经过时了。 因为 GPT 5 Thinking(还有 Google 的"AI 模式",比他们糟糕的"AI 概览"好得多)能在更短时间内产出类似结果。 我认为这是一种 agent 模式,而且效果很好。 "代码 agent"模式影响更大。 代码 agent 和 Claude Code 之年 会写代码、会执行、会迭代的AI 2025 年最重要的事件发生在 2 月,Claude Code 悄悄发布了。 我说悄悄是因为它连独立的博客文章都没有! Anthropic 把 Claude Code 的发布作为第二条消息放在了 宣布 Claude 3.7 Sonnet 的文章 里。 (为什么 Anthropic 从 Claude 3.5 Sonnet 跳到 3.7?因为他们在 2024 年 10 月 发布了 Claude 3.5 的重大升级,但名字完全没变,导致开发者社区开始把未命名的 3.5 Sonnet v2 叫做 3.6。Anthropic 因为没给新模型好好命名,白白浪费了一个版本号!) Claude Code 是我所说的 代码 agent 最突出的例子:能写代码、执行代码、检查结果然后继续迭代的 LLM 系统。 各大实验室在 2025 年都推出了自己的命令行代码 agent: • Claude Code • Codex CLI • Gemini CLI • Qwen Code • Mistral Vibe 不依赖特定供应商的选项包括 GitHub Copilot CLI、Amp、OpenCode、OpenHands CLI 和 Pi。 Zed、VS Code 和 Cursor 这些 IDE 也在代码 agent 集成上投入了大量精力。 我第一次接触代码 agent 模式是 2023 年初 OpenAI 的 ChatGPT Code Interpreter。 一个内置在 ChatGPT 里的系统,允许它在 Kubernetes 沙箱中运行 Python 代码。 今年 9 月 Anthropic 终于发布了他们的对应产品,我很高兴,虽然最初的名字"用 Claude 创建和编辑文件"让人摸不着头脑。 10 月他们把这个容器沙箱基础设施重新利用,推出了 网页版 Claude Code,从那以后我几乎每天都在用。 网页版 Claude Code 是我所说的 异步代码 agent ——一个你可以给它提示然后忘掉的系统,它会自己处理问题,完成后提交 Pull Request。 OpenAI 的"Codex cloud"(上周 改名为"Codex web")在 2025 年 5 月 更早推出。 Gemini 在这个类别的产品叫 Jules,也是 5 月 推出的。 我很喜欢异步代码 agent 这个类别。 它们很好地解决了在个人笔记本上运行任意代码执行的安全挑战,而且能同时启动多个任务 真的很有意思——经常是从手机上——几分钟后就能得到不错的结果。 命令行 LLM 之年 终端与AI的完美结合 2024 年我花了很多时间开发我的 LLM 命令行工具,用来从终端访问 LLM,一直觉得很奇怪为什么这么少人认真对待 CLI 访问模型——它们和 Unix 的管道等机制简直是天作之合。 也许终端就是太怪异太小众,永远不会成为访问 LLM 的主流工具? Claude Code 和其他类似工具彻底证明了,只要模型足够强大、工具足够好用,开发者会欢迎命令行 LLM。 LLM 能帮你生成正确的命令,这让 sed、ffmpeg、bash 这些语法晦涩的终端命令不再是障碍。 截至 12 月 2 日,Anthropic 说 Claude Code 带来了 10 亿美元的年化收入! 我完全没想到一个 CLI 工具能达到这个数字。 现在回想,也许我应该把 LLM 从副业项目提升为重点! YOLO 和风险常态化之年 便利与风险的危险平衡 大多数代码 agent 的默认设置是几乎每个操作都要求用户确认。 在一个 agent 错误可能 删掉你整个Home目录 或者恶意提示词注入攻击可能窃取你的凭证的世界里,这个默认设置完全合理。 任何试过自动确认模式(也叫 YOLO 模式——Codex CLI 甚至把 dangerously bypass approvals and sandbox 简化成 yolo)的人都体验过这种取舍:不带安全轮的 agent 感觉像是完全不同的产品。 像网页版 Claude Code 和 Codex Cloud 这样的异步代码 agent 的一大好处是可以默认在 YOLO 模式下运行,因为没有个人电脑会被损坏。 我一直在 YOLO 模式下运行,尽管我 非常清楚 其中的风险。 到目前为止还没出过问题... ...这就是问题所在。 今年我最喜欢的一篇关于 LLM 安全的文章是安全研究员 Johann Rehberger 写的 AI 中的风险常态化。 Johann 描述了"风险常态化"现象,即反复接触风险行为而没有负面后果,会导致人们和组织接受这种风险行为为正常。 这个概念最初由社会学家 Diane Vaughan 提出,她在研究 1986 年挑战者号航天飞机灾难时发现,工程师们多年来就知道有问题的 O 型环。 多次成功发射让 NASA 文化不再认真对待这个风险。 Johann 认为,我们在根本不安全的方式下运行这些系统的时间越长,就越接近我们自己的挑战者号灾难。 200 美元月费之年 新的定价天花板 ChatGPT Plus 最初的 20 美元月费是 Nick Turley 在 Discord 上用 Google 表单投票快速决定的。这个价格一直沿用至今。 今年出现了新的定价先例:Claude Pro Max 20x 计划,200 美元一个月。 OpenAI 有类似的 200 美元计划叫 ChatGPT Pro。Gemini 有 Google AI Ultra,249 美元一个月,前 3 个月有 124.99 美元的折扣。 这些计划似乎带来了可观的收入,虽然没有实验室公布按级别细分的订阅者数据。 我个人以前付过 100 美元一个月的 Claude,等我现在这批免费额度(预览他们某个模型送的——谢谢 Anthropic)用完后会升级到 200 美元一个月。 我听说很多其他人也愿意付这个价。 你得用很多模型才能花掉 200 美元的 API 额度,所以理论上大多数人按 token 付费更划算。 但事实证明,像 Claude Code 和 Codex CLI 这样的工具一旦开始处理更有挑战性的任务,能烧掉大量 token,200 美元一个月反而是大幅折扣。 中国开源模型登顶之年 中国AI实验室的历史性突破 2024 年中国 AI 实验室有一些早期成果,主要是 Qwen 2.5 和早期的 DeepSeek。 它们是不错的模型,但感觉不是世界顶级。 2025 年这个情况发生了巨大变化。 我的标签里 2025 年就有 67 篇文章,而且