DraftReviewPublishedArchived

免费大模型写长文,最长的比最短的多 8 倍

让免费模型写长一点的东西,要么断在半句话上,要么草草收尾。我一直以为是 max_tokens 没给够,这次同一道题、同样 8000 token 预算测了 8 个模型:Mistral 写到 13785 字还被截断,GLM-4-Flash 只写 1598 字就自己停了,差 8.6 倍。还测出两件反直觉的事:Groq 和 Cerebras 跑同一个模型却差 2.3 倍,以及思考模型先把四成预算吃掉。

By Joker2026/08/135 min

让免费大模型写长一点的东西,你大概率遇到过两种情况:要么写着写着断在半句话上,要么它草草收尾,明明让它写六段,它写了三段就说「以上就是全部内容」。

我一直以为这是 max_tokens 没给够。这次真测下来,发现不全是。

测法很简单:同一道题,同样的参数,让八个免费模型各写一遍。

题目是「写一篇挑选笔记本电脑的完整指南,分成 6 个部分,每部分至少 300 字,一次性写完不要省略」。按要求,合格答案至少 1800 字。max_tokens 统一给到 8000,也就是预算管够,谁写多写少全看它自己。

结果差了 8.6 倍。

从一万三到一千六

模型正文字数耗时怎么结束的
Mistral Large13785125 秒预算用完被截断
Groq oss-120b1092714 秒自然收尾
智谱 GLM-Z1-Flash595550 秒自然收尾
Cerebras oss-120b47923 秒自然收尾
Kimi k2.6421393 秒自然收尾
智谱 GLM-4.7-Flash3567130 秒自然收尾
NVIDIA Nemotron3307211 秒自然收尾
智谱 GLM-4-Flash159846 秒自然收尾

最长的 Mistral 写到 13785 字还没写完,是被 8000 token 的预算掐断的。最短的 GLM-4-Flash 写了 1598 字,然后自己停了。

注意这两者的区别,这是这次测试里最要紧的一点。

Mistral 是「还想写,但预算没了」,finish_reason 返回 length。这种情况你把 max_tokens 调大就能解决。

GLM-4-Flash 是「它觉得写完了」,finish_reason 返回 stop,只用掉了 846 个 token,预算还剩八千多。你把 max_tokens 调到十万也没用,它就是不写了。

而任务要求的是六个部分、每部分至少 300 字,也就是至少 1800 字。它交了 1598 字。没达标,但它认为自己完成了。

所以「输出太短」这件事有两种完全不同的病因,对应的解法也完全不同:

被截断,看 finish_reason 是不是 length,是就加预算。 自己收尾finish_reasonstop,加预算没用,只能换模型,或者把任务拆成几次调用。

在我之前那篇文章里,我把空返回归因于 max_tokens 被思考吃光,那是对的。但这次要补一句:即使预算充足,模型也可能写不够,那是另一回事。

同一个模型,换个平台差 2.3 倍

这是我完全没料到的。

表里 Groq 和 Cerebras 跑的是同一个模型gpt-oss-120b,同一个开源权重。但输出长度是 10927 对 4792,差了 2.3 倍。

耗时也差得离谱:Cerebras 3 秒,Groq 14 秒。不过 Groq 多写了一倍多的内容,摊到每个字上其实两边都很快。

同样的权重、同样的题目、同样的 max_tokens,结果差这么多,只能是平台侧的差异:默认的采样参数、系统提示词、推理配置,这些各家都可以自己设,而且通常不写在文档里。

这条的实际意义是:「我用的是 XX 模型」这句话在免费 API 的世界里信息量很有限。同一个模型名,在不同平台上是不同的东西。你在某个平台上测出来的表现,换一家可能完全不成立。

思考模型的预算,先被自己吃掉一半

带思考的那两个模型,账要分开算。

智谱 GLM-4.7-Flash:正文 3567 字,但在此之前它先思考了 2667 字。两部分加起来才是它真正消耗的输出预算,思考占了 43%

Kimi k2.6:正文 4213 字,思考 1576 字,思考占 27%。

这意味着什么?如果你给 GLM-4.7-Flash 设 max_tokens 为 2000,它光思考就能用掉将近一半,剩下的写不了几段。你以为自己给了 2000 的写作预算,实际到手的只有一千出头。

这也解释了为什么思考模型在长文任务上普遍吃亏:预算被切走一块,还没开始写就少了。

顺带说,这两个模型的思考过程放在不同字段里。GLM-4.7-Flash 放在 reasoning_contentcontent 里是干净的正文;而智谱另一个推理模型 GLM-Z1-Flash 是把思考混在 content 里用 <think> 标签包着,得自己切掉。同一家的两个模型,返回结构都不一样。

长输出更容易撞限流

还有个细节值得记。

Groq 这一轮我调了三次才成功,前两次都返回 rate_limit_exceeded。而在我之前那次测试里,Groq 发短问题的时候并发五个都没被限。

区别就在输出长度。它的限流是按 token 算的,一次七千 token 的长输出,等于几十次短问答。你按「每分钟能发几次请求」去估算额度,遇到长文任务会算错得离谱。

所以做长文批量任务的时候,重试逻辑比短任务更重要,退避时间也得给够。

那到底该怎么挑

按这次的数据,我的分法是这样。

要写长文,选 Mistral 或 Groq。一个能写到一万三还没停,一个一万出头自然收尾。代价是慢,Mistral 用了 125 秒。

要又快又能写,Cerebras 是唯一解。3 秒出 4792 字,这个组合表里没有第二个。日常写个千字文档,它最划算。

GLM-4-Flash 别用来写长文。这话我说得有点别扭,因为在我上一篇里它是成功率最高的兜底模型(两万五千次调用 98.2%)。它确实稳,但稳和能写长是两回事。它适合做高频短任务的保险丝,不适合让它一口气写一篇东西。

NVIDIA Nemotron 只能离线跑。211 秒,任何有人在前面等的场景都不能用。

用思考模型写长文,max_tokens 至少翻倍。按 43% 的思考占比算,你想要三千字正文,预算就得按六千字给。

这次测试的边界

只测了一道题,一次调用。模型输出长度本身有随机性,同一道题再跑一遍数字会有出入,尤其是「自己收尾」那一档,波动会比「被截断」那一档大。

题目类型也会影响结果。这是一道结构明确的说明文,如果换成开放式写作或者代码生成,排序很可能不一样。

火山的 GLM-5.2 这次没测到,它的账户欠费停服了。这事本身也算个提醒:免费模型的可用性随时会变,上一篇里它还在存活名单上。

最后,所有数字都是 2026 年 8 月 13 日测的。各家平台的默认参数改起来毫无声响,这张表的保质期同样以周计。真要用,自己拿你的真实任务跑一遍最准。

QUEST COMPLETEREWARD: +30 XP, +1 EPIC ITEM
Build Progress100%
无信号
PULSE
0PULSES