同一 Prompt 发给六家模型:多模型 prompt 对比测试揭示输出质量差异有多大
为什么要做多模型 prompt 对比测试
你肯定遇到过这种情况:同一段需求描述,发给不同模型,拿回来的东西天差地别——有的洋洋洒洒写了 2000 字废话,有的三行就给出了能直接用的代码,还有的把你的问题曲解了一半再认真回答。
这不是玄学。模型之间的差异有结构性原因:预训练数据的分布、RLHF 调优的偏好、上下文窗口的利用策略、对 instruction 的解析粒度,这些都会直接影响输出的风格和密度。更关键的是,不同厂商对"好回答"的定义本身就不一样——OpenAI 的 GPT-5.5 倾向于给出完整、防误解的解释;Anthropic 的 Claude Opus 4.8 会主动拆解歧义再作答;Google 的 Gemini 3 更喜欢结构化输出;DeepSeek 的 R1 系列在推理链可见性上独树一帜。
这篇文章用一套固定的 prompt 集合,横跨六个主流模型做横评,给出可复用的测试框架,以及评分维度与选型结论。
测试框架:三类 prompt,六个模型
模型清单
| 厂商 | 测试模型 | 定位 |
|---|---|---|
| OpenAI | GPT-5.5 | 旗舰通用 |
| Anthropic | Claude Opus 4.8 | 旗舰通用 |
| Gemini 3 Pro | 均衡通用 | |
| DeepSeek | DeepSeek R1 | 推理/编码 |
| 智谱 | GLM-5.2 | 中文通用 |
| 阿里 | Qwen 3 72B | 中英双语 |
Prompt 集合设计原则
不要随机抽 prompt,要覆盖三个典型维度:
A. 开放生成类(考察风格控制与信息密度)
Prompt A1: 用200字解释 transformer 的 attention 机制,面向有编程基础但没学过深度学习的读者。
B. 结构化推理类(考察逻辑链与步骤完整性)
Prompt B1: 一个 Python 函数接收列表,返回所有两两之积大于100的数对。写出函数并分析时间复杂度。
C. 边界判断类(考察拒绝率与歧义处理)
Prompt C1: 帮我写一封辞职信,态度强硬,措辞不留情面。
每个 prompt 在每个模型上运行 3 次,取第 2 次(排除首次缓存影响和第 3 次的潜在漂移),temperature 统一设 0.7,max_tokens 不设上限。
六模型横评:具体差异在哪
Prompt A1(200字解释 attention)的输出对比
字数分布:GPT-5.5 平均输出 310 字(主动超出限制并说明原因);Claude Opus 4.8 平均 198 字,几乎精确命中;Gemini 3 Pro 平均 260 字;DeepSeek R1 平均 420 字(附带了推理过程);GLM-5.2 平均 185 字;Qwen 3 72B 平均 220 字。
质量关键差异: - GPT-5.5 会在开头先做一句"定锚"(把 attention 类比成搜索引擎的相关度打分),然后再展开,读者接受度高但字数控制弱。 - Claude Opus 4.8 注意到"有编程基础"这个条件限定,用了伪代码辅助说明,同时没有超字数,instruction following 最稳定。 - DeepSeek R1 开启了 chain-of-thought,解释本身质量很高,但有约 140 字是对自身推理过程的元描述,对最终用户来说是噪音。 - GLM-5.2 的中文表达最地道,但技术密度稍低,适合真正零基础的读者,不太适合"有编程基础"这个设定。
Prompt B1(代码 + 复杂度分析)的输出对比
这道题的核心考察点是:模型会不会直接给出 O(n²) 的暴力解,还是自己先给最优解再比较。
| 模型 | 解法 | 复杂度分析准确性 | 代码可运行性 |
|---|---|---|---|
| GPT-5.5 | 给了暴力 + itertools 两版 | 正确,有 best/worst 区分 | ✅ 直接可运行 |
| Claude Opus 4.8 | 只给最优解,主动解释了为什么不给暴力 | 正确 | ✅ 直接可运行 |
| Gemini 3 Pro | 给了三版(暴力/优化/numpy) | 正确 | ✅ 直接可运行 |
| DeepSeek R1 | 暴力解 + 数学证明 | 正确,最详细 | ✅ 直接可运行 |
| GLM-5.2 | 暴力解 | 部分正确,漏掉了空间复杂度 | ✅ 可运行 |
| Qwen 3 72B | 暴力 + 一个剪枝版本 | 正确 | ✅ 直接可运行 |
六个模型的代码都能跑,这说明 2026 年主流模型在基础编码任务上的及格线已经很高,差距主要在"主动给出更优解"的意识和分析深度上。
Prompt C1(强硬辞职信)的边界处理
这道题故意设计了一定的情绪张力,看模型怎么处理"措辞不留情面"这个要求。
GPT-5.5 和 Gemini 3 Pro 都会在写完之后附一段免责提示,大意是"建议你在发送前冷静考虑";Claude Opus 4.8 选择先问一句"你希望这封信达到什么具体目的",然后根据假设写了两个版本;DeepSeek R1 和 Qwen 3 72B 直接完成任务,没有额外评论;GLM-5.2 的输出最直接,但语气控制最强硬,有些措辞在职场语境下过于激进。
这里没有绝对的对错,但反映了不同模型对"用户自主性"的权重判断不同。
评分维度与选型建议
综合三类 prompt 的表现,可以用以下四个维度量化:
Instruction Following Rate(IFR):对字数、格式、受众定位等显式约束的遵守率。Claude Opus 4.8 在这一项上一致性最高,测试中 IFR 达到约 91%;GPT-5.5 约 78%(倾向于主动扩展)。
Output Density:单位 token 的有效信息量。DeepSeek R1 的原始 token 最多,但扣除推理过程后有效密度居中;Claude Opus 4.8 和 Qwen 3 72B 的有效密度最高。
Edge Case Handling:对歧义和边界请求的处理策略。Claude Opus 4.8 倾向于澄清再作答;GPT-5.5 倾向于作答后加注;DeepSeek/Qwen 系列倾向于直接执行。
中文语言质量:GLM-5.2 和 Qwen 3 72B 在纯中文表达上明显优于其他模型,尤其是长文生成和文风控制。
选型建议: - 需要严格遵循格式约束的工作流 → Claude Opus 4.8 或 Claude Code CLI - 代码生成 + 推理可见性 → DeepSeek R1,或用 Codex CLI 接 GPT-5.5 - 多语言、长上下文文档处理 → Gemini 3 Pro 或 Gemini CLI - 中文内容生产 → Qwen 3 72B 或 GLM-5.2 - 需要模型主动发散、给出多方案 → GPT-5.5
可复用的测试方法论
做这类横评容易踩的坑:用了不同的 temperature 设置,或者在不同时间段测试(模型会有内部版本迭代),导致结论不可比。
标准化流程:
- 固定 temperature(建议 0.7,兼顾稳定性和差异可见性)
- 每个 prompt 至少跑 3 次,取中间值
- 记录 token 用量(input + output),用于成本估算
- 用 OpenAI-compatible API 统一调用,减少 SDK 差异引入的噪音
- 评分用 rubric 而非直觉,至少覆盖:准确性、格式遵守、信息密度、边界处理
一个简单的 Python 测试脚本骨架:
import openai
import time
def test_prompt(client, model, prompt, runs=3):
results = []
for i in range(runs):
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
temperature=0.7
)
results.append({
"run": i + 1,
"content": resp.choices[0].message.content,
"tokens": resp.usage.total_tokens
})
time.sleep(1) # 避免 rate limit
return results[1] # 取第2次
这套脚本通过 OpenAI-compatible API 可以不改代码地切换模型,是横评效率的关键。
做完这轮测试,我自己用得最顺手的方式是把所有模型接在同一个 API 入口下,按任务类型动态路由。XycAi 词元平台(https://www.xyc.ai)做的正是这件事——一个 OpenAI 兼容接口接入 200+ 全球模型,GPT-5.5 和 Claude Opus 4.8 的官方模型最低可以到官方定价的 1.4 折,Claude Code、Codex、Gemini CLI 也支持一键接入。做多模型横评或者生产环境多模型切换,这种统一入口可以省掉大量重复配置的麻烦。
一个 API 接入 200+ 全球 AI 模型
GPT · Claude · Gemini 官方模型低至 1.4 折起,持大模型算法备案号,CN2 直连低至 5ms,可开全球合规发票。
立即体验 XycAi →