_session-safety
目标
控制输出长度,避免会话失败;必要时采用分段写入文件。
核心原则:预判优先,不事后补救
- •在生成内容前先评估大小,而不是等到生成完成或 API 失败后才考虑分段
- •若预计内容 > 5KB,直接采用分段策略
- •宁可过度分段,不可遗漏分段
适用范围
- •可能产生超长输出的任务
- •生成大文档/长列表/多文件内容
必须遵循的规则
- •优先写入文件而非直接大段输出。
- •分段写入同一文件,配合
_file-output-guard。 - •输出确认信息即可,不重复打印全文。
超长阈值参考
用以下参考值判断是否需要分段:
| 输出规模 | 处理方式 | 说明 |
|---|---|---|
| < 5KB | 直接输出 | 可在回复中直接显示,无安全风险 |
| 5KB - 20KB | 建议分段 | 输出量较大,建议分段写入文件;若内容结构清晰独立,可直接输出 |
| > 20KB | 必须分段 | 超过会话安全阈值,必须使用 create_file + apply_patch 分段写入 |
如何快速评估输出大小:
- •1KB ≈ 200 字(中文)或 400 字(英文)
- •10KB ≈ 2000 字(中文)或 4000 字(英文)
- •20KB ≈ 4000 字(中文)或 8000 字(英文)
决策流程:
- •预估输出大小
- •若 > 5KB,创建文件入口
- •在回复中输出 "已分段写入到 xxx 文件" 确认信息
- •若需追加,使用
_file-output-guard的分段续写规则
检查清单
- • 是否评估输出长度风险?
- • 是否采用分段写入策略?
- • 是否避免重复输出正文?