当前位置: 欣欣网 > 码农

谁是最强编程大模型?从六大方向横向对比o1-preview、o1-mini、ChatGPT4o、Claude3.5 Sonnet

2024-09-13码农

OpenAI放大招!全新推理模型o1系列来了,解题能力堪比博士生!

就在5分钟前,OpenAI发布了全新的 AI 模型系列——OpenAI o1,主打推理能力,号称能解决比以往模型更难的科学、 编程 数学 问题!


先别急着激动,这次只是预览版! OpenAI 表示,o1 系列模型还将进行定期更新和改进,后续还会加入更多功能,例如网页浏览、文件和图像上传等。

网页浏览难道是参考Claude那种?我们拭目以待。

那么,o1 系列模型到底有多牛呢?

推理能力大幅提升: OpenAI 表示,o1 模型在物理、化学和生物等学科的 challenging 基准测试中,表现与博士生相当

数学和编程能力爆表: 在一项国际数学奥林匹克竞赛(IMO)的资格考试中,GPT-4o 的正确率只有 13%,而 o1 模型的正确率高达 83%!在 Codeforces 编程竞赛中,o1 模型的成绩也达到了前 89%!

o1 系列模型的工作原理:

更像人类一样思考: o1 系列模型经过训练,能够花更多时间思考问题,尝试不同的策略,并识别自己的错误,就像人类一样!

o1 系列模型的安全性:

全新安全训练方法: OpenAI 开发了一种新的安全训练方法,利用 o1 模型的推理能力,让它们更好地遵守安全和对齐准则

更强的「越狱」抵抗力: OpenAI 用「越狱」测试来衡量模型的安全性,结果显示 o1 模型比 GPT-4o 更不容易被「越狱」

o1 系列模型的两个版本:

o1-preview: 预览版模型,功能相对较少,但推理能力强大

o1-mini: 更小、更快的推理模型,特别擅长编程,成本也更低

如何使用 OpenAI o1?

ChatGPT Plus 和 Team 用户: 现在就可以在 ChatGPT 中使用 o1-preview 和 o1-mini 模型

ChatGPT Enterprise 和 Edu 用户: 下周开始可以使用这两个模型

API 用户: 符合条件的开发者现在就可以在 API 中使用这两个模型,但功能有限,例如不支持函数调用、流式传输、系统消息等

ChatGPT Free 用户: OpenAI 计划在未来向所有 ChatGPT Free 用户开放 o1-mini 模型

在这里,直接用 OpenAI o1

谷歌浏览器访问:https://www.nezhasoft.cn

下面,我们分六项(代码能力、代码优化能力、解读代码能力、测试用例及说明能力、转码能力、添加注释能力)横线对比一下 ChatGPT4o、 Claude3.5 Sonnet、 o1-preview、 o1-mini ,看看孰强孰弱。

都是代码AI实测,文章较长,想直接看结论的,可以直接跳到文末~

round 1:代码能力

Prompt:请根据上面描述,给出解题思路,通过Java代码解答此题,关键代码添加注释,并根据示例中的输入输出进行代码测试,代码如果有错误,请重新修改代码

ChatGPT4o

ChatGPT4o给出了解题思路、Java代码、代码解释、测试用例。

Claude3.5 Sonnet

Claude给出了解题思路、Java代码、代码解释、测试用例、时间复杂度。

o1-preview

o1-preview给出了解题思路、Java代码、代码解释、测试用例、测试说明、注意事项、总结。


o1-mini给 出了解题思路、 Java 码、代码说明、4个测试用例总结

验证代码正确率,我们将四个大模型生成的代码Copy到Idea中,通过测试用例测试一下。

测试通过,通过率100%。

代码review:

如下图所示,左侧为ChatGPT4o,右侧为Claude3.5 Sonnet。

肉眼可见,o1-preview代码共86行,o1-mini代码共92行,ChatGPT4o代码共74行,Claude共54行,相差20行。Claude3.5 Sonnet明显更加简洁。

o 1-mini号称拥有更强的编程能力,仔细一看,发现 o 1-mini新增了很多输入输出校验,增强了代码的健壮性。

代码能力小结:

ChatGPT4o给出了解题思路、Java代码、代码解释、测试用例。

Claude3.5 Sonnet给出了解题思路、Java代码、代码解释、测试用例,还给出了算法的时间复杂度。

o1-preview给出了解题思路、Java代码、代码解释、测试用例、测试说明、注意事项、总结。

o1-mini给出了解题思路、Java代码、代码说明、4个测试用例总结。

通过review代码,Claude3.5 Sonnet明显更加简洁、o1-mini更加缜密。

代码能力,o1-mini >o1-preview > > Claude3.5 Sonnet > ChatGPT4o

round 2:代码优化

PS:我们将「通过回溯算法解答猴子吃桃的代码」发给它们,让它们对代码进行优化。

ChatGPT4o

ChatGPT4o指出了代码存在4个问题:

  1. 效率低,递归回溯,时间复杂度为 O(N)

  2. 递归深度限制,可能会导致 StackOverflowError

  3. 不必要的排序

  4. 全局变量使用,不符合编码规范

ChatGPT4o给出了优化后的代码、关键点、下一步改进建议。


Claude3.5 Sonnet

Claude指出了代码存在4个问题:

  1. 效率低,递归回溯,时间复杂度为 O(N)

  2. 不必要的排序

  3. 全局变量使用,不符合编码规范

  4. 代码没有处理输入异常的情况

Claude给出了优化建议、优化后的代码、优化说明、小总结。

o1-preview o1-preview指出了代码存在4个问题:

  1. 效率低下

  2. 缺少输入校验

  3. 不必要的排序操作

  4. 全局变量的使用

o1-preview 给出了优化建议、优化后的代码、代码说明、 测试示例、 优化效果 总结。

o1-mini o1-mini指出了代码存在6个问题:
  1. 递归深度过大

  2. 效率低下

  3. 不必要的排序

  4. 缺乏输入验证

  5. 静态变量的使用

  6. 错误的测试用例预期

o1-mini 给出了优化建议、优化后的代码、代码说明、4个 测试示例、 总结。

代码优化小结:

ChatGPT4o、Claude、 o1-preview 都指出了4项问题,但 o1-mini指出了6个问 题。

给出了 给出了优化建议、优化后的代码、代码说明、 测试示例、 优化效果 总结。

代码优化能力,o1-mini > o1-preview > Claude3.5 Sonnet = ChatGPT4o

round 3:解读代码

Prompt:请给出代码的解题思路

ChatGPT4o

ChatGPT4o给出了具体的解题思路、优化后的代码、代码解析、建议的下一步改进

Claude3.5 Sonnet

Claude3.5 Sonnet给出了优化后代码的解题思路:

  1. 问题分析

  2. 输入处理

  3. 初始验证

  4. 二分查找最小速度

  5. 验证函数

  6. 返回结果

  7. 分析代码优势

Claude3.5并没有再次输出代码,其实这一点是好评的,因为上面已经输出过了,完全没必要再次输出。

o1-preview o1-preview给出了具体步骤、整体思想、代码解释、示例运行、可能的问题和优化、优化后的解法思路、总结。

o1-mini

o1-mini给出了问题分析、代码解读、主要步骤解析、存在的问题、优化建议、优化后的解题思路、优化后的示例代码、优化后的代码说明、5个示例测试、总结。

解读代码小结:

ChatGPT4o看似给的东西比较多,Claude3.5只是返回了解题思路。

o1-mini给的东西更多,牛逼plus,真顶。

解读代码 能力, o1-mini > o1-preview >> Claude3.5 Sonnet > ChatGPT4o

round 4:测试用例及说明

Prompt:给出3个测试用例和说明

ChatGPT4o

ChatGPT4o给出了三个测试用例,涵盖了不同的场景、完整代码及测试用例、测试用例结果

Claude3.5 Sonnet

Claude3.5 Sonnet给出了3个测试用例,并对每个用例进行详细说明。

这些测试用例涵盖了几种不同的情况:

  1. 正常情况,需要计算的最小速度

  2. 需要较高速度才能完成的情况

  3. 无法完成任务的情况(时间不足)

o1-preview

o1-preview给出了4个测试用例和总结。

o1-mini


o1-mini 直接给出了5个测试用例和说明,还给出了小总结。


  1. 正常情况

  2. 边界情况

  3. 无效输入


测试用例及说明能力小结:

ChatGPT4o给出的东西很多,又输出一遍完整代码,但是回答内容有些重复。

Claude3.5 Sonnet给出了3个测试用例,并对每个用例进行详细说明,还指出了3个测试用例覆盖了3种不同的情况。

o1-preview给出了4个测试用例和总结。

o1-mini 直接给出了5个测试用例 和说明,还给出了 小总结。

测试用例及说明能力,o1-mini > o1-preview > Claude3.5 Sonnet > ChatGPT4o

round 5:Java转Python

Prompt:将代码转为Python语言

ChatGPT4o

ChatGPT4o给出了Python代码、关键代码解析、测试用例

Claude3.5 Sonnet

Claude3.5给出了Python代码、解题思路、时间复杂度

o1-preview o1-preview给出了Python代码实现、代码说明、测试示例、注意事项、运行方法

o1-mini o1-mini给出了解题思路、主要步骤、Python代码实现、代码说明、代码优化点、5个测试示例、结论

转码能力小结:

ChatGPT4o和Claude3.5都给出了Python代码、解题思路、测试用例,测试后,通过率100%。

o1-preview给出了Python代码实现、代码说明、测试示例、注意事项、运行方法。

o1-mini给出了解题思路、主要步骤、Python代码实现、代码说明、代码优化点、5个测试示例、结论。

转码能力,o1-mini > o1-preview > Claude3.5 Sonnet = ChatGPT4o

转码能力,旗鼓相当。

round 6:添加注释

ChatGPT4o

Claude3.5 Sonnet


ChatGPT4o和Claude3.5都为Python代码添加了详细的代码注释,能力堪称顶级。

o1-preview和o1-mini给出的代码自带详细的代码注释,不用添加了...

添加注释能力,o1-mini > o1-preview > Claude3.5 Sonnet = ChatGPT4o

总结

我们分别从六大方面对比了o1-mini、o1-preview 、ChatGPT4o和Claude3.5 Sonnet。

  1. 代码能力 o1-mini > o1-preview > Claude3.5 Sonnet > ChatGPT4o

  2. 代码优化能力 ,o1-mini > o1-preview > Claude3.5 Sonnet = ChatGPT4o

  3. 解读代码能力 ,o1-mini > o1-preview >> Claude3.5 Sonnet > ChatGPT4o

  4. 测试用例及说明能力 ,o1-mini > o1-preview > Claude3.5 Sonnet > ChatGPT4o

  5. 转码能力 ,o1-mini > o1-preview > Claude3.5 Sonnet = ChatGPT4o

  6. 添加注释能力 ,o1-mini > o1-preview > Claude3.5 Sonnet = ChatGPT4o

就今天的测试而言,我们不难看出,在编程方面, o1-mini性能提升明显。

编程能力:

o1-mini > o1-preview > Claude3.5 Sonnet > ChatGPT4o

如何使用 o1-mini

谷歌浏览器访问:https://www.nezhasoft.cn

回复gpt,获取ChatGPT4o、 o1-mini 直接使用地址

点击阅读原文,国内直接使用ChatGpt4o、o1-mini