Anthropic 在 6 月底发布了 Claude 3.5 Sonnet,主打代码能力提升和新的 Artifacts 功能。用了一段时间后,对比 GPT-4o 做了一些测试,记录下体验和观察。
Claude 3.5 Sonnet 定位
Anthropic 的模型线目前是三档:Haiku(轻量快速)、Sonnet(平衡)、Opus(旗舰)。3.5 Sonnet 的定位有点意思——它是"中档"模型的升级版,但在很多 benchmark 上已经超过了自家的 Opus 和 OpenAI 的 GPT-4o。
从官方公布的数据看,3.5 Sonnet 在代码相关的评测上表现突出:
- HumanEval:92.0%(GPT-4o 约 90.2%)
- 多语言代码生成:几乎全面领先
- 速度:比 Opus 快约 5 倍,和 GPT-4o 体感相当
Artifacts 功能
这是 Claude 3.5 配套推出的一个交互功能。当你让 Claude 写代码、生成文档、做 SVG 图表时,它会在对话旁边打开一个独立面板展示结果。比如让它写一个 React 组件,Artifacts 面板会直接渲染出可交互的预览。
实际体验:
- 写单文件 HTML/CSS/JS 页面非常好用,即写即预览
- React 组件支持也不错,能处理 state 和交互
- SVG 图表生成比让它输出 markdown 表格更直观
- 局限是只支持单文件,多文件项目还是得用传统方式
对于演示、原型验证、教学场景,Artifacts 确实降低了门槛。
代码生成能力对比
选了几个场景做对比测试(Claude 3.5 Sonnet vs GPT-4o,2024 年 8 月版本):
场景 1:算法题
给同一道 LeetCode Hard 题(合并 K 个升序链表),两者都能给出正确的最优解(堆解法),代码质量相当。这类标准算法题两者已经没有明显差距。
场景 2:代码生成——完整功能模块
要求:用 Go 写一个带速率限制的 HTTP 中间件,支持 token bucket 算法、按 IP 限流、可配置参数。
Claude 3.5 Sonnet 的输出更"完整"——默认会加上单元测试、使用示例、配置说明,代码风格更工整。GPT-4o 的核心实现也没问题,但需要额外提示才会补充测试代码。
场景 3:Debug
故意给一段有微妙 bug 的并发代码(Go 的 goroutine 泄漏问题),让两者诊断。
Claude 3.5 Sonnet 的表现更好——它不仅定位到了 bug,还解释了 goroutine 泄漏的触发条件、给出修复代码、并建议了防御性编程的写法。GPT-4o 也能找到 bug,但解释没那么系统。
场景 4:代码重构
给一段 300 行的"意大利面条"Python 代码,要求重构为更清晰的结构。
这个场景 Claude 3.5 Sonnet 的优势比较明显。它会先分析代码的职责划分问题,然后给出一个清晰的重构方案(类的拆分、方法提取、依赖注入等),最后输出重构后的完整代码。GPT-4o 偏向于直接给重构后的代码,中间的分析推理过程不如 Claude 详细。
场景 5:多语言能力
让两者分别用 Rust、Go、TypeScript 实现同一个功能(简单的 HTTP 客户端 + 重试逻辑)。Claude 3.5 Sonnet 在 Rust 和 Go 的代码质量上略胜一筹(更地道、更符合语言惯例),TypeScript 差不多持平。
整体对比总结
| 方面 | Claude 3.5 Sonnet | GPT-4o |
|---|---|---|
| 代码生成质量 | 略胜,尤其是完整度 | 优秀 |
| Debug 分析 | 推理过程更清晰 | 结论正确但过程简略 |
| 代码重构 | 明显更好 | 中规中矩 |
| 标准算法 | 持平 | 持平 |
| 多语言 | Rust/Go 略胜 | JS/TS 生态更熟 |
| 上下文理解 | 200K context,长文档表现好 | 128K context |
| 回答风格 | 详细、结构化、有时偏冗长 | 简洁、直接 |
| 工具生态 | Artifacts 是亮点 | GPTs 和 Code Interpreter |
一些细节观察
Claude 的"过度思考"倾向:Claude 3.5 Sonnet 有时会把简单问题复杂化。比如你只是想要一个简单的工具函数,它可能会输出一个完整的类加上抽象层。这可以通过 prompt 控制,但默认行为确实偏"过度工程"。
GPT-4o 的优势领域:涉及 OpenAI 生态内的工具(function calling、structured output)时,GPT-4o 的配合度更好,这不意外。另外 GPT-4o 对最新的库版本和 API 的了解通常更及时。
Claude 的安全限制:Claude 在代码安全方面更保守。让它写渗透测试工具或逆向相关代码时,经常会拒绝或加很多 disclaimer。GPT-4o 在这方面宽松一些。
成本:Claude 3.5 Sonnet 的 API 定价是 $3/$15(input/output per 1M tokens),GPT-4o 是 $5/$15。Claude 的输入成本更低,在需要喂大量 context(比如代码审查整个文件)的场景下有价格优势。
Anthropic 的定位
Anthropic 的策略越来越清晰:不和 OpenAI 拼"大而全"的生态,而是在模型本身的能力上做差异化。3.5 Sonnet 的发布节奏也很讲究——跳过 3.5 Opus 直接出中档模型的升级版,说明他们认为性价比才是当前竞争的关键。
从用户角度看,这是好事——两家的竞争在推动代码 AI 能力快速提升。实际使用中,我的策略是根据任务选模型:需要深度代码分析和重构用 Claude 3.5 Sonnet,快速问答和工具集成用 GPT-4o。
总结
Claude 3.5 Sonnet 在代码能力上确实有亮点,尤其是重构、debug、长上下文分析这些需要深度推理的场景。但说"全面超越 GPT-4o"还为时尚早——两者各有擅长的领域,差距并没有大到需要"all in"某一个的程度。Artifacts 功能倒是一个实实在在的体验提升,值得试试。