LLM 摘要质量横评:六大模型实测对比
文本摘要是大模型最高频的应用场景之一,也是最容易被低估复杂度的任务。表面上看,“总结一下这段文字”谁都会,但当你把这个任务搬到生产系统里——需要保留关键数据点、不引入幻觉、长度可控、适配不同文本类型——不同模型之间的差距才会显现出来。
本文对六个主流模型在三类典型文本上的摘要能力做横向评测,并提供可复用的评分框架,帮助你为自己的场景选型。
一、评测设计
参评模型
- GPT-4o(OpenAI 旗舰)
- GPT-4o-mini(OpenAI 轻量)
- Claude 3.5 Sonnet(Anthropic 主力)
- Gemini 1.5 Pro(Google 旗舰)
- DeepSeek-V3(国产开源旗舰)
- Qwen-Max(阿里云旗舰)
测试文本类型
| 类型 | 长度 | 特点 | 挑战 |
|---|---|---|---|
| 新闻报道 | 800-1200 字 | 结构松散,信息密度低 | 不废话、抓重点 |
| 学术论文摘要+引言 | 2000-3000 字 | 术语密集,逻辑严格 | 保留方法论细节 |
| 法律合同条款 | 1500-2500 字 | 用词精确,遗漏代价高 | 不遗漏关键约束 |
评分维度(各 10 分)
- 忠实度(Faithfulness):摘要内容是否与原文一致,有无幻觉
- 覆盖度(Coverage):关键信息点是否完整覆盖
- 简洁度(Conciseness):有无冗余,长度是否合适
- 可读性(Readability):语言流畅,易于理解
- 格式适配(Format):结构是否匹配任务类型(段落/要点/表格)
评分由三名开发者独立打分后取均值。
二、Prompt 设计
同一 prompt 套用所有模型,控制变量:
SUMMARIZE_PROMPTS = {
"news": """你是一个新闻编辑,请将以下新闻报道压缩为 3-5 句话的摘要。
要求:保留 5W(who/what/when/where/why)要素,不添加原文没有的信息,用中文输出。
新闻原文:
{text}""",
"paper": """你是一个学术研究助理,请将以下学术论文节选总结为结构化摘要。
格式:
- 研究问题:(1-2句)
- 方法:(1-2句)
- 主要发现:(2-3条要点)
- 局限性:(如原文提及)
论文节选:
{text}""",
"contract": """你是一个合同审查助手,请提取以下合同条款的关键信息。
输出格式:
- 主要义务:(各方责任)
- 关键限制:(禁止条款/例外情形)
- 时间节点:(如有)
- 违约责任:(如有)
保持原文用词精确,不要改写法律术语。
合同条款:
{text}""",
}
三、测试结果
3.1 新闻摘要评分
| 模型 | 忠实度 | 覆盖度 | 简洁度 | 可读性 | 格式适配 | 总分 |
|---|---|---|---|---|---|---|
| Claude 3.5 Sonnet | 9.5 | 9.2 | 9.0 | 9.6 | 9.0 | 46.3 |
| GPT-4o | 9.3 | 9.0 | 8.8 | 9.4 | 8.8 | 45.3 |
| Gemini 1.5 Pro | 9.0 | 8.8 | 8.5 | 9.2 | 8.7 | 44.2 |
| DeepSeek-V3 | 8.8 | 8.6 | 9.2 | 9.0 | 8.5 | 44.1 |
| Qwen-Max | 8.7 | 8.5 | 9.0 | 9.1 | 8.4 | 43.7 |
| GPT-4o-mini | 8.5 | 8.2 | 9.1 | 8.8 | 8.3 | 42.9 |
观察:新闻摘要任务整体差距不大,Claude 在可读性上领先,DeepSeek 和 Qwen 的简洁度反而更高——中文输出时不喜欢加废话。
3.2 学术论文摘要评分
| 模型 | 忠实度 | 覆盖度 | 简洁度 | 可读性 | 格式适配 | 总分 |
|---|---|---|---|---|---|---|
| Claude 3.5 Sonnet | 9.6 | 9.5 | 8.8 | 9.4 | 9.5 | 46.8 |
| GPT-4o | 9.4 | 9.3 | 8.6 | 9.2 | 9.3 | 45.8 |
| Gemini 1.5 Pro | 9.2 | 9.0 | 8.4 | 9.0 | 9.0 | 44.6 |
| DeepSeek-V3 | 9.0 | 8.8 | 8.9 | 8.8 | 8.6 | 44.1 |
| Qwen-Max | 8.8 | 8.6 | 9.0 | 8.9 | 8.4 | 43.7 |
| GPT-4o-mini | 8.2 | 8.0 | 8.7 | 8.5 | 8.0 | 41.4 |
观察:学术论文任务里,GPT-4o-mini 的差距明显拉大——它会压缩掉一些方法论细节。Claude 在格式遵循上最严格,输出的结构化格式几乎完全按 prompt 要求来。
3.3 法律合同摘要评分
| 模型 | 忠实度 | 覆盖度 | 简洁度 | 可读性 | 格式适配 | 总分 |
|---|---|---|---|---|---|---|
| GPT-4o | 9.6 | 9.5 | 8.9 | 9.3 | 9.5 | 46.8 |
| Claude 3.5 Sonnet | 9.7 | 9.3 | 8.7 | 9.1 | 9.4 | 46.2 |
| Gemini 1.5 Pro | 9.3 | 9.1 | 8.5 | 9.0 | 9.1 | 45.0 |
| DeepSeek-V3 | 9.1 | 8.9 | 8.8 | 8.7 | 8.7 | 44.2 |
| Qwen-Max | 8.9 | 8.7 | 8.8 | 8.8 | 8.5 | 43.7 |
| GPT-4o-mini | 8.4 | 8.2 | 8.9 | 8.6 | 8.2 | 42.3 |
观察:合同场景里,忠实度最重要,GPT-4o 在此维度微超 Claude(9.6 vs 9.7 实际上 Claude 更高,但 GPT-4o 遗漏信息更少,覆盖度更高)。国产模型在法律术语的英中翻译处理上偶有自行翻译的情况,扣了部分忠实度分数。
四、关键发现
4.1 幻觉模式差异
各模型的幻觉类型不同,这对选型很重要:
- GPT-4o:极少幻觉,但偶尔会把”可能/估计”改成确定性语气
- Claude 3.5 Sonnet:幻觉率最低,倾向于在不确定时加”原文提及”等限定词
- Gemini 1.5 Pro:幻觉集中在数字上,会无意中四舍五入或调整数字
- GPT-4o-mini:幻觉率最高(约 8%),常见于长文档摘要时”编造”细节
- DeepSeek-V3:幻觉率低,但在专业术语上偶有”意译”导致语义偏移
- Qwen-Max:中文法律/医疗术语处理准确,英文术语转中文时偶有误译
4.2 长度控制能力
给定”3-5句话”的长度要求,各模型的遵从情况:
| 模型 | 平均输出句数 | 超出比例 |
|---|---|---|
| Claude 3.5 Sonnet | 3.8 | 12% |
| GPT-4o | 4.1 | 18% |
| GPT-4o-mini | 4.5 | 23% |
| Gemini 1.5 Pro | 4.2 | 20% |
| DeepSeek-V3 | 3.5 | 8% |
| Qwen-Max | 3.6 | 10% |
DeepSeek 和 Qwen 在长度控制上表现最好,Claude 居中,GPT 系列偏向写多不写少。
五、场景选型建议
根据以上测试,给出具体场景的推荐:
| 场景 | 首选模型 | 备选 | 理由 |
|---|---|---|---|
| 新闻资讯摘要(批量) | DeepSeek-V3 | GPT-4o-mini | 成本低,中文简洁,速度快 |
| 学术论文理解 | Claude 3.5 Sonnet | GPT-4o | 结构化格式遵从最好 |
| 法律/合同审查 | GPT-4o | Claude 3.5 Sonnet | 覆盖度最高,遗漏风险最低 |
| 中文业务文档 | Qwen-Max | DeepSeek-V3 | 中文术语处理更准 |
| 高并发低成本场景 | GPT-4o-mini | DeepSeek-V3 | 需要做幻觉过滤 |
六、可复用的评测框架
如果你想在自己的数据集上跑这套评测,核心代码如下:
from openai import OpenAI
from dataclasses import dataclass
@dataclass
class EvalResult:
model: str
doc_type: str
faithfulness: float
coverage: float
conciseness: float
readability: float
format_score: float
@property
def total(self):
return self.faithfulness + self.coverage + self.conciseness + self.readability + self.format_score
def run_summarization_eval(
text: str,
doc_type: str,
model: str,
client: OpenAI,
) -> str:
prompt = SUMMARIZE_PROMPTS[doc_type].format(text=text)
response = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
temperature=0,
)
return response.choices[0].message.content
# 使用 API 中转,统一调用不同厂商模型
client = OpenAI(
api_key="your_relay_api_key",
base_url="https://api.yotradeapi.com/v1",
)
models = ["gpt-4o", "claude-3-5-sonnet-20241022", "deepseek-chat"]
test_doc = "..." # 你的测试文档
for model in models:
summary = run_summarization_eval(test_doc, "news", model, client)
print(f"\n=== {model} ===")
print(summary)
通过 API 中转,可以用同一个 client 对象调用所有厂商的模型,大幅简化横评脚本。
七、相关阅读
需要在同一套评测脚本里横比多家模型,YoTradeApi 提供 OpenAI 兼容的统一接口,支持 GPT-4o、Claude、DeepSeek、Qwen 等主流模型,一个 Key 搞定所有请求。