context-infra 检查与复盘infra.guiming.net · 全内容自包含呈现 · 生成于 2026-07-21 16:28 UTC

workflow_recall_first_locate

Z3 全文↑ Z2 条目

道-方法 · 道层 skill 全文

← 返回道层 skill 索引 · 返回方法论区

本页是 <code>rules/skills/drafts/workflow_recall_first_locate.md</code> 的逐字投影(仅隐私清洗,零改写)。

时点提示:本页是仓内文件 rules/skills/drafts/workflow_recall_first_locate.md 的逐字投影(仅做隐私清洗:仓库根绝对路径→相对路径、家目录→~/;除此零改写)。若源文件后续有修订,以仓内真源为准。

Workflow:召回优先的信息定位(recall-first locate)

元数据

目标

一句话:当任务要覆盖式收集信息时,整个任务的召回率由枚举/定位步骤决定,所以先把这一步当成召回工程来做(先证"没漏"),再去深读和精判。

这个 skill 解决的真问题

信息收集失效最常见的形态不是"读得不够深",而是"压根没找到"。一个 agent 在模糊 prompt 下做收集,会凭印象扫几个显著位置就收手,系统性漏掉关键词不可见的相关内容。下游读得再准也补不回定位阶段漏掉的东西(召回界定上界)。本 skill 的判断纪律就是把召回从"撞运气"变成"可证明没漏"。

经对照实验证伪的一个直觉:把"定位"和"阅读"拆成两个阶段,本身不解决问题(拆分臂的召回 ≈ 甚至低于不拆的单 agent)。真正的杠杆是定位步骤有没有召回工程纪律,不是阶段边界。所以本 skill 是一套纪律,可以由单个 agent 执行,也可以拆成 locate/read 两个 agent 执行,但拆与不拆都必须带这套纪律。

何时使用 / 不使用

使用:任务要求穷尽式或覆盖式收集("找出所有 X"、"这方面的信息都收集来");召回比精确更重要;语料大到单 context 装不下;prompt 模糊、来源边界不清、引导不足。

不使用:快速查一条已知事实(用 rgchat-history-retrieval);prompt 已经清晰且语料小到单 agent 能装下并自查;任务要的是对已定位内容的精确判断或裁决(那归读阶段或 workflow_solid_decision_review);trivial 单文件任务;执行模型本身就会彻底机械枚举的强 agent(见下"模型条件性")。

模型条件性(2026-05-31 跨厂商实验的关键修正)

本纪律不是通用杠杆,是一个 forcing function,价值取决于执行模型在 naive 下会不会欠收集

进入前先判断:执行 agent 在 naive 下会不会欠收集?会(弱模型 / vague prompt / 大语料 / 关键词不可见或噪声混淆)→ 上全套五步。不会(强模型已天生彻底)→ 只保留步骤 1「机械枚举建 Universe」(廉价、无害),去掉会让强模型过度保守的精度刹车(步 4-5)。证据边界:Codex 反转是单任务(git)N=2,但分布不重叠,足以证伪"通用";"对所有强模型/所有任务都有害"未确立,精确条件待更多数据。

核心判断(进入前先答)

召回是不是这个任务的硬约束?判据:用户要的是"覆盖/穷尽/所有",还是"一个够用的答案"。前者进本纪律;后者别浪费这套机械枚举的成本。其次:漏一个相关位置的代价,是否大于多带几个无关候选的代价?如果是,召回优先成立。

召回工程纪律(顺序有依赖,不是可选清单)

下面五步有真实的前后依赖(每步的输出是下一步的输入),不是可重排的建议。但每步具体怎么实现(用什么命令、什么关键词)由 agent 按语料自行决定。

  1. 机械枚举建 Universe:用确定性命令(bash/sql)把语料的处理单元全部枚举出来,得到一个有计数的全集,不靠印象、不靠"扫了几个"。Universe 计数必须是命令的输出。
  2. 机械剔除噪声类:用确定性特征(消息数、结构标记、固定前缀模式等)识别并剔除非目标的自动化/wrapper/重复类,每剔除一类记录其计数和判据。剔除噪声不等于降低召回,它是把召回预算花在真候选上。
  3. 宽召回网:用尽量宽的多词信号召回候选——同义词、相关工具名、中英文都要。召回优先、宁滥勿缺。这一步的产物是候选集,不是最终答案。
  4. NO_KEYWORD 兜底:对关键词零命中的单元随机抽样核验(够大的样本),确认没有"关键词不可见但实际相关"的命中被系统性漏掉。抽到漏网的,回到第 3 步扩网再召回。这一步是召回工程区别于普通 grep 的关键,也是实验里多召回那批的唯一来源。
  5. 先证没漏,再判断:只有候选集通过上述召回核验后,才在候选集上深读和精判。精确率在这一步回收(撒宽网必然带假阳,靠判断剔除),交给 workflow_long_context_scale_up 做 budget 分片深读和覆盖证明。

验收标准(一个无上下文的 agent 也能据此自判做完没有)

与读阶段的交接

本 skill 只负责把召回做实,产物是召回核验过的候选位置集 + receipt。深读、精判、覆盖证明、residual ledger 归 workflow_long_context_scale_up。"收集够没够"的最终判级归 workflow_solid_decision_review。本 skill 不替它们做判断。

诚实的取舍与 claim ceiling

对照实验(2026-05-30,单任务、全 vague prompt、全 Sonnet 单 agent,GT=42/语料 4956)的实测,必须随结论一起讲,避免过度承诺:

已知陷阱(全部来自真实对照实验失败,非预测)

陷阱表现应对
把"拆阶段"当杠杆期待"拆出独立 locate 阶段"本身提召回实测拆分臂 ≈ 甚至低于单 pass 且方差更大;杠杆是召回纪律不是阶段边界。拆与不拆都要带纪律
廉价/naive 定位欠召回用便宜模型 grep 撒网,召回只 0.29-0.74 且不稳定位靠机械枚举 + 去噪 + NO_KEYWORD,不靠 LLM 猜关键词;枚举/去噪用确定性命令而非模型判断
关键词不可见命中被系统性漏掉相关性不体现在关键词/预览里的单元被整类漏掉第 4 步 NO_KEYWORD 抽样是唯一兜底,跳过它等于留一个系统性召回洞
撒网过度宣称冒充召回把几百个候选直接当答案,召回数字好看但精确率崩宽网只用于候选阶段;最终答案必须经判断回收精确率;"更多=更好"是 bad behavior(IB-08)
self-report 当枚举agent 说"我枚举了全集"但给不出可复现计数要求机械命令 + 计数落盘;真枚举的计数能从冻结语料复现,嘴上说的不能
空结果直接声称"无相关"候选为空就下"没有相关信息"镜像条款:先用确定性命令反向核验再下结论
以为五步均匀承重不看噪声结构机械套五步哪一步承重取决于噪声结构:看起来像 topic 的噪声类多(如 git 的 merge-wrapper)→机械去重(步2)承重;关键词不可见 + 注入噪声(如 weclaude 的 MEMORY.md 注入 546/608)→宽网 + NO_KEYWORD(步3/4)承重。先看噪声长什么样再定重心
以为效应跨任务稳定以为 git 的干净分离到处都有实测 git 两臂分布不重叠、weclaude 重叠(naive 一次追平 skill);效应方向稳、大小随任务变。召回是硬需求时配多模型投票兜底,别只靠单 agent 加纪律
给强模型套全套纪律对天生彻底枚举的强 agent(gpt-5.5)也上全套五步实测 naive 0.92 > skill 0.71(召回精度双降);精度刹车让强模型过滤掉真命中。强模型只留机械枚举(步1),去掉步 4-5。见"模型条件性"
子 agent 读大文件死循环arm 读 2.9MB 原始 jsonl 卡住,transcript 涨到 7MB+ 仍不返回,parallel barrier 永久卡死整个 workflowarm prompt 硬限制读取量(用 jq/grep 取片段不整文件 Read);workflow 对 arm 设超时;用 TaskStop 杀 runaway,数据若已落盘则直接读文件打分

输出契约

落盘(任务目录或 tmp/ 下的 run 目录):Universe 计数与枚举命令、噪声类剔除表(类/计数/判据)、候选集、NO_KEYWORD 抽样 receipt、交给读阶段的候选位置集。命名与归档遵循目标项目约定;调研类落 contexts/survey_sessions/

证据来源

诊断与设计:methodology/locate_read_two_phase_info_collection_20260530_manual.md。对照实验:adhoc_jobs/locate_read_recall_experiment_20260530/(RESULTS_exp1.md 证伪 naive 拆分;RESULTS_exp2.md 验证召回纪律 git;task2_weclaude/RESULTS_task2.md 跨任务复制 weclaude;RESULTS_ablation.md 成分消融;RESULTS_round2_synthesis.md Codex 跨厂商反转证伪通用性 + T-REQ 打分法失效记录)。术实现:adhoc_jobs/git_baseline_completeness_20260424/


← 返回道层 skill 索引 · 返回方法论区