免费大模型写长文,最长的比最短的多 8 倍
让免费模型写长一点的东西,要么断在半句话上,要么草草收尾。我一直以为是 max_tokens 没给够,这次同一道题、同样 8000 token 预算测了 8 个模型:Mistral 写到 13785 字还被截断,GLM-4-Flash 只写 1598 字就自己停了,差 8.6 倍。还测出两件反直觉的事:Groq 和 Cerebras 跑同一个模型却差 2.3 倍,以及思考模型先把四成预算吃掉。
让免费大模型写长一点的东西,你大概率遇到过两种情况:要么写着写着断在半句话上,要么它草草收尾,明明让它写六段,它写了三段就说「以上就是全部内容」。
我一直以为这是 max_tokens 没给够。这次真测下来,发现不全是。
测法很简单:同一道题,同样的参数,让八个免费模型各写一遍。
题目是「写一篇挑选笔记本电脑的完整指南,分成 6 个部分,每部分至少 300 字,一次性写完不要省略」。按要求,合格答案至少 1800 字。max_tokens 统一给到 8000,也就是预算管够,谁写多写少全看它自己。
结果差了 8.6 倍。

从一万三到一千六
| 模型 | 正文字数 | 耗时 | 怎么结束的 |
|---|---|---|---|
| Mistral Large | 13785 | 125 秒 | 预算用完被截断 |
| Groq oss-120b | 10927 | 14 秒 | 自然收尾 |
| 智谱 GLM-Z1-Flash | 5955 | 50 秒 | 自然收尾 |
| Cerebras oss-120b | 4792 | 3 秒 | 自然收尾 |
| Kimi k2.6 | 4213 | 93 秒 | 自然收尾 |
| 智谱 GLM-4.7-Flash | 3567 | 130 秒 | 自然收尾 |
| NVIDIA Nemotron | 3307 | 211 秒 | 自然收尾 |
| 智谱 GLM-4-Flash | 1598 | 46 秒 | 自然收尾 |
最长的 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_reason 是 stop,加预算没用,只能换模型,或者把任务拆成几次调用。
在我之前那篇文章里,我把空返回归因于 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_content,content 里是干净的正文;而智谱另一个推理模型 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 日测的。各家平台的默认参数改起来毫无声响,这张表的保质期同样以周计。真要用,自己拿你的真实任务跑一遍最准。