DeepSeek vs Claude vs GPT-4o:我拿同一个需求让三个AI写代码,结果出乎意料
为什么做这个测试
每次看到「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 坑过的经历?👇
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)