# V8 事件记录能力与剩余缺口 ## 当前已经具备 数据库已经提供结构化运行事件及独立正文表,可记录工具调用、模型轮次、子 Agent 派发、返回状态、输入输出和执行时间。V8 用这些记录补充取数树、Agent 初筛、创作处理、多方案评审和主脚本整体评审,但业务主线仍以业务表为准。 ## 仍然存在的缺口 1. `script_build_event.round_index` 在部分运行中为空,无法直接关联轮次。 2. 事件表没有 `branch_id`,取数活动经常无法直接关联实现方案。 3. `parent_event_id` 尚未稳定建立“主 Agent → 实现 Agent → 取数 Agent”的完整父子树。 4. 评审结果仍是报告正文,没有独立的轮次评审和 Branch 评审业务表。 5. `script_build_round.multipath_plan` 保存当前版本,同轮早期规划仍需从运行事件补充。 6. parked 方案没有处置时历史快照,后续只能查看基于当前主脚本计算的 overlay。 7. 主脚本没有逐轮版本,无法精确还原每轮合并完成后的完整状态。 ## V8 的保守策略 - 只有明确评审结论才能显示通过、部分通过或需要继续。 - `script_multipath_evaluator` 只表示候选方案评审,`script_evaluator` 只表示主脚本整体评审。 - 多方案评审与主 Agent 决策只有在 Branch 集合和时间顺序一致时才关联。 - 事件明确携带轮次或 Branch 时使用直接关联。 - 文本中只有一个合法轮次或 Branch 时,允许标记为“运行记录关联”。 - 多个候选同时匹配时不猜测,记录进入 `unassigned.runtimeEvents`。 - 事件中的规划记录只进入轮次详情,不覆盖当前规划。 - 当前主脚本只描述为“当前”,候选快照只描述为“处置前快照”或“当前 overlay”。 - 评审报告统一解析为结构化业务字段,原始 Markdown 只留在技术记录。 - 实现 Agent 没有安全关联的创作处理事件时,只显示候选产出,不补空决策节点。 - 当前 Prompt 配置只称为“当前版本规则”,不伪装成历史运行快照。 ## 后续建议 无需再新建一套事件表,优先完善现有事件字段: - 所有事件写入真实 `round_index`; - 增加可空 `branch_id`; - 实现 Agent 派发事件写入 Branch 创建后的稳定 ID; - 取数 Agent 和工具事件写入 `parent_event_id`; - 评审结果增加结构化正文:结论、问题列表、下一轮目标、维度结果; - 主脚本每次合并后保存内容寻址的版本引用; - parked、merged、discarded 都保存统一的处置前候选快照。 这些改进需要修改父业务服务和数据库,本次 V8 可视化不执行迁移。