为什么做这个测试

每次看到「XX 模型编程能力碾压全场」这种文章,我都会想一个问题:那些评测用的是标准的 benchmark 题,实际干活谁更好?

于是我做了一个不太严谨但很真实的小实验:拿同一个实际项目需求,分别让 DeepSeek、Claude 和 GPT-4o 来写代码,看看谁交的作业最靠谱。

测试场景

一个真实的小需求:写一个 Node.js 脚本,自动抓取某个技术网站的热门文章列表,提取标题、链接、摘要,然后生成一份 JSON 格式的日报。

要求:

  • 支持 anti-crawler(随机 User-Agent、请求间隔)
  • 输出结构化的 JSON
  • 代码要有错误处理
  • 支持配置目标网站和抓取深度

第一轮:代码生成

GPT-4o

速度很快,3 秒出答案。给的代码结构完整,注释清晰,甚至还加了 TypeScript 类型定义。但问题在于——它默认用了 cheerio + axios 的经典组合,没有考虑目标网站可能用 SPA 渲染。如果目标网站是 React/Vue 渲染的,这代码根本抓不到内容。

典型的 「看起来完美但实际有坑」

Claude

Claude 用了更复杂的方案——先用 axios 请求判断页面是 SSR 还是 CSR,如果是 CSR 就自动切换 puppeteer。还贴心地加了一个读取 robots.txt 的逻辑。

代码量最大,考虑了最多的 edge case。但问题是:过度设计了。一个简单的抓取脚本,搞了 400 行,维护起来反而麻烦。

DeepSeek

DeepSeek 的方案是最务实的:axios + cheerio,但如果检测到没有关键内容,就报错提示「可能需要 headless 浏览器」。还用了 async/await 的流式处理,内存占用很低。

没有过度设计,没有花架子,刚好够用。而且中文注释写得很自然,改起来方便。

第二轮:Debug 测试

我故意给每个 AI 的代码里加了一个隐藏 bug(Promise.allSettled 的错误处理没做 res 检查),看谁能在 code review 时发现。

结果:

  • DeepSeek:指出了错误,解释了为什么在并发场景下这可能引发静默失败
  • Claude:同样发现了问题,还给了一张时序图说明问题发生过程
  • GPT-4o:指出问题但解释比较简短,没有展开

在代码审查这个环节,三个模型差距不大,都合格。

第三轮:修改与迭代

我要求加一个功能:输出改为 Markdown 格式,并且把抓取失败的 URL 单独记录下来。

DeepSeek 和 Claude 都正确修改了代码结构,GPT-4o 的修改方案把原来的 JSON 输出功能也破坏了——因为它的修改 diff 不够精确,删了不该删的行。

这说明:在迭代修改已有代码的场景下,长上下文和代码理解能力确实重要。

我的结论

维度 DeepSeek Claude GPT-4o
代码速度 ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐⭐
代码正确性 ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐
代码实用性 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐
Debug 能力 ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐
修改迭代 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐

选哪个?

  • 日常写代码:GPT-4o 最快,适合你知道怎么写只是懒得打的场景
  • 复杂项目/重构:DeepSeek 最务实,它给的代码最接近「能直接投入生产」的状态
  • 做原型/探索:Claude 最全面,适合你不知道自己不知道什么的场景

说到底,没有什么「最强的编程 AI」。不同的任务选不同的模型,就像不同的工具干不同的活。

💬 评论区聊聊:你用过的哪个 AI 写代码最顺?有没有被某个 AI 坑过的经历?👇

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐