截断不等于内容丢失
长输出失败通常有三类边界:模型单次输出上限、上下文窗口被历史和工具结果占满、任务本身没有拆分成可验收的章节。先确认错误发生在生成阶段还是工具阶段。
一、先做长度预算
生成文章、代码或批量分析前,估算章节数量、每章目标长度和工具输出规模。不要把全部原始资料一次塞进上下文。先提取目录和关键字段,再按章节处理。
二、按可验收单元分段
好的分段不是简单截断字符串,而是每段都有完整边界:标题、输入范围、输出文件或编号、下一步提示。每段完成后先验证,再继续下一段。
第 1/4 部分:环境与数据清单
第 2/4 部分:核心分析
第 3/4 部分:边界情况
第 4/4 部分:验收与结论
三、工具输出也要限流
读取文件时按区间读取,搜索时先缩小范围,终端命令使用摘要或分页。不要为了“看全”把巨型日志直接注入上下文。需要完整保留时,写入文件并只向模型返回路径、摘要和校验结果。
四、设计可恢复流程
每个阶段保存中间产物,文件名包含稳定编号;下一阶段从文件读取,不依赖聊天记录中的最后一条长消息。若某段失败,只重跑该段。已有的自动分段输出方案可作为行为规则参考。
五、验收标准
- 没有章节半截结束;
- 每段都有明确编号和边界;
- 中间文件可独立读取;
- 重跑不会覆盖已确认结果;
- 最终合并后没有重复或遗漏;
- 日志和输出中没有敏感信息。