239 lines
9.6 KiB
Markdown
239 lines
9.6 KiB
Markdown
# 人物一致性流程第三次测试交接
|
||
|
||
## 目的
|
||
|
||
本交接用于下一轮人物一致性流程测试。第三次测试的重点不是图片质量,而是验证 `session / SubAgent` 机制是否清晰、可追踪、不会重复启动 worker、不会覆盖已有产物。
|
||
|
||
本交接不是 CCPE 调用包,不启动外部 reviewer。
|
||
|
||
## 当前结论
|
||
|
||
- 第二轮测试已经结束,`s21-v3`、`s14-v2`、`s25-v2` 图片均已由用户确认可接受。
|
||
- 质量链路基本修复:提示词使用 `gpt-image-2` Advisor,使用 style 母版,使用人物锚板 / 裁切 / 可见参考图,且 review 在明确禁用时没有生成。
|
||
- 流程链路仍有缺陷:`s14-v2` 出现两个 `Agent S-14` worker 指向同一组输出目标,说明 child session 内部缺少唯一 worker / 目标占用校验。
|
||
- 第二轮 brief 子会话在完成两个镜头后上下文占用达到约 83%,所以当前项目的人物一致性任务不应继续按 3 个镜头分配。
|
||
|
||
## 必读文件
|
||
|
||
先读这些仓库规则和工作流:
|
||
|
||
```text
|
||
AGENTS.md
|
||
VIDEO_WORKBENCH.md
|
||
docs/workflows/slide-task-orchestration.md
|
||
docs/workflows/slide-task-templates.md
|
||
```
|
||
|
||
再读项目和任务状态:
|
||
|
||
```text
|
||
projects/2026-06-23-在路上/project.md
|
||
projects/2026-06-23-在路上/execution-plan.md
|
||
projects/2026-06-23-在路上/slides/slides.md
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/task-plan.md
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/task-log.md
|
||
```
|
||
|
||
再读第二轮真实产物记录:
|
||
|
||
```text
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-03/child-session-handoff.md
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-03/child-session-continuation-s14-s25-handoff.md
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-03/returns/s21-v3-slide-agent-return.md
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-03/returns/s14-v2-slide-agent-return.md
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-03/returns/s25-v2-slide-agent-return.md
|
||
```
|
||
|
||
## 已知 Session / Agent 记录
|
||
|
||
不要复用:
|
||
|
||
```text
|
||
019ef77d-552b-7343-abe4-88921b35d7ea
|
||
```
|
||
|
||
历史记录:
|
||
|
||
```text
|
||
session-02 child-session id: 019ef7ca-413a-7662-9633-7fb126b7ef35
|
||
session-03 child thread id: 019ef7d2-1a7f-7a90-8c04-0098239dfe0f
|
||
session-03 Agent S-21 thread id: 019ef7d6-3ff6-7213-b68c-fd646e39f1d2
|
||
session-03 recorded Agent S-14 thread id: 019ef803-95d7-7411-8d3c-c7f2f68a32e7
|
||
session-03 duplicate Agent S-14 observed by parent: 019ef803-328a-7e40-a0b0-0333c6b5fc6c
|
||
session-03 Agent S-25 thread id: 019ef803-e757-7041-8f4a-fc9dfce23bbd
|
||
```
|
||
|
||
第三次测试建议新建 `session-04`,不要继续使用 `session-03`,除非用户明确要测试旧 child session 的续跑能力。
|
||
|
||
## 机制边界
|
||
|
||
第三次测试要明确区分两个层级:
|
||
|
||
```text
|
||
用户可见 Codex child session:
|
||
- 用于 brief / orchestration / 分配工作。
|
||
- 会在窗口中多出用户可以看见的对话。
|
||
- 必须记录 session id。
|
||
- 本项目人物一致性任务最多分配 2 个可见人物镜头。
|
||
|
||
内部 SubAgent / one-shot slide worker:
|
||
- 由 child session 内部启动。
|
||
- 用户不需要在窗口中看到单独对话。
|
||
- 每个 SubAgent 只处理 1 个镜头。
|
||
- 完成后即结束,不做 idle / 长期复用。
|
||
- 必须把返回结果写入对应 return 文件。
|
||
```
|
||
|
||
第二轮的问题之一是 slide agent 仍以线程级 agent 形式出现。第三轮要重点验证 child session 是否能在内部使用 SubAgent,而不是继续创建用户可见的 slide-agent 线程。
|
||
|
||
## 第三次测试建议范围
|
||
|
||
启动前由用户指定镜头;不要默认继续 `s21`、`s14`、`s25`,这三个已经完成验收。
|
||
|
||
建议范围:
|
||
|
||
```text
|
||
2 个可见人物 / identity-heavy 镜头
|
||
```
|
||
|
||
原因:
|
||
|
||
- 项目级规则已经改为人物一致性 child session 最多 2 个镜头;
|
||
- 2 个镜头足以验证 child session 内部是否启动了两个独立 SubAgent;
|
||
- 也足以验证是否会重复启动同一个 slide/version worker;
|
||
- 不会再次把 brief child session 推到过高上下文占用。
|
||
|
||
如果用户想同时测试版本扫描,可以选择:
|
||
|
||
```text
|
||
1 个已有 broad-run v1 但未完成规范 task 产物的镜头
|
||
1 个尚未进入人物一致性测试的镜头
|
||
```
|
||
|
||
具体 slide id 以用户下一步指令为准。
|
||
|
||
## 第三次测试必须验证
|
||
|
||
session 层:
|
||
|
||
- 是否创建了新的用户可见 child session。
|
||
- 是否记录了 child session id。
|
||
- 是否没有复用废弃 id `019ef77d-552b-7343-abe4-88921b35d7ea`。
|
||
- 是否没有继续复用 `session-03`,除非用户明确授权。
|
||
- child session 是否只承担 brief / orchestration / 分配职责。
|
||
- child session 是否在每个 slide 前后记录上下文占用或至少记录是否接近暂停阈值。
|
||
|
||
SubAgent 层:
|
||
|
||
- child session 是否为每个 slide 启动一个内部一次性 SubAgent。
|
||
- 两个 slide 是否对应两个不同 SubAgent。
|
||
- SubAgent 是否没有出现在用户可见线程列表中;如果出现,说明机制不符合本轮目标。
|
||
- 每个 SubAgent 是否只处理一个 slide。
|
||
- 是否没有继续使用 `Agent S-21`、`Agent S-14`、`Agent S-25` 的旧上下文。
|
||
|
||
唯一性层:
|
||
|
||
- 一个 `slide_id + version` 是否只有一个 owning worker。
|
||
- child session 是否在启动 SubAgent 前写下 worker ledger。
|
||
- child session 是否在启动前检查目标文件不存在。
|
||
- child session 是否在写 prompt / image / return 前再次检查目标文件没有被占用。
|
||
- 是否没有出现两个 worker 使用同一个 packet 或同一组 target paths。
|
||
|
||
质量保底层:
|
||
|
||
- prompt 是否仍通过 `gpt-image-2` Skill Advisor / host-native 工作流生成。
|
||
- prompt 是否记录 mode、template/reference、实际读取的源文件。
|
||
- prompt 是否正确使用 `visual-system/style/style-prompt-master.md`。
|
||
- prompt 是否正确使用 `visual-system/characters/character-reference-registry.md` 和当前人物参考图。
|
||
- visible identity 镜头是否加载真实人物参考图,而不是纯文本描述。
|
||
- 如果明确禁用 review,则不得生成 review 文件。
|
||
|
||
## 建议新增记录结构
|
||
|
||
第三轮建议使用 `session-04`:
|
||
|
||
```text
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/child-session-plan.md
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/worker-launch-ledger.md
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/child-session-handoff.md
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/packets/sNN-vN-slide-agent-packet.md
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/returns/sNN-vN-slide-agent-return.md
|
||
```
|
||
|
||
`worker-launch-ledger.md` 至少记录:
|
||
|
||
```text
|
||
slide_id
|
||
resolved_version
|
||
worker_logical_name
|
||
carrier_type: internal SubAgent
|
||
visible_thread_id: none expected
|
||
target brief path
|
||
target prompt path
|
||
target image path
|
||
target return path
|
||
target review path: disabled / enabled
|
||
prelaunch target existence check
|
||
launch status
|
||
return status
|
||
parent verification status
|
||
```
|
||
|
||
## 启动前防重复检查
|
||
|
||
对每个待跑镜头,child session 必须先扫描:
|
||
|
||
```text
|
||
projects/2026-06-23-在路上/slides/sNN/sNN-v*-*
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-*/packets/sNN-v*-slide-agent-packet.md
|
||
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-*/returns/sNN-v*-slide-agent-return.md
|
||
```
|
||
|
||
然后解析下一个未使用版本号。任何计划写入的文件已经存在时必须停下,不得覆盖。
|
||
|
||
## 暂停点
|
||
|
||
建议第三次测试继续分成两段:
|
||
|
||
```text
|
||
第一段:
|
||
- 新建 session-04 child session。
|
||
- 跑用户指定的第 1 个镜头。
|
||
- 验证 child session id、内部 SubAgent、ledger、版本扫描、防覆盖、prompt 证据。
|
||
- 产图后暂停,等用户确认图片和机制。
|
||
|
||
第二段:
|
||
- 在同一个 session-04 child session 内继续第 2 个镜头。
|
||
- child session 必须启动新的内部 SubAgent。
|
||
- 验证不是复用第 1 个 SubAgent。
|
||
- 产图后暂停,等用户确认。
|
||
```
|
||
|
||
如果第一段发现 slide agent 仍然变成用户可见线程,先不要继续第二段,应该先定位 Codex 当前可用的 subagent 工具形态。
|
||
|
||
## 完成时父会话必须检查
|
||
|
||
父会话不能只相信 child handoff。完成后要核对:
|
||
|
||
- 用户可见 child session id 是否只有预期的一个新 child session。
|
||
- 是否没有额外用户可见 slide-agent 线程。
|
||
- worker ledger 中的 worker 数量是否等于 slide 数量。
|
||
- 每个 slide/version 是否只有一个 packet、一个 prompt、一个 image、一个 return。
|
||
- return 文件记录的 source worker 是否和 ledger 一致。
|
||
- review 文件是否符合任务设置。
|
||
- `task-plan.md`、`task-log.md`、`slides/slides.md` 是否更新为“图片结果”和“机制结果”两个维度。
|
||
|
||
## 结束判定
|
||
|
||
第三次测试只有在以下条件同时满足时,才能称为 session/SubAgent 机制通过:
|
||
|
||
- 新 child session id 已记录。
|
||
- child session 内部启动的 worker 数量等于测试镜头数。
|
||
- 每个 worker 都是一次性 SubAgent,每个只处理一个镜头。
|
||
- 没有重复 worker 指向同一个 `slide_id + version`。
|
||
- 没有覆盖任何旧产物。
|
||
- prompt 仍走 Advisor + style + 人物参考图链路。
|
||
- 用户确认生成图可接受,或即使图不接受,也能清楚区分是质量问题而不是机制问题。
|
||
|
||
如果出现重复 worker、可见线程污染、目标路径混用、return 来源不一致,第三次测试应记录为“机制未通过”,不要扩大到批量生产。
|