workflow_long_context_scale_up
道-方法 · 道层 skill 全文
本页是 <code>rules/skills/drafts/workflow_long_context_scale_up.md</code> 的逐字投影(仅隐私清洗,零改写)。
时点提示:本页是仓内文件 rules/skills/drafts/workflow_long_context_scale_up.md 的逐字投影(仅做隐私清洗:仓库根绝对路径→相对路径、家目录→~/;除此零改写)。若源文件后续有修订,以仓内真源为准。
Workflow: 长上下文 Scale-Up Sub-agent 编排
元数据
- 类型: Workflow / Draft
- 适用场景: 面对书籍、聊天记录、JSONL、长报告集合等超过单个 agent 稳定处理范围的材料,需要让 sub-agent 直接阅读原始内容、按用户 prompt 判断、再分层确认和整合
- 创建日期: 2026-05-14
- 状态: Draft
- 相关 skill:
workflow_parallel_subagents、bestpractice_chat_history_retrieval、workflow_library_distillation、codex_self_evoke_call_claude_code_loop - 工具:
token_estimator、cli_agent、chat_history_search,路径查tools/INDEX.md
目标
把长上下文任务从“主 agent 凭感觉拆给几个 sub-agent”升级为可预算、可覆盖、可确认、可递归收口的编排方法。
这个 skill 的本质是信息压缩和覆盖证明。它不决定“审查是否通过”“书籍是否可晋升”“Loop 是否关闭”,而是保证目标对象的原始上下文被枚举、分片、阅读、记录和复核,让后续特定任务可以在可追溯证据上做判断。
这个 skill 解决四个问题:
- 先判断完整阅读任务需要多少 sub-agent,而不是先派人再补解释。
- 确保第一层扫描覆盖全部原始内容,而不是只扫摘要、目录或容易命中的片段。
- 第二层处理只关注少数关键点,并用相似任务的双路 agent 做确认。
- 当第二层输出仍放不进一个 agent context 时,递归重复预算、分片、确认和整合。
适用边界
适用:
- 用户要求从长聊天记录里覆盖性提取某类信息或找出候选遗漏。若要裁决完成声明、Final Report 或 reviewer 行为,转对应审查 skill。
- 用户要求从大量书籍、章节、报告中筛选与某个设计问题相关的材料。
- 用户要求多个 sub-agent 在原始数据上阅读、判断、检查,而不是只读上层摘要。
- 总输入可通过文件、会话记录或稳定 manifest 枚举。
不适用:
- 输入可以稳定放进主 agent context,且不需要独立确认。
- 任务是普通代码修改或单文件解释。
- 用户只需要快速检索某一条事实,直接用
bestpractice_chat_history_retrieval或rg更合适。 - 任务需要决定 Loop 下一步、runtime 调用或最终 closure;这些属于
workflow_controller_loop或 runtime executor。
本 skill 不负责寻找聊天记录入口。聊天记录任务通常先由 bestpractice_chat_history_retrieval 定位 raw session / rollout / daily record,再把稳定 source manifest 交给本 skill 分片覆盖。
职责边界
| 相邻任务 | 本 skill 负责 | 转交给谁 |
|---|---|---|
| Chat history retrieval | 接收已定位的 raw session / rollout / daily record manifest,做 token 预算、chunk、coverage audit。 | 原始聊天入口定位由 bestpractice_chat_history_retrieval 负责。 |
| Post-loop / task review | 提供覆盖型提取结果、residual ledger 和二层确认材料。 | 用户需求还原、completion claim verdict、Final Report 可信度由 workflow_post_loop_critical_review 负责。 |
| Recursive agent review | 覆盖 reviewer / target session 原文,标出未读、截断、summary-only 风险。 | reviewer verdict 与 target verdict 分离由 workflow_recursive_agent_review 负责。 |
| Library distillation | 可以用于跨书检索某个设计问题的候选材料和覆盖 ledger。 | 书籍蒸馏 phase gate、source contract、promotion readiness 由 workflow_library_distillation 负责。 |
| Controller Loop | 给任务卡提供 scale-up 方法和 coverage artifact。 | 下一步反应、runtime、scheduler、closure 由 workflow_controller_loop 或运行时 skill 负责。 |
Controller 管理下的验证 lane
当本 skill 被用于持续 Loop 中的 Large Context 测试或语义验证时,完成一个 chunk、fixture、extractor run、coverage review 或 residual arbitration 只是一个 round result,不是默认 stop condition。
每个 bounded chunk 完成后必须留下 decision receipt,供 Controller 和 Final Report 消费:
- 为什么选择当前 chunk,而不是其他剩余 chunk;
- 当前 chunk 的 source manifest、token budget、null baseline、extractor result、coverage review 和 arbitration 是否齐全;
- 本 chunk 证明了什么,仍然不能证明什么;
- 是否发现责任边界、coverage、review authority、runtime/scheduler 或 Final Report presentation 的 concrete defect;
- 下一步应继续下一个 chunk、补跑当前 chunk、升级 full-corpus synthesis、patch Skill、还是关闭 lane;
- 如果继续,下一 chunk 的候选和选择理由是什么。
Coverage Reviewer 只判断覆盖和抽取证据是否可信,不能替代 Controller 决定业务下一步。Controller 必须在 coverage artifact 之后做一次独立 effect review 或等价 decision note,把用户需求、剩余 manifest、缺口、风险和下一步动作连接起来。
如果用户已经要求 test-grade proof,而 source manifest 仍有未覆盖单位,且下一步不需要 formal promotion、破坏性写入或外部凭据,Loop 应继续执行下一个 bounded test。只有在 manifest 被处理完、证据足以收束、下一步越过禁止边界,或用户明确暂停时,才进入 await_user / close。
成功标准
一次 scale-up 编排完成时,必须能落盘或汇报以下证据:
- source manifest:原始内容全集、路径、单位 id、token 估算。
- budget decision:单 agent 是否可读;若不可读,需要多少第一层 scanning agents。
- chunk ledger:每个 chunk 覆盖哪些原始单位,没有 gaps,没有意外 overlap。
- null baseline:每个 chunk 都记录“如果没有发现也应如何报告”的空结果模板,避免 silent no-op。
- first-layer reports:每个扫描 agent 的输出都能回指原始文件或单位 id;没有命中时也要写 no-finding receipt。
- coverage audit:主 agent 用确定性命令核验 source 文件存在、大小、chunk 数、报告数,并记录与 agent coverage receipt 冲突的地方。
- second-layer control:每个二层 agent 最多处理 3 个关注点。
- confirmation plan:关键判断至少有两路相似角度 agent 或等价机械复核。
- residual ledger:被过滤、降级、未读、source missing、只读 summary、negative evidence、no-finding chunk 的内容有记录。
- coverage synthesis:主 agent 自己消解覆盖分歧,写出可供目标任务消费的证据、缺口和剩余风险;业务 verdict 由目标 skill 或主 agent 在后续裁决。
如果任一项缺失,不能说已经完成全量长上下文检查,只能说完成了局部扫描或初步分析。
核心规则
先预算,再派发
任何长上下文任务先用 token_estimator 估算 source manifest。预算要包含 instruction、source、ledger context、expected output 和 buffer。
默认可用比例:
- scanning agent:源材料不超过模型有效 context 的 55% 到 70%。
- judging / synthesis agent:输入材料不超过有效 context 的 45% 到 60%,给判断和输出留空间。
如果需要的第一层 scanning agents 超过 50 个,先做降噪 frontier,而不是直接派 50+ 个 agent。可用方法包括:目录过滤、时间窗过滤、文件类型过滤、去重、source manifest 分层、先读索引再决定是否进入原文。任何降噪都要写入 residual ledger,不能 silent drop。
第一层必须覆盖原始内容
第一层 scanning agent 的职责是读原始内容分片,而不是读别人总结。它可以先读目录或 INDEX 辅助定位,但最终结论必须来自自己负责的原始文件、章节、会话片段或 artifact。
每个 first-layer agent 的 prompt 必须包含:
- 用户目标和当前任务为什么做。
- 当前 chunk 的文件清单或单位范围。
- 同一套判断 rubric。
- null baseline:如果没有发现目标信息,必须逐项说明哪些单位已读、为什么是 no finding、是否存在弱信号或 negative evidence。
- 输出字段:covered units、top findings、no-finding units、negative evidence、uncertain units、source paths、drop / missing / blocked items。
- 禁止项:不能只做摘要,不能把没有读到的范围说成覆盖,不能把无证据判断写成结论。
first-layer 的 coverage receipt 不是最终证据。主 agent 必须对 receipt 做机械核验,至少检查:
- source manifest 行数与 chunk ledger 覆盖是否一致。
- 每个 chunk 的输出文件是否存在、非空、未超出行数或 token 上限。
- agent 声称 missing / 0 bytes / blocked 的源文件是否真的如此。
- 二层 agent 是否发现 coverage receipt 与实际文件状态冲突。
发现冲突时,不要直接修掉原 first-layer 报告;应在 residual ledger 或最终报告中记录为覆盖质量缺陷,并用机械证据或补跑结果更正结论。
第二层控制关注点
第二层不是继续扩大材料,而是减少判断复杂度。每个 second-layer agent 最多关注 3 个点。超过 3 个点时拆成多个 agent。
第一层和第二层都可以采用 Extractor / Coverage Reviewer 双路结构:
- Extractor 负责按同一 rubric 从自己负责的 chunk 提取候选、证据和不确定项。
- Coverage Reviewer 负责检查 extractor 的覆盖 receipt、source path、drop/missing/block 记录和与用户目标的相关性。
- Coverage Reviewer 不能把自己的二层判断写成最终业务 verdict;它只证明 extraction 是否可信,业务 verdict 交给目标 skill 或主 agent。
当用户目标包含多个判断方向时,先把方向压到 3 到 5 个原子方向。方向是看材料的视角,例如需求对齐、证据链、异常恢复、委派设计、边界条件;不是执行任务列表。每个 first-layer agent 对同一 chunk 使用同一组方向。如果方向超过 5 个,优先分多波 scale-up,而不是把十几个关注点塞给同一个 agent。
常见二层关注点:
- 遗漏检查:first-layer 是否漏读、漏报、只读 summary。
- 相似结论确认:两个 agent 用相近问题复核同一批输出。
- 张力整合:哪些结论互相冲突,哪些只是不同措辞。
- 可实现性过滤:哪些建议能转成可执行设计,哪些只是概念类比。
- 用户需求对齐:哪些内容真正服务于 prompt,哪些只是相关但无用。
关键判断不要只派一个二层 agent。至少安排两个相似角度的 agent,或一个 agent 加一个确定性脚本复核。
二层 synthesis 综合多路 agent 结论时,若结论不可验证(主观判断,而非可机械核验的覆盖事实),遵守 workflow_parallel_subagents 的「综合判断类结论时警惕从众」:综合者拿各 agent 的裁决 + 证据锚点而非社会化结论、保留异见、尽量换 provider。覆盖率这类可机械核验的判断不受此约束(实测可验证综合零从众)。
递归提炼
如果第二层输出仍然超过一个 agent 的稳定 context,重复同一流程:
- 对第二层输出文件做 token 估算。
- 按 token 和语义单位切 chunk。
- 派新的 scanning / judging agents,每个最多 3 个关注点。
- 保留 confirmation plan 和 residual ledger。
- 主 agent 最后写 synthesis。
递归停止条件不是“已经有摘要”,而是主 agent 能把全部必要证据放进 context,并能解释剩余风险。
任务类型建议
聊天记录检查
先用 bestpractice_chat_history_retrieval 定位 raw session tree。第一层按 raw rollout、子会话、时间段或 artifact frontier 切分。不要把 daily record summary 当作完整原文。
适合 rubric:
- 用户要求是否被执行。
- 问题是否被记录。
- 是否出现逻辑往复、遗漏、source missing。
- artifacts 是否能回指 raw 证据。
Loop requirement intake
当 Controller 用本 skill 收集 Loop 需求原文时,first-layer 输出不能只给“需求摘要”。每个 chunk 至少产出:
- original requirement anchors:用户原文、session id、raw path、line anchor 或稳定摘录。
- requirement deltas:哪些后续用户消息修正、补充或推翻了旧判断。
- environment anchors:当时运行环境、任务目录、runtime/scheduler/agent 边界、测试入口。
- failure or correction anchors:用户纠偏、assistant 承认的缺口、测试失败、报告质量问题。
- no-finding receipt:本 chunk 没有相关要求时也要说明覆盖范围和 null baseline。
主 agent 收口时把这些输出交给 workflow_controller_loop 写 REQUIREMENT_EVIDENCE.md 和 REQUIREMENTS.md;本 skill 不决定哪些 requirement 已完成。
书籍筛选与跨书设计
第一层可以按书籍 draft INDEX 或章节材料扫描。单个 agent 最多处理 3 本书;如果三本书 token 超预算,继续拆。每本书至少回答:
- 与用户设计问题的直接关系。
- 会支持、挑战或改写哪个默认设定。
- 可迁移的方法是什么。
- 不适用边界是什么。
二层不要按书复述,应按设计张力整合,例如权威、边界、停机、委派、异常恢复、资源预算、信息压缩、控制回路。
典型需求是“在大量书籍中寻找针对某些特定对象的设计方法”。这类任务不要直接派“组织管理 agent”“软件工程 agent”各自自由发挥;先建立 book / chapter / draft unit manifest,再让多个 first-layer agents 用同一 rubric 覆盖不同书或章节。二层再按设计对象筛选:哪些材料能支持设计、哪些会反驳默认设定、哪些只是背景类比。最终 synthesis 必须保留“未覆盖书籍 / 只读 INDEX / 只读 process summary / 回源失败”的 residual ledger。
artifact / 测试报告检查
把 artifact 分为解释型、结果型、元数据型。解释型可直接支撑问题判断,结果型和元数据型必须回连到解释型 artifact 或 raw frontier。
适合 rubric:
- Decision / Implementation / Verification / Failure / Next action 是否齐全。
- summary-only / manifest-only 是否需要补证。
- recheck pass 是否与旧 boundary artifact 分离。
- classification-only 是否被误算成 execution coverage。
模型选择
扫描、grep、分组、manifest、低风险分类可用 cheaper model 或 deterministic script。判断、设计方向、用户需求对齐、异常归因、最终写作使用更强模型。
模型选择不写死具体供应商。使用 cli_agent 的 tier alias 或当前 runtime 提供的低/中/高档。原则:
- 第一层扫描:低到中档,要求证据路径和不确定项。
- 第二层判断:中到高档,最多 3 个关注点。
- 最终 synthesis:主 agent 或高档模型,必须亲自消解冲突。
输出格式
建议每次任务在目标项目或 tmp/ 下建立一个 run 目录,至少包含:
source_manifest.tsv
token_budget.json
chunk_ledger.tsv
prompts/
first_layer/
second_layer/
residual_ledger.md
synthesis.md如果用户要求长期复用,把最终报告放入任务对应目录;如果是调研报告,放 contexts/survey_sessions/。
已知陷阱
- 只派专题 agent,不派数据分片 agent,然后声称全量检查。专题 agent 能解释原因,不能证明每份原始内容都被同一 rubric 看过。
- 把 summary / run manifest 当作问题解释。它们通常只证明有结果或运行配置,不证明问题被记录。
- 第一层 agent 关注点太多,最后只写泛泛摘要。每个扫描 agent 要有同一 rubric,二层每个 agent 最多 3 个关注点。
- 只按文件数量平均分片。必须按 token 和语义单位分片,大文件单独处理。
- 只做支持性书籍筛选。跨书设计任务必须问这本书会让哪个默认设定失效,才能产生启发。
- 递归输出不落盘。长链路必须能从 manifest、ledger、progress、handoff 恢复,不能只存在聊天中。
- 批读 agent 全报成功但静默丢单(
机械核验 first-layer coverage receipt那条的真实反例锚)。DLS 演变复盘实测:103 个第一层批读 agent 全部返回成功,机械对账(manifest 入选行 ↔ digest 文件)发现约两成单元根本没读、部分判了没写文件。coverage receipt 的自报「done」不等于覆盖,必须由编排层双向对账 + 定向补跑闭环,reader 的成功回执单独不作数。
快速自检
交付前逐条确认:
- 是否估算了全集 token。
- 是否说明了为什么当前 sub-agent 数量足够,或为什么超过 50 后需要降噪。
- 第一层是否覆盖全部原始单位。
- 第二层每个 agent 是否最多 3 个关注点。
- 关键判断是否有两路确认或机械复核。
- 是否记录了 residual / missing / blocked / summary-only 内容。
- 没有命中的 chunk 是否有 no-finding receipt 和 negative evidence,而不是沉默缺失。
- 是否机械核验了 first-layer coverage receipt,特别是 source missing、0 bytes、未读范围等声明。
- 最终报告是否直接回答用户 prompt,而不是展示流程本身。