OpenAI o3:AGI 和 ASI 的曙光
本文首发于知乎回答《如何看待 OpenAI 最新发布的 o3 模型?有多强大?》
o1 刚出来的时候,很多人还质疑这还达不到 AGI(通用人工智能)。o3 体现出的编程和数学能力,不仅达到了 AGI 的门槛,甚至摸到了 ASI(超级人工智能)的边。
o3 也进一步验证了 RL 和 test-time scaling 的价值,在高质量预训练数据基本耗尽,模型能力 “撞墙” 的情况下,提供了一条通过后训练和增加推理时间,继续提升模型智力,解决更困难问题的路径。
o3 具体的性能指标很多人都看到了,我就不再重复了。省流版:
- o3 在 Codeforces 编程竞技中击败了 99.9% 的程序员,在 168076 名程序员中排名 175 名。甚至 o3 的作者都打不过 o3。
- o3 在编程解决真实世界需求方面也比 o1 有明显提升,在 SWE-Bench 软件开发测试中,之前发布的 o1-preview 是 41.3%,o3 是 71.7%,也就是 70% 的真实世界需求,o3 可以直接做对,并通过单元测试。也就意味着只有剩下 30% 的工作需要人类程序员去编码完成了,而这部分工作 AI 也可以帮助人类程序员大大提升效率。
- 在 AIME 2024 数学测试中做对了 96.7%,相当于在美国数学奥林匹克竞赛上只答错了一道题。
- 在博士级别科学问题测试的 GPQA Diamond 中超过 o1 10 个百分点,而 o1 已经基本上是人类博士生的平均水平。
- 图形逻辑推理的 ARC-AGI,o3 经过微调后,达到 87.5%,超过人类平均水平(85%)。
但 o3 并不是万能的,现实世界工程任务的处理能力并没有想象的那么强。我发现大型工程项目中的编程任务,o1 preview 的准确率并不如 Claude 3.5 Sonnet。o1 擅长的是边界清晰、定义明确的封闭式科学问题。o3 不知道怎么样,但从 SWE Bench 只能做对 71% 来看,还是不如人类软件开发工程师的,因为一个合格的全栈工程师不能说我只能完成 70% 的需求,剩下 30% 的需求做不了。o3 在 Codeforces 上超过 99.9% 的人类,是因为编程竞赛题都是边界清晰、定义明确的,而在真实世界的工程任务上就远不如编程竞赛那么强。
有些人说 o3 现在太贵了,一个任务 1000 美金什么的,还是真人便宜。我想从几个角度驳斥这个观点:
- 大多数软件项目的编程任务只要 o3 mini 的能力就够了,它比 o1 preview 更强,但比 o1 preview 便宜。而即使 o1 preview 的价格已经低于人类工程师的开发成本,这意味着对于 AI 能解决的软件开发问题,AI 的成本是低于人类工程师纯手工编程的。
- o3 mini 不能解决,需要 o3 满血版才能解决的问题,往往是比较困难的问题,普通程序员或者数学专业的大学生并不能解决。如果要招一个靠谱的大神程序员或者数学专家来解决这些问题,所需的成本远远超过 1000 美金。
- 大模型的知识密度在不断提高,刘知远老师提出的知识密度定律(每 3.3 个月模型知识密度提升一倍)对 reasoning 模型仍然成立。例如仅仅半年过去,o3 mini 就以低 10 倍的成本达到了 o1 preview 的能力。因此,随着硬件的摩尔定律和模型知识密度提高,推理成本会快速降低。
因此,我认为这一波大模型的进展证实了我一直相信的观点:在能源有限的情况下,相比人类,AI 是智能更高效的形式。很高兴看到 OpenAI 一直在引领整个行业,探索将能源转化成智能更高效的解决方案。
从今年 9 月 o1 发布开始,我就陷入了迷茫:AI 的软件开发能力已经超过人类,AI 的智力超越人类也已成定局。那人类程序员还能做什么?
如果让我和 AI 上 Codeforces 打比赛,不要说 o3,连 o1 都不一定能打过。我也是 NOI 算法竞赛保送的,在公司我对编码能力还是有一些自信,比如我做面试官的时候,从来不让候选人运行代码,因为面试题这种几十行的小程序,我基本上一眼就能看出他哪里写错了。但在 AI 面前,我仍然感受到深深的无力感。
而真实项目中的简单软件开发需求,我也不一定能打过 Claude 3.5 Sonnet。有时候我觉得 Cursor 里面的 Composer Agent(或者类似的一款 AI 编程软件 Windsurf)输出比较慢,就想只改几行代码的简单需求,我自己写会不会更快。但我试了几次,往往是我刚刚在代码仓里面定位到该改哪块代码,AI 就已经写完了。大多数时候我干的事情反而是最没有技术含量的,或者说更类似产品经理的:把需求用自然语言描述清楚告诉 AI,然后看 AI 输出的东西是否符合我的需求。(当然今天 AI 还没有这么强,当它搞不定的时候,还得我动手去改代码)今天 o3 的 demo 里面,也能看到整个 demo 里面最慢的不是 AI,而是操作 AI 的人。
那么 AI Infra 这种相对专业的领域,是不是还只能靠人类专家?比如给定一个万卡集群的训练任务和硬件配置,问 PP、DP、TP 三种并行方式最优的参数怎么选择?我在草稿纸上算了一晚上才算出来。如果直接去问 o1-preview,它也会答错,因为缺少领域知识,比如它不知道 GPU 的硬件参数和 LLaMA 70B 的 tensor shape。但如果我从知识库里找到相关的背景知识告诉 o1-preview,在它第一步输出之后指出它的问题,让它继续改进,只要 5 轮对话,半个小时(包括输入 prompt 的时间),o1-preview 就能列公式计算,得到跟我想了一晚上一样的结论。一个好的推论是,基于推理能力最强的模型,AI 可以大大提升领域专家的工作效率。一个坏的推论是,领域专业知识和经验并不是人在 AI 面前的护城河。
昨天晚上我正好跟老婆讨论这个问题,我老婆就说,9 月我觉得 AI 编程厉害,可以一个人写一个大项目,不需要团队。但实际呢?
首先,AI 的代码质量和软件工程能力还不如专业程序员。11 月开始我独立负责一个项目的大部分技术开发工作,有了 Cursor 和 Claude 3.5 Sonnet,一个月 4 万多行的代码产量确实比之前高了很多,但 AI 的代码质量还是不如人,比如不遵循 DRY 原则,大量代码重复。由于测试用例不完善,AI 还经常把本来对的地方改错了,导致项目里到处都是 bug。因此,人仍然需要作为 AI 的守门员,类似软件开发团队里 committer 的角色。
其次,独行快,众行远。一个人的思考容易陷入死胡同,也容易丧失动力。合伙人的作用并不简单是帮忙分担工作,更重要的是提供不同的思考角度,能在悲观绝望的时候拉一把,能在得意自满的时候浇一盆冷水,能在分心的时候催一催进展,能在技术行不通的时候换个路线甚至干脆砍掉这个特性。
最后,技术仅仅是公司的一个方面,还不一定是最重要的方面。比如这次 o3 发布会,两位技术专家的 demo 明显不如 Sam Altman 会讲。两位技术专家都是我非常膜拜的大神,但做 demo 的时候仍然很难让外行人理解这技术有多么牛逼。在 demo 中,o3 mini 自己写了个 Agent 框架,一次跑通,用户又在这个 Agent 框架里写了一个评测自己的程序,也是一次跑通,最后出来一个 61% 的性能指标。我们内行人直呼太强了,但旁边的 Sam Altman 提醒他们解释下这是在干啥。估计在很多外行人眼里,这个 demo 就是开发了一个粗糙的 HTML 界面,输入一段 prompt 出来一个不知道是啥的测试结果,根本 get 不到 AI bootstrapping 的厉害。
让我想起来去年底我们做出来第一版语音电话,做了 Donald Trump 和 Elon Musk 的数字分身,能够给 Trump 和 Musk 打电话聊天,音色和说话风格都很类似。但投资人看了就是蒙的,这玩意有啥用?用户为啥要给 Trump 和 Musk 的数字分身打电话?一些朋友就跟我说,别人是把一个 100 分的东西讲成 500 分,我是把一个 100 分的东西讲成 60 分。因此对一家公司而言,Sam Altman 这样的角色是非常重要的。在阐明技术价值方面,目前 AI 还是干不过人类。
综合以上三点,昨天晚上我就想通了,人类不应该跟 AI 拼智力。这就像工业革命中,人类不应该跟机器拼体力。但工业革命并没有取代人类,因为机器扩展了人类体力的边界,既能够搬运人类搬不动的东西,也提升了重复体力劳动(例如种地、纺织)的效率,让人类的体力劳动更体面了。今天的 AI 也扩展了人类智力的边界,未来既能解决人类需要最烧脑才能想出答案的难题,又能提升重复脑力劳动(例如填表、写 PPT)的效率,这样人类的脑力劳动也将更加体面。
与工业革命一样,我认为 AI 并不是程序员的终结者,相反,它可以大大提升程序员的工作效率。也不用担心程序员效率普遍提升了会有很多人失业,因为社会的软件开发需求目前是远远没有被满足的。
第一是独立开发者。我有很多想做的东西,但没有时间,开发不出来。现在效率提升了,就能把之前一直想做的东西做出来了。现在 AI 只能提升我整体效率一倍,因为有很多 AI 做不了或者做不好的事情。但我相信有了更强大的模型和 agentic workflow,2025 年整体效率提升 10 倍是有希望的。在未来的一年里,我希望能利用 AI 能力,实现几个心愿。
第二是 to B 行业。传统行业里也有很多没有被数字化的流程和知识,这也是 ERP 在很多行业里落地的最大挑战。之前我们觉得定制化开发就是外包,成本收不回来,因此很多工作流就是没有数字化和自动化的。现在有了 AI,给每个行业做定制化开发成本降低了,整理零散知识的成本也降低了,更多行业就可以实现数字化转型。
希望 o3 mini 和 o3 能够早日开放使用,国内各家大模型也能尽快追上 o1 的能力。