刷掘金看到热榜第三 "智谱GLM-5开源,让高级程序员也危险了",评论区已经吵疯了 😂
一边说"国产大模型终于崛起了",另一边"你们怕不是没用过Claude"。
行,嘴炮没意义。我直接写代码,同一道题调5个大模型API,看看到底谁强谁弱。
测试方案
题目选的不是那种 FizzBuzz 水题,而是一道看着简单但很容易写错的经典:
手写 LRU Cache
get(key)和put(key, value)都要 O(1)- 容量满了自动淘汰最久没用的
- 不准用 OrderedDict,必须手写双向链表
为什么选这题?因为它能同时考验模型的算法理解、代码结构和边界处理能力。面试官都爱考这个,模型也逃不掉 🤭
调用代码
我这里用 OpenAI 兼容格式统一调用,现在主流大模型API基本都支持这个格式了,换个 model 名就行:
import openai
import time
client = openai.OpenAI(
api_key="sk-xxx",
base_url="https://api.ofox.ai/v1"
)
models = ["glm-5", "gpt-4o", "claude-sonnet-4-6", "deepseek-v3", "qwen-max"]
prompt = """用 Python 实现 LRU Cache:
- get(key): O(1)
- put(key, value): O(1)
- 容量满时淘汰最久未使用的 key
- 不准用 OrderedDict,手写双向链表
- 包含完整测试代码"""
for model in models:
start = time.time()
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
temperature=0
)
cost = time.time() - start
print(f"\n{'='*50}")
print(f"模型: {model} | 响应时间: {cost:.1f}s")
print(resp.choices[0].message.content[:500])
这里我偷了个懒——5个模型用了同一个 base_url。以前我是每个模型单独申请 key、改 base_url,光 .env 文件里就存了七八个 key,烦死了。后来换成 ofox.ai 的聚合API,一个 key 就能调国内外 50 多个模型,国内访问海外模型延迟也还行(据说走的阿里云加速节点)。
好了不扯了,看结果。
实测结果
5个模型全部跑完,我把代码拿出来挨个 python3 执行了一遍,结果如下:
| 模型 | 响应时间 | 代码能跑吗 | 有没有测试 | 代码质量 |
|---|---|---|---|---|
| GLM-5 | 2.3s | ✅ 直接跑通 | ✅ 有 | ⭐⭐⭐⭐⭐ 带类型标注 |
| GPT-4o | 1.9s | ✅ 直接跑通 | ✅ 有 | ⭐⭐⭐⭐⭐ 工程化最好 |
| Claude Sonnet | 2.6s | ✅ 直接跑通 | ✅ 有完整用例 | ⭐⭐⭐⭐⭐ 最详细 |
| DeepSeek V3 | 3.8s | ✅ 跑通 | ⚠️ 简单 | ⭐⭐⭐⭐ 简洁但注释少 |
| Qwen Max | 2.9s | ⚠️ 有小bug | ❌ 无 | ⭐⭐⭐⭐ 中规中矩 |
具体分析
GLM-5:确实进步大
说实话我之前对智谱的模型印象一般,GLM-4 写代码总是差点意思。但 GLM-5 这次真的让我刮目相看:
# GLM-5 生成的核心代码片段
class Node:
__slots__ = ('key', 'value', 'prev', 'next')
def __init__(self, key: int = 0, value: int = 0):
self.key = key
self.value = value
self.prev = None
self.next = None
用了 __slots__ 优化内存!这个细节连 GPT-4o 都没主动加。而且整体代码风格很 Pythonic,类型标注也给全了。
GPT-4o:稳如老狗
GPT 系列写代码一直很稳,这次也不例外。docstring、异常处理、edge case 全考虑到了。但怎么说呢,没有让人眼前一亮的东西,就是工工整整的标准答案。
Claude Sonnet:最贴心的选手
Claude 是唯一一个不光写代码还写了完整的测试用例 + 复杂度分析的。如果是给同事做 code review,我会首选 Claude 的输出——省心。
DeepSeek V3:便宜但慢
响应时间最长,不知道是不是服务器扛不住(毕竟最近太火了)。代码本身没大问题,但测试用例比较敷衍,就一个 assert cache.get(1) == 1。
Qwen Max:翻了个小车
put 方法里更新已有 key 的逻辑写反了——先删后插的顺序搞错了,导致链表断裂。不过说实话这种 bug 很常见,热修一行就行。
价格才是决定性因素
光比能力不看价格,那是耍流氓。
这次测试我特意记了下各模型的开销(按百万 token 估算):
| 模型 | 大概输入价 | 大概输出价 | 我的评价 |
|---|---|---|---|
| GLM-5 | 很便宜 | 便宜 | 性价比之王候选 |
| GPT-4o | 中等 | 中等偏贵 | 老牌选手 |
| Claude Sonnet | 中等 | 偏贵 | 贵但值 |
| DeepSeek V3 | 极便宜 | 极便宜 | 便宜到离谱 |
| Qwen Max | 便宜 | 中等 | 中规中矩 |
国产模型价格优势太大了,基本是海外模型的 1/5 到 1/10。如果你的场景对成本敏感(比如批量处理、Agent 调用量大),国产模型真的可以优先考虑。
但这里有个实际问题:很多产品需要同时用国产和海外模型。比如我自己的项目,中文理解用 DeepSeek/GLM,复杂推理用 Claude,多模态用 GPT-4o。以前每个模型单独接入,光维护 API key 和切换逻辑就头疼。后来用聚合平台统一了入口,代码里只用切 model 名就行,省了不少事。
我的结论
国产AI和GPT差距大吗? 2026 年的真实答案:
在代码生成这个场景上,差距已经很小了。GLM-5 跟 GPT-4o 基本是同一水平线,某些中文场景甚至更好。
但要说"吊打 GPT"...那还是算了吧 😅 热榜标题嘛,懂的都懂。
我的选模型策略:
- 💰 预算紧 → DeepSeek V3 / GLM-5,便宜又能打
- 🎯 要最稳 → Claude / GPT-4o,贵但不翻车
- 🔀 混合场景 → 用聚合 API 按需切换,别在接入层浪费时间
说到底,大模型API 这块的竞争对开发者是好事——选择多了,价格卷了。我们只需要选对工具,把精力花在产品本身上就行。
测试环境:Python 3.12,macOS,工作日上午。各平台负载不同,响应时间仅供参考。如果你也做了类似测试,欢迎评论区交流结果 👇