# 论文主图设计:Self-Evolving Search Agent 推理训练闭环 **日期** 2026-07-09 · **状态** 已获用户批准(口头) · **产出物** Figma 图(文件 `xnLGUkZottqnr4dsEt9fGq` Page 1 空白区) ## 1. 目标与定位 - **用途**:论文主图(目标会议存在文档分歧:CLAUDE.md=AAAI 2026,ARCHITECTURE.md 与记忆=EMNLP 2026,以用户最终决定为准,不影响本图设计),展示推理训练部分的自进化闭环;不含建树与新题生成(建树已有独立图,位于同一 Figma 文件)。 - **核心叙事**:搜索 Agent 通过 推理→诊断→进化→门控 闭环自我改进;**Frozen LLM, trainable harness**——被"训练"的不是模型权重,而是版本化的 Skills+Prompts。 - **差异化**:AVP/DVD 等相关工作画的是推理期内环(agent 怎么搜视频);本图内环只是一个面板,**训练期外环是主角**。 - **审稿人一句话记忆点**:这是一个不动模型权重的 PyTorch 式训练循环。 ## 2. 已确认的关键决策 | 决策点 | 结论 | |---|---| | 构图 | 水平流水线 + 底部参数回流闭环(方案 A) | | 版式 | 双栏跨页宽图,画布 2400×1050 px(≈2.3:1,缩印 180mm) | | 信息密度 | 四机制全部可见(Agent 内环 / 诊断瀑布 / patch 引擎 / CE-Gate+信息阶梯),去工程化(无熔断/缓存/遥测) | | PyTorch 类比 | 底部独立双行对照条,与上方区域逐段对齐 | | 示例贯穿 | 延续建树图同一 Video-MME 天文台视频,问题/诊断/patch 文本典型化设计 | | 迭代维度 | Store 处 v1…vN 卡片堆叠 + ×N epochs 循环标记暗示,不加独立时间轴 | | 绘制位置 | 与建树图同文件(素材直接复用),Page 1 空白区 y≥1800,不动现有图层 | | 语言 | 图内文字全英文 | ## 3. 布局 > 下方 ASCII 草图为中文说明稿,仅示意区域关系;最终图层文字一律采用 §4/§5 的英文术语。 ``` ┌──────────────────────────────────────────────────────────────────┐ │ [输入] ┌──────────────┐ ┌───────────┐ ┌──────────┐ ┌──────┐ │ │ Q+缩略图→│ ① INFERENCE │→ │② DIAGNOSE │→ │③ EVOLVE │→ │④ CE- │ │ │ │ 树环境+内环 │ │ 归因瀑布 │ │ patch引擎 │ │ GATE │ │ │ └──────↑───────┘ └───────────┘ └──────────┘ └──┬───┘ │ │ │ read ┌─────────────────┐ accept│ │ │ └─────────────────│⑤ Skills+Prompts │←──────┘ │ │ │ Store v1…vN ▤▤ │ reject→保基线 │ └─────────────────┘ │ ├──────────────────────────────────────────────────────────────────┤ │ DataLoader│forward()│backward()│optimizer.step()│grad clip│nn.Parameter│ └──────────────────────────────────────────────────────────────────┘ ``` **数据流勘误记录**:CE-Gate 位于 Evolve 之后(进化产出候选 → gate 用 e-process 验证候选 vs 基线 → accept 才写入 Store),信息阶梯为 gate 供给高信息量题序,而非控制输入难度。此顺序已与 `core/evolution/gate.py`、`app/harness/gate_ladder.py` 核实。 ## 4. 五区域内容规格 术语均与代码核实一致(来源见 §7)。 ### 4.1 输入区 - 问题卡(Q: *"What happens right after the dome opens?"* 措辞绘制时可打磨)+ 天文台视频缩略图 + 迷你树 icon,标注 "hierarchical video tree (Fig. 2)" 衔接建树图。 ### 4.2 ① INFERENCE(agent-controlled,图上唯一画成循环的面板) - 树环境迷你版:L1/L2/L3 三层色带(绿/蓝/黄,复用建树图配色与缩略图)。 - Agent 内环轨迹:Thought → `search_similar` → `view_node` → `observe_frame` → `submit_answer`;侧边 `read_skill` 箭头(来自 ⑤,工具名与 `app/search/tools.py:56-58` 一致)。 - 示例结局:answer ✗(答错),输出 trace 流向 ②。 - 面板角标:*agent-controlled*;其余面板角标 *code-controlled*。 ### 4.3 ② DIAGNOSE(code-controlled) - 归因瀑布级联:`extraction failure → search failure → reasoning failure`(+ mixed 兜底),画成三级下落台阶。 - 二分岔:**defect**(改 skill 正文)vs **lapse**(记 appendix 提醒)。 - D1–D5 压缩为一排五个小 chip:attribution / tool quality / search behavior / skill compliance / decision patterns。 - 示例:该题归因 `search failure` → 判 **defect**。 ### 4.4 ③ EVOLVE - patch 流水线:candidate edits → **rank-and-clip** → apply patch。 - 侧边锁条带:**protected spans**(appendix / momentum 区带锁图标,不可改写)。 - 示例 patch 片段:*"+ verify event boundary via L2 card before observe_frame"*。 - momentum 机制不单独出现(用户确认),仅隐含于锁条带。 ### 4.5 ④ Validation · CE-GATE - 面板标题 **Validation · CE-Gate**:块顺序验证(`validate.py` 配对翻转 W/L)作为输入喂 e-process——图上画为"candidate vs baseline 配对小图 → e 曲线"。 - e-process 小曲线:e 值随题数爬升,越过 `e_confirm` 虚线。 - 四出口:**accept (confirmed) / accept (provisional) / reject / continue**(代码中三种 reject 在图上合并,用户确认)。 - 侧挂小组件:信息阶梯(2:1 交错题序图标,标注 *info-max question ladder*),尺寸压小避免抢焦点。 - 视觉层级:accept 主路径线最粗;reject/continue 细灰次级线。 ### 4.6 ⑤ Skills+Prompts Store - v1…vN 卡片堆叠(复用建树图 Event Card 堆叠画法)+ 版本号 badge。 - accept 箭头写入 v(N+1);read 箭头回流至 ①,构成大闭环;循环标记 **×N epochs**。 ## 5. PyTorch 对照条(最底部) 浅灰底横带,等宽字体,与上方区域逐段对齐: | 上方区域 | 对照文字 | |---|---| | 输入 | `DataLoader` | | ① | `model.forward()` | | ② | `loss.backward()` | | ③ | `optimizer.step()` | | ④ | `grad clipping (validate)`(对应 CLAUDE.md 类比表中"进化 validation = grad clipping";④ 面板同时含 validate 配对翻转与 CE-Gate 判定) | | ⑤ | `nn.Parameter` | 条带一侧放记忆点标语:*Frozen LLM, trainable harness*。 ## 6. 视觉规范与素材复用 | 元素 | 方案 | |---|---| | 面板样式 | 白底、细虚线外框、顶部居中标题(沿用建树图) | | ① | 淡绿系 · ② 淡橙红系(新增,饱和度对齐现有 pastel) · ③ 淡紫系(复用 VLM 紫) · ④ 淡蓝系 · ⑤ 白卡+badge | | 直接复用 | 视频缩略图(candidate_a_t*)、L1/L2/L3 badge、Scene/Event/Frame Card 组件、VLM 紫块、箭头/chevron 样式 | | 字体 | 与建树图一致(Inter);标题 24px / 正文 16-18px / 标注最小 15px 灰(2400px 画布缩印 180mm 后 15px ≈ 1.1mm,12px 过小已弃用) | | 图层组织 | 顶层 Frame 命名 `Main Figure — Self-Evolving Loop`,五区域各一个子 Group,便于后续人工微调 | ## 7. 术语出处(代码核实) | 图上术语 | 来源 | |---|---| | gate 四出口 accept_confirmed / accept_provisional / reject×3 / continue | `core/evolution/gate.py:57-110` | | 归因瀑布 extraction/search/reasoning/mixed;defect vs lapse | `core/evolution/diagnose.py:910-997` | | D1-D5 五维聚合 | `core/evolution/diagnose.py:1095-1307`(D2-D5)、`1551-1563` + `2230` + `2293-2296`(D1 attribution distribution) | | 信息阶梯冷启动 2:1、信息量排序 | `app/harness/gate_ladder.py:57-117` | | 块顺序验证配对翻转 W/L | `core/evolution/validate.py:12-69` | | rank-and-clip、protected spans、appendix/momentum 区 | `core/evolution/evolve.py:186-594`、`core/evolution/patch.py:11-56` | | agent 工具五件套(含 `read_skill`) | `app/search/tools.py:33-73` | | 版本目录 Store `store/skills/v{N}` / workspace 本地拷贝 | `app/harness/store.py:28-136`、`app/harness/workspace.py:103-108,150-152` | ## 8. 验收标准 1. 图在 Figma 中为独立顶层 Frame,可整体导出 PNG/SVG,缩印 180mm 宽时最小文字(12px 标注)仍可辨认。 2. 五区域 + 对照条齐全,闭环箭头(⑤→① read、④→⑤ accept)无歧义。 3. 全部术语与 §7 代码核实结果一致;无熔断/缓存/遥测等工程元素。 4. 风格与同文件建树图肉眼一致(配色、字体、面板语言、卡片组件)。 5. 不改动/移动建树图的任何现有图层。 ## 9. 构图重构记录(2026-07-09 定稿后追加) 用户验收反馈:内容正确但"下半部空、无主线重点"。经方案比选(用户选 A),实施: | 改动 | 内容 | |---|---| | 显式循环主干 | 面板间 chevron → 4px 黑色实心三角箭头(forward 主线);④→⑤ write 与 ⑤→① read 回流均为 4px 绿色实线带,⟳ ×N epochs 置于带上;黑/绿双色对应 forward / parameter-update 语义 | | 底部压缩 | Store 2080px 全宽行 → 680×170 紧凑块(右缘对齐 ④,write 直指 v5);对照条 130→84px;画布 1050→**940**(2.55:1) | | 填充 | motto 24px 斜体移至左下空区;read 带起点加绿色圆点锚记 | 逐模块精修均经 Claude 自审 + Codex 独立审双 PASS(Question/①/②/③/④/⑤+对照条/整图重构共 8 轮审核)。Codex 抓到的实质问题:④ 的 W/L 翻转数与 e 曲线出口统计不自洽(修正为序列省略号 + W=8·L=0,E=56.78>e_confirm=20)、ladder 色块数与题数不符、read 线易误读为边框。 ## 10. 被拒绝的备选方案 | 方案 | 拒绝原因 | |---|---| | B 上下双层 S 形回路 | PyTorch 对照条无法与面板逐段对齐,退化为角标 | | C 中心辐射环形 | 2.3:1 宽幅下横向空间浪费大,机制细节难展开,与建树图直线叙事不一致 | | 独立进化时间轴 | 占版面,与对照条拥挤;由 Store 版本堆叠 + ×N epochs 替代 |