AgentWriter,让大模型输出万字长文,清华、智谱联合开源
长文本生成一直是LLM的短板——别看模型能轻松处理十万token的输入,真要自己写出一篇超过两千词的连贯文章,反而处处碰壁。清华与智谱AI联合发表的最新研究,恰好把矛头对准了这个问题:如何让大语言模型写出上万词的长文?
经过对照实验,研究团队发现,模型的有效输出长度其实被监督微调(SFT)阶段看到的样本长度给锁死了。换句话说,不是模型本身容量不够,而是训练数据里缺少足够多的长输出样本。这个发现很有意思:长上下文模型早就有更大的输出窗口潜力,只是缺一把合适的钥匙。
钥匙就是AgentWrite——一个基于智能体的管道。思路并不复杂:把超长生成任务先拆解成若干子任务,让模型一段一段写,最后连贯地拼起来。这样一来,即使是现成的LLM也能输出超过两万字的连贯文章。

AgentWrite的执行分两步走。第一步是“Plan”阶段:模型根据指令,规划出整篇文章的结构,并明确每个段落的核心观点和大致字数。第二步是“Write”阶段:模型按照计划,一段接一段地写,每写一段都会参考前面已经写好的内容,确保前后连贯。
规划阶段的Prompt设计得很讲究,要求模型把长篇写作指令分解为多个子任务,每个子任务包含段落主要观点和字数要求,且每段字数控制在200到1000字之间。写阶段的Prompt则要求模型整合原始指令、写作计划以及已写文本,继续生成下一个段落,还可以在开头添加小标题。
有了AgentWrite这个流程还不够,模型本身的长文写作能力还得提升。为此,研究团队构建了LongWriter-6k数据集,包含6000个训练样本,输出长度从2000词到32000词不等。把这个数据集纳入训练后,模型的输出长度成功扩展到超过一万词,同时保持了质量。
为了严格评估效果,团队还开发了LongBench-Write测试基准,专门用于评估长文本生成能力。实验结果表明,这个方法不仅能有效延长输出长度,还能提升写作质量。9B参数的模型通过DPO进一步优化后,在该基准上达到了最先进的性能,甚至超过了更大的闭源模型。

从根本上看,这项工作揭示了长上下文模型的真实潜力:它们已经具备了处理长输出的底层能力,只是缺少对应的对齐数据来解锁。AgentWrite提供了一种低成本的拆解思路,而LongWriter-6k则为模型提供了从数据层面突破瓶颈的弹药。对于需要长文生成的应用场景,这套方案的价值不言而喻。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名