把一份需要成篇输出的内容一次交给 Claude Haiku 5.5,最容易出问题的不是它写不出来,而是写长之后人称开始漂、术语前后换词、前文写过的约束到后半段被忘掉。稳妥的处理方向是:按小标题把长文拆成互相独立的段落级请求,每段请求里带上一段结尾摘要,模型返回后先做一次回读校验,确认与本段提纲和已知事实不冲突,最后按顺序拼接做整体一致性检查。适用场景是报告、说明书、多章节文档这类结构清晰的长输出;如果任务本身要先跨章节推理、再回头改前文,拆段会把逻辑割开,需要结合环境确认后再定拆分粒度。
短输出更稳的模型在做长文任务时,更适合被拆着用,而不是被逼着一口气写完全篇。判断依据是长输出中人称、术语和事实最容易漂移,而这三项都能在段落级别被检查。具体动作:按小标题切请求,每段带上一段结尾摘要,返回后先回读校验再拼接。边界:拆段会增加请求次数和总耗时,跨段依赖强的内容可能被切断,这类任务应先收敛提纲再逐段填。
把长文按小标题拆成独立请求
拆分的目的是让每一次请求只承担一段的输出压力。提纲先定好(小标题、每段要点、字数区间),然后一段一次请求。每段请求里至少要有三块内容:本段任务、必须遵守的约束、可引用的已知事实。约束要写成可检查的条目,而不是「注意风格统一」这类无法验证的说法。
下面是一段可直接改用的模板,替换方括号内的内容即可,位置放在你的调用脚本或对话前端里,每段发一次:
本段任务:写「3.2 降级策略」一节,约 400 字,只输出正文。
必须遵守的约束:
- 使用第三人称,不出现「我们」「你」「我」;
- 术语统一用「重试」「熔断」「降级」,不要写成「容错」「兜底」;
- 每小节用一句陈述式总结开头,不写过渡性客套话;
- 不新增前文没有出现过的事实、数字、产品名和外部来源。
可引用的已知事实:
- 上游为 HTTP 接口,失败后由调用方决定是否重试;
- 前文已定义「熔断」为连续失败后暂停调用一段时间;
- 本节不需要给出具体次数阈值,只说明由调用方配置。
上一段结尾摘要:
- 【见下一节写法】
如果某一段确实依赖全局信息,可以先让它只产出提纲或要点列表,确认无误后再单独请求正文,避免把跨段推理塞进一次输出。
在每段请求里带上一段的结尾摘要
摘要的作用是给下一段提供锚点,让衔接处的人称、术语和语气保持一致。建议控制在 60 到 120 字,写成条目式,不要复述细节。写法示例:
【上文摘要|第 2 节结尾】
本节说明了重试的适用边界:仅对可重复提交的请求重试。
术语沿用:重试、幂等、调用方。
人称与语气:第三人称,陈述式。
已给出的事实:失败后由调用方决定是否重试;未给出具体重试次数。
留给下一节的问题:次数由谁配置、配置在哪里生效。
必须留下的信息有四类:人称与语气、已经定稿的术语、已经给出的事实与结论、上一节留下的悬而未决问题。可以省掉的是:举例的展开过程、推导细节、修饰性描述、已经被引用过的长句原文。摘要越长越容易把上一段的错误一起带进下一段,所以摘要本身也要跟着正文一起校对,发现术语变了就顺手改摘要。
对每段输出做一次回读校验
回读校验要在拼接之前做,目的不是润色,而是拦住与本段提纲、与上文摘要冲突的内容。建议准备一份固定的检查项清单,逐段过一遍:
- 事实与前文是否冲突:本段出现的数字、定义、结论,能否在上文摘要或已知事实里找到出处;找不到出处的,标为待确认而不是直接采纳。
- 人称是否一致:是否出现上文没有用过的人称或视角切换,比如第三人称段落里冒出一句「我们建议」。
- 术语是否统一:同一个概念是否换了说法,比如正文里「降级」被写成「兜底」。
- 格式是否合规:字数区间、小标题层级、列表或表格形式,是否与提纲约定一致,是否出现了计划外的章节。
可以把校验做成一次独立请求,让它只检查不改写,便于人工决定取舍:
下面是已确认的上文摘要与本段草稿。请只做检查,不要重写正文:
1) 列出与本段提纲冲突的句子;
2) 列出人称与上文不一致的句子;
3) 列出术语与上文不一致的用词;
4) 列出格式或长度不符合要求的地方。
每条给出:原句 / 问题类型 / 建议改法。某一项没有问题就写「无」。
校验结论只看两类:能对上出处的事实保留,对不上出处的先剔除或标记;能统一到既有术语表的用词,一律改回术语表里的写法。
按顺序拼接并做整体一致性检查
拼接时按提纲顺序原样放置,段与段之间保留一个空行,不要再用模型把全文重新润色一遍,否则前面校验过的内容会被二次改写。拼接后做这几步检查:
- 从头通读一遍,专门找重复表达:同一个结论是否在相邻两段各说了一次。
- 找断裂位置:上一段末尾留下的悬而未决问题,是否在下一段开头被接上;没有接上的就是断裂点。
- 检查提纲覆盖度:把提纲里的小标题逐个对上正文,看有没有漏段或次序颠倒。
- 检查术语表和称呼在全文是否只出现一种写法,可以用文本查找逐个核对。
- 标记问题段落,标记格式建议用方括号加段落编号和类型,放在段首,例如 [P3-术语]、[P2-重复]、[P5-断裂],方便回查和批量修改。
标记完成后先数一数数量:如果集中在同一类问题(比如多段都是术语不统一),优先改提示词里的约束或术语表;如果只是零星一两处,直接人工改写更快。
记录需要人工改写的位置
把标记过的问题整理成一张表,放在项目目录里,下一轮调整提示词时直接对照。表的结构建议如下:
| 段落编号 | 问题类型 | 改写动作 | 是否触发提示词修改 |
|---|---|---|---|
| P2 | 与前文事实冲突 | 删除该句,改用上文摘要中的说法 | 是:把已确认事实加进每段请求的「可引用事实」块 |
| P3 | 术语不统一 | 把「兜底」改回「降级」 | 否:术语表已覆盖,属模型偶发漂移 |
| P5 | 人称漂移 | 改为第三人称 | 是:约束里补一条禁止第一人称 |
| P7 | 与 P6 重复 | 合并两段,保留信息更完整的一版 | 是:在提纲里明确两段各自的边界 |
| P9 | 格式不合规 | 拆回条目式列表 | 否:属人工整理 |
记录表里的「是否触发提示词修改」这一列是关键:它区分了模型偶发漂移和提示词本身缺口。连续两次在同一段落类型上出同类问题,就应该改提示词模板或调整分段方式,而不是在同一类问题上反复人工改写。