长文摘要不是"调一次模型"
把一份 80 页的报告总结成一页,单次调用通常做不到(超上下文、丢中段、格式不稳)。要做成**流水线**:
**切分 → 分段摘要 → 归并 → 校验 → 成稿**
一、切分与分段摘要
按**章节结构**切(有标题就按标题,别按固定字数硬切);
每段摘要要**带定位**(第几节/第几页),否则后续无法回溯;
摘要保留**关键数字与原话**(金额、条款、结论),不要只留形容词;
段落摘要长度设上限(否则归并阶段又超长)。
二、归并(分层的)
摘要数量 > 8 条时**二次归并**(把摘要再分组,组内归并,再总归并);
归并要求:**去重**(同一事实在多段出现只留一次)、**保序**(按原文顺序)、**标注来源**;
归并阶段最容易"越写越抽象",所以要求"每条结论后附来源段落编号"。
三、校验(比生成更重要)
**数字校验**:成稿里出现的每个数字,必须能在原文中找到(程序自动比对);
**覆盖校验**:原文的关键章节是否都有体现(允许有"本章无重要结论"的显式说明);
**长度与格式**:符合约定(一页 = 多少字、几级标题);
**禁止推断**:成稿里不允许出现原文没有的判断(宁可写"未提及")。
四、成稿与引用
结论在前、细节在后(用户先要结论);
每条结论尽量附**来源编号**,便于人回查;
明确写出**局限**(哪些部分材料缺失、哪些结论不充分)。
流水线的工程细节
**幂等**:同输入必出同输出(缓存与重跑依赖它);
**断点续跑**:分段摘要是最贵的一步,结果要落盘,失败从断点继续;
**可观测**:每段用了多少 token、花了多少时间、失败了几次;
**可回滚**:摘要与成稿都留版本,出问题能退回上一版。
怎么验收
抽 10 份真实长文,人工核对三件事:
1. 关键数字是否**全部**在成稿里且正确;
2. 有没有**编造**(原文没有的判断);
3. 一页成稿读完,**没有读过原文的人**能否抓住要点。
第 1、2 条可以程序化抽检(数字比对 + 人工看推断句),第 3 条必须人看。