Gemini 2.5 Pro与Claude 3.7 Sonnet:哪个AI编码能力更强?

Gemini 2.5 Pro与Claude 3.7 Sonnet:哪个AI编码能力更强?

根据哈佛大学 2025 年的一份报告,编码是 LLM 的主要用途之一。现在,世界各地的工程师和开发人员都在使用人工智能来调试代码、测试代码、验证代码或为代码编写脚本。事实上,以目前 LLM 生成代码的方式来看,它们很快就会像一对程序员一样,为任何希望解决编码问题的人提供帮助。迄今为止,Claude 3.7 Sonnet 一直是最好的编码 LLM。但最近,谷歌更新了最新的 Gemini 2.5 Pro,如果基准测试结果属实,它将击败 Claude !在本文章中,我们将对这一说法进行测试。我们将对 Gemini 2.5 Pro 和 Claude 3.7 Sonnet 的各种代码相关任务进行相同的提示,看看哪个 LLM 才是编码之王。

什么是Gemini 2.5 Pro?

Gemini 2.5 Pro 是一种长语境推理器,DeepMind 称其为最重要的多模态人工智能模型,是 Gemini 1.5 系列中的一种,经过微调后在文本、代码和视觉任务中表现出色。该模型可以在其上下文窗口中对多达一百万个词组的任何类型的文本进行推理:整本书、巨型文档或很长的对话,都能精确、连贯地进行推理。所有这一切都使它在企业应用、科学研究和大量内容生成中发挥了极大的作用。

真正让 Gemini 2.5 Pro 傲视群雄的是它的原生多模态性:它是唯一一个能相当容易地理解和推理不同数据类型的模型,能解释图像、文本,不久还能解释音频。它通过Gemini API 为 Workspace 和 Gemini 应用程序以及开发人员工具中的复杂功能提供支持,并与 Google 生态系统紧密集成。

什么是Claude 3.7 Sonnet?

Claude 3 系列中最新的中级模型是Claude 3.7 Sonnet,介于小型 Haiku 和旗舰 Opus 模型之间。作为“中层”,Claude 3.7 Sonnet 在一些基准测试(如结构化推理、辅助编码和商业分析)中达到甚至超过了 GPT-4 的性能。它反应灵敏,价格低廉,非常适合需要高级人工智能功能的开发人员和企业使用,而无需支付高端机型的费用。

Claude 3.7

Claude 3.7 Sonnet 的一大卖点是强调伦理一致性和可靠性,这可以追溯到 Anthropic 的人工智能宪法原则。多媒体输入支持(文本+图片)、长文档处理、总结、问答和构思都是它的闪光点。无论通过 Claude.ai、Claude API 还是嵌入到企业工作流中,Sonnet 3.7 都能在性能、安全性和速度之间做出很好的权衡,非常适合需要大规模可信人工智能的团队。

Gemini 2.5 Pro与Claude 3.7 Sonnet:基准比较

Gemini 2.5 Pro 在常识和数学推理基准测试中表现出色,而 Claude 3.7 Sonnet 则在特定编码基准测试中始终保持领先。克劳德在真实性测试中也取得了不错的成绩,这意味着人类学确实在努力减少幻觉。

基准测试 获胜者
MMLU(常识知识) Gemini 2.5 Pro
HumanEval(Python编码) Claude 3.7 Sonnet
GSM8K(数学推理) Gemini 2.5 Pro
MBPP(编程问题) Claude 3.7 Sonnet
TruthfulQA Claude 3.7 Sonnet

在上下文处理方面,Gemini 的百万代币大窗口及其谷歌生态系统是处理超大代码库时的一大优势,而 Claude 在处理普通编码任务时往往反应更快。

Gemini 2.5 Pro 与 Claude 3.7 Sonnet:实际任务执行对比

任务 1:JavaScript 无尽跑酷游戏

提示词:Create a pixel-art endless runner in p5.js where a robotic cat dashes through a neon cyberpunk cityscape, dodging drones and jumping over broken circuits. I want to run this locally.

Gemini 2.5 Pro 输出:

Claude 3.7 Sonnet 输出:

响应点评:

Gemini 2.5 Pro Claude 3.7 Sonnet
Gemini 2.5 Pro 提供的代码似乎不够充分,就像脱离了上下文,这对我们不起作用。 Claude 3.7 提供了一款出色的动画游戏,其控制功能令人惊叹,退出和重启等功能也能正常工作,但有时游戏会自动结束。

结果:Gemini 2.5 Pro: 0 | Claude 3.7 Sonnet: 1

任务 2:用Pygame制作程序化地下城生成器

提示词:Build a basic procedural dungeon generator in Python using pygame. The dungeon should consist of randomly placed rooms and corridors, and the player (a pixel hero) should be able to move from room to room. Include basic collision with walls.

Gemini 2.5 Pro 输出:

Claude 3.7 Sonnet 输出:

响应点评:

Gemini 2.5 Pro Claude 3.7 Sonnet
Gemini 2.5 Pro 提供的代码具有结构化的方法和更好的控制功能。 Claude 3.7 的动画效果更好,操控性也不错,尽管像素英雄在同时按下两个键时没有响应。

结果:Gemini 2.5 Pro: 1 | Claude 3.7 Sonnet: 1

任务 3:通配符模式匹配编码问题

提示词:Give the solution to this problem in C++. Given an input string (s) and a pattern (p), implement wildcard pattern matching with support for “?” and “where”:

Give the solution to this problem in C++. Given an input string (s) and a pattern (p), implement wildcard pattern matching with support for “?” and “where:”

– ‘?’ Matches any single character.

– Matches any sequence of characters (including the empty sequence).

– The matching should cover the entire input string (not partial).

Example 1:

Input: s = “aa”, p = “a”
Output: falseExplanation: “a”does not match the entire string “aa”.

Example 2:

Input: s = “aa”, p = “*”
Output: trueExplanation: matches any sequence.

Example 3:

Input: s = “cb”, p = “?a”
Output: falseExplanation: ‘?’ matches ‘c’, but the second letter is ‘a’, which does not match ‘b’.Constraints:0 <= s.length, p.length <= 2000s contains only lowercase English letters.p contains only lowercase English letters, ‘?’ or **.

Gemini 2.5 Pro 输出:

通配符模式匹配编码问题

Claude 3.7 Sonnet 输出:

通配符模式匹配编码问题

响应点评:

Gemini 2.5 Pro Claude 3.7 Sonnet
Gemini 2.5 Pro 在处理边缘情况方面表现出了卓越的能力。它的逻辑更清晰,通配符处理得更好,变量名也更清晰。事实证明,它比 Claude 3.7 Sonnet 更可靠。它适合实际应用。 Claude 3.7 Sonnet 使用动态编程进行模式匹配,但在处理复杂模式(如多个 “*”通配符)时很吃力,在某些情况下会导致错误,如“mississippi”。

结果:Gemini 2.5 Pro: 1 | Claude 3.7 Sonnet: 0

任务 4:使用Pygame制作射击游戏

提示词:I need you to program a retro-style 2D side-scroller shooter game in Python using Pygame. The player would assume control of a spaceship whose lasers destroy incoming alien ships. Score tracking would be implemented, as well as some basic explosion animations.

Gemini 2.5 Pro 输出:

Claude 3.7 Sonnet 输出:

响应点评:

Gemini 2.5 Pro Claude 3.7 Sonnet
它的表现形式虽然简约,但功能强大。飞船可以移动和射击,但外星碰撞检测存在缺陷。分数更新不一致。没有添加爆炸效果。 事实证明,这是一款功能齐全、制作精良的游戏,具有流畅的移动、直观的激光碰撞和得分跟踪功能,并配有令人满意的爆炸动画。控制感觉流畅,视觉效果吸引人。

结果:Gemini 2.5 Pro: 0 | Claude 3.7 Sonnet: 1

任务 5:数据可视化应用

提示词:Create an interactive data visualization application in Python with Streamlit that loads CSVs of global CO₂ emissions, plots line charts by country, allows users to filter on year range, and plots the top emitters in a bar chart.

Gemini 2.5 Pro 输出:

Claude 3.7 Sonnet 输出:

响应点评:

Gemini 2.5 Pro Claude 3.7 Sonnet
通过过滤和图表创建简洁的交互式仪表盘。图表标注得很好;Streamlit 组件(如滑块和下拉菜单)配合得很好。 Claude 3.7 Sonnet 也提供了可正常工作的仪表盘,但在筛选方面缺乏互动性。条形图保持静态,一些图表缺少图例。

结果:Gemini 2.5 Pro: 1 | Claude 3.7 Sonnet: 0

比较汇总

任务 胜出者
获胜者JavaScript无尽跑动游戏 Claude 3.7 Sonnet
程序化地牢生成器 Pygame
通配符模式匹配编码问题 Gemini 2.5 Pro
使用Pygame的射击游戏 Claude 3.7 Sonnet
数据可视化仪表盘应用程序 Gemini 2.5 Pro

Gemini 2.5 Pro与Claude 3.7 Sonnet: 选择最佳模型

经过在不同编码任务中对两种模式的实验和测试,“最佳 ”选择取决于您的具体需求。

在以下情况下,您可以选择 Gemini 2.5 Pro

  • 需要百万代币上下文窗口
  • 与谷歌产品集成
  • 使用算法和数据可视化

在以下情况下,您可以选择 Claude 3.7 Sonnet

  • 代码可靠性是重中之重
  • 需要开发游戏或互动应用程序
  • 更看重应用程序接口成本的效率

对于专业开发人员来说,这两种模式每月 20 美元的订阅价格都是合理的。失去调试、生成代码或解决问题的时间将使收入化为乌有。每当我需要编写一天的代码时,我倾向于使用 Claude 3.7 Sonnet,因为它能更好地生成交互式应用代码,但当涉及到大数据集或文档时,Gemini 的上下文窗口可能最适合我。

小结

通过对 Gemini 2.5 Pro 和 Claude 3.7 Sonnet 的任务比较,我们发现两者之间并没有明显的优胜者,结果是平分秋色,因为每个模型在不同的编码任务中都有明显的优缺点。虽然这些模型仍在不断发展,但它们正成为每个开发人员的必备工具,不是为了取代人类程序员,而是为了成倍提高他们的工作效率和能力。在 Gemini 2.5 Pro 和 Claude 3.7 Sonnet 之间做出抉择时,应只考虑您的项目需求,而不是考虑什么是“更好的”。

请在下面的评论区告诉我您的想法。

评论留言