微信扫码
添加专属顾问
我要投稿
提升Gemini长文输出能力,实现万字小说创作。 核心内容: 1. Gemini输出变短的原因分析 2. 优化Gemini输出的实用技巧 3. Gemini 2.5 Pro的长文输出能力
今天在做小说写作教程的时候,被一个群友问到了:
“为什么我的Gemini输出变得很短?好像和0325相比,一次吐出的字数短了很多,经常两三千token,以前好像可以上万Token的。”
这个问题很常见,船板我平时其实超长文输出的场景不多,我更习惯简短输出,这样方便我随时指导AI修正。
但必须承认,在写小说的时候,有时候我们就是需要一次吐出万字完整长文,这样在关键描写的段落,才有更大的扩写、修剪空间。
而Gemini其实在不同环境下,输出长度的“个性”是经常波动的。这不意味着官方砍掉了模型的输出能力。
实际上,通常模型的基础能力参数是不会轻易变化的,但服务器当前算力、模型的内部结构在迭代过后,整体“个性”发生变化,而我们作者的配置方式却依然不变,那么两者综合之后,一定得出大不相同的结果。
既然如此,用户也就只能去不断微调输入的提示,以尽可能适应模型的新性格了。
那么,要如何设置,才能才能让Gemini再次雄起呢?
我们以Gemini 2.5 Pro近期版本0506或0605进行举例。
Gemini 2.5 Pro API 的硬指标很“豪横”——官方在 Vertex AI 与 Google AI Studio 的型号页都写得很清楚:单次输入可达 1 048 576 tokens,单次输出上限 65 535 tokens。
折算一下:六万五千余个 token 至少约等于 250 000 – 260 000 汉字,一口气能写出一部中等篇幅的网络小说章节。
为什么你常见的大模型的实际输出远没这么长?
Tips:temperature
、topP
、topK
只影响选词随机度,与篇幅长短关系比较小。
让 Gemini 持续吐出长文的三步法
改用 streamGenerateContent
(或 SDK 中的 stream=True
)。长文时边收边写能绕开 HTTP 超时,也不会占用巨大内存。
在Cherry studio中的流式输出选项:
如图所示
在 generation_config 里直接拉满:
{ "maxOutputTokens": 65000, "stopSequences": [], "temperature": 0.9 }
若你的项目开启了 “thinking budget(思考链长度)”,同时把 budget 调到 large,避免内部提前收束。
如图所示
Gemini 2.5 Pro 的官方上限是 65 535 tokens;把 stopSequences
设成空数组即可完全取消软性截断。
剩下就交给提示词:用系统角色给模型一道“死命令”——沉浸写作,直到撞到硬上限才准收笔。
{
"contents": [
{
"role": "system",
"parts": [
{
"text": "你正在编写一部长篇幻想小说的第一卷。保持同一叙事视角与文风,专注场景与细节描写,不要总结,不要提前收束。除非输出达到模型最大限制,否则绝不结束。"
}
]
},
{
"role": "user",
"parts": [
{
"text": "第一卷大纲如下:\n——王都春祭,少年侍卫莱昂意外拾得封印之剑;\n——祭典爆发混战,王女被掳,莱昂被迫踏上追踪之旅;\n——沿途遭遇盗贼同盟、隐士炼金术师、古代遗迹;\n——终章在黑曜塔顶与掳走王女的白银龙骑士决战。\n请以沉浸镜头,从春祭清晨的市集喧嚣写起,完整展开第一卷全部剧情。"
}
]
}
],
"generationConfig": {
"maxOutputTokens": 65000,
"stopSequences": [],
"temperature": 0.7
}
}
设计提示词的要点:
stopSequences
置空,temperature
任意,可中等或高;streamGenerateContent
流式输出。上边是AI生成的一段完整提示词,使用Markdown格式也是可以的。
还是以上边那段提示词为例,你可尽可能丰富提示词每一章具体章纲,并明确、清晰、段落收尾有明确场景、情节可供AI展开的原则来进行优化。
理想状态下,照此格式调用,Gemini 会从市集的炊烟一直写到黑曜塔顶的龙翼,没有任何“继续?”的询问,直到 65 000 token 触顶后以 finish_reason = "MAX_TOKENS" 自动断句。
第三步(探索进一步提升可能):详细提纲控制+“接力提示词”确保不中断
接下来,是结合OpenAI和Gemini Deepresearch所得的一个新的方法,未经测试,可以听一听,或许有用。
首先确保一个详细的大纲,为AI指定尽可能长的分块写作内容。
用下面的提示词模板驱动模型写分块文本,每块恰巧到 60 K+ token 触顶,自动出现 finish_reason="MAX_TOKENS" 时立即续写:
<system>
你正在为一部长篇网络小说生成正文。保持统一文风,并在每段末尾输出
“【PART_END】”。当你到达输出上限时停止在句末,不要写总结。
</system>
<user>
小说大纲如下……
现在从 Chapter 1 开始,尽情展开,不要省略细节。
</user>
代码侧逻辑示例(伪码):
while True:
response = model.stream_generate_content(messages, max_output_tokens=65000)
save(response.text)
if response.candidates[0].finish_reason != "MAX_TOKENS":
break
messages.append({"role": "user", "content": "继续。"})
这种 “检测 finish_reason→追加 继续”的对话递归 可以无缝拼接多段 65 K token 输出,理论上只受账号的 每日 tokens 配额 和 账单 约束,
max_output_tokens
、高思维链预算、流式输出、是可以调整的关键在做好这些设置之后,Gemini 2.5 Pro 在实践中完全可以稳定输出 20000 甚至 100000 token 级别的长篇文本,而停止点只取决于你何时说“到此为止可以了”。
最后,说一下船板本人的经验。
由于Gemini等诸多主流大模型都是大语言模型,大语言模型输出的本质是概率计算和对人类语言形态的模拟,换句话说,当AI“俺寻思该这样”的时候,它就会按照自己“寻思”出来的模糊形象去输出内容。而不是像计算机程序一样,接到什么就执行什么。
对于大模型而言,要求其输出具体的8000tokens或者9000tokens这样具体到要求是没有意义的,对于大模型而言,他充其量能够根据训练,得知这是一段较长的文字。我们要求其输出多少,其实是一个“大概意思”的传递。
因此,如果我们要尽可能长的一次性输出,不仅应该将指定的输出tokens说的尽量高,也应该兼顾合理性。只有提示词准确、清晰、具体、合理,结合长tokens的指令,才能更容易确保长输出。
大模型的输出,其实很多时候就是一个让它觉得“气氛到位了”的技巧。
例如,我们要求AI以王小明早晨起来给自己做了煎鸡蛋,这段剧情,一次输出60000tokens的小说。
这样一个要求,显然是不合理的。
AI也很难输出这样一段超长的文字的。
而如果我们将王小明从小到大的人生经历,以及他的人物关系,雄心壮志,吃了煎鸡蛋之后他就要上战场去拯救世界……这样丰富的剧情以蒙太奇形式插入到早晨做煎鸡蛋到剧情中,当我们告诉AI,王小明今天早晨煎鸡蛋实际只是他人生中最关键的那一天中一个最具有象征意义的片段……那么我们就实际将提纲扩写到了足以支撑十万字中篇小说的地步。
这样一来,气氛就到位了,AI就很容易生成长文本了。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-06-12
如何构建T型知识体系,平衡广博与专精?
2025-06-12
做算法备案,对AI企业到底有什么好处?
2025-06-12
Dify实现GIS空间数据问数的一些思考
2025-06-12
【提示词prompt实战教程】用Gemini 2.5 Pro搞定七大产品文档
2025-06-12
Genspark AI 浏览器试用
2025-06-12
AI 智能体到底应该如何构建?分享 Github 上收获 4k stars 的 12 条原则
2025-06-12
如何用大模型自动生成PPT?AutoPresent及SlideCoder方案
2025-06-12
AI的百亿套壳:做船不做柱子
2025-05-29
2025-03-20
2025-03-21
2025-03-16
2025-03-16
2025-04-11
2025-03-20
2025-03-19
2025-03-20
2025-03-19
2025-06-12
2025-06-12
2025-06-12
2025-06-11
2025-06-11
2025-06-11
2025-06-11
2025-06-10