From ffa9a2630b5ba924fb27ac84388c840ff74aae0d Mon Sep 17 00:00:00 2001 From: YBF <47051132+YBFACC@users.noreply.github.com> Date: Thu, 3 Sep 2026 14:56:20 +0800 Subject: [PATCH] docs: multi-agent-graph --- docs/multi-agent-graph.md | 196 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 docs/multi-agent-graph.md diff --git a/docs/multi-agent-graph.md b/docs/multi-agent-graph.md new file mode 100644 index 0000000..976ddee --- /dev/null +++ b/docs/multi-agent-graph.md @@ -0,0 +1,196 @@ +下面按本次 Codex raw rollout 记录整理,时间均为 Asia/Shanghai(CST)。同一 agent 的不同 repair/revalidation 分开计算;纯 `wait_agent` 轮询不计入,未成功创建 agent 的工具调用也不计入。 + +## 交接时序图 + +```mermaid +sequenceDiagram + autonumber + participant M as 主会话 + participant R as Research + participant I as Implementer + participant C as Checker + participant Q as Final QA + + par 三路并行研究 + M->>R: Singer / extension profile + M->>R: Leibniz / server profile + M->>R: Plato / read API + end + R-->>M: 研究完成,解除 I-EXT 依赖 + + M->>I: Nietzsche / I-EXT initial + I-->>M: 超过 10 分钟无进度,疑似挂起 + M->>I: Mendel / 接手 partial diff + I-->>M: 未完成,转交 F-IEXT-001 + M->>I: Meitner / 修复 F-IEXT-001 + I->>C: Peirce / I-EXT review + C-->>M: 发现两个 blocker + M->>I: Faraday / I-EXT repair + I->>C: Peirce / I-EXT revalidation + C-->>M: I-EXT accepted + + M->>I: Gauss / I-SRV-DB + I->>C: Peirce / DB review + C-->>M: fractional timezone 问题 + M->>I: Descartes / DB repair + I->>C: Peirce / DB revalidation + + M->>I: Ptolemy / I-SRV-WS + I->>C: Peirce / WS review + C-->>M: direct fact 与 future-error 问题 + M->>I: Copernicus / direct-fact repair + I->>C: Peirce / revalidation + C-->>M: future-error 仍未修复 + M->>I: Goodall / future-error repair + I->>C: Peirce / accepted + + M->>I: Lovelace / I-CUTOVER + I->>C: Peirce / cutover review + C-->>M: 残留 profile_delivery diagnostics + M->>I: Godel / cutover repair + I->>C: Peirce / accepted + + M->>I: James / I-READ-DOMAIN + I->>C: Peirce / checker 无终态 + M->>C: Kierkegaard / replacement checker + C-->>M: projection/type finding + M->>I: James / 两轮 read-domain repair + I->>C: Kierkegaard / 两轮 revalidation + C-->>M: I-READ-DOMAIN accepted + + M->>I: Bohr / I-READ-HTTP + I->>C: Gibbs / HTTP review + C-->>M: HTTP/harness regressions + M->>I: Bohr / HTTP repair + I->>C: Gibbs / revalidation + C-->>M: HTTP accepted + + M->>Q: Franklin / parent final check + Q-->>M: CORS/auth + 多项 final findings + M->>I: Bohr / parent repair + I->>Q: Franklin / revalidation + Q-->>M: checker 工具不可用 + M->>Q: Dewey / fresh final check + Q-->>M: 6 个 blocking findings + M->>I: Jason / extension repair + M->>Q: Dewey / revalidation + Q-->>M: 工具不可用,换 Hypatia + M->>Q: Hypatia / fresh check + Q-->>M: superseded,换 Harvey + M->>Q: Harvey / fresh check + Q-->>M: media projection 023 + M->>I: Erdos / media repair + I->>Q: Noether / final check + Q-->>M: 024、025、026 + M->>I: Turing / 仅修 024、025 + I->>C: Hubble / narrow revalidation + C-->>M: 024、025 accepted;026 按要求不处理 +``` + +## 每次实际处理时间 + +### Research 与 I-EXT + +| # | Agent / 本次处理 | 时间段 | 时长 | +| --- | --------------------------------- | ----------------: | -------: | +| 1 | Singer / extension research | 02:15:23–02:20:26 | 5m02.7s | +| 2 | Leibniz / server-profile research | 02:15:23–02:20:10 | 4m46.7s | +| 3 | Plato / read-api research | 02:15:23–02:20:10 | 4m46.7s | +| 4 | Nietzsche / I-EXT initial | 02:21:48–02:33:44 | 11m56.6s | +| 5 | Mendel / 接手 I-EXT partial diff | 02:34:29–02:40:09 | 5m40.5s | +| 6 | Meitner / F-IEXT-001 repair | 02:41:11–02:47:19 | 6m07.7s | +| 7 | Peirce / I-EXT review | 02:47:51–03:00:00 | 12m09.2s | +| 8 | Faraday / I-EXT repair 1 | 03:01:03–03:05:20 | 4m17.6s | +| 9 | Peirce / I-EXT revalidation | 03:05:57–03:08:27 | 2m29.9s | + +### Server profile、WS、cutover + +| # | Agent / 本次处理 | 时间段 | 时长 | +| --- | ---------------------------------- | ----------------: | -------: | +| 10 | Gauss / I-SRV-DB initial | 03:09:12–03:19:17 | 10m05.7s | +| 11 | Peirce / DB review | 03:19:49–03:28:11 | 8m22.0s | +| 12 | Descartes / timezone repair | 03:28:56–03:33:07 | 4m11.0s | +| 13 | Peirce / DB revalidation | 03:33:38–03:34:49 | 1m11.2s | +| 14 | Ptolemy / I-SRV-WS initial | 03:36:23–03:48:38 | 12m14.4s | +| 15 | Peirce / WS review | 03:49:13–03:56:14 | 7m00.6s | +| 16 | Copernicus / direct-fact implement | 03:58:22–04:09:04 | 10m41.0s | +| 17 | Peirce / direct-fact revalidation | 04:11:01–04:14:19 | 3m18.1s | +| 18 | Goodall / future-error repair | 04:15:24–04:19:35 | 4m11.5s | +| 19 | Peirce / WS repair revalidation | 04:20:49–04:22:11 | 1m21.8s | +| 20 | Lovelace / I-CUTOVER initial | 04:23:25–04:33:46 | 10m21.6s | +| 21 | Peirce / cutover review | 04:34:43–04:41:52 | 7m08.5s | +| 22 | Godel / cutover repair | 04:42:42–04:47:45 | 5m03.0s | +| 23 | Peirce / cutover revalidation | 04:48:22–04:51:18 | 2m55.5s | + +### Read domain 与 HTTP + +| # | Agent / 本次处理 | 时间段 | 时长 | +| --- | ---------------------------------------- | ----------------: | --------: | +| 24 | James / I-READ-DOMAIN initial | 04:53:34–05:10:45 | 17m11.4s | +| 25 | Peirce / I-READ-DOMAIN attempt,未产终态 | 05:11:50–05:18:14 | 约6m24.4s | +| 26 | Kierkegaard / replacement domain review | 05:18:14–05:28:21 | 10m07.2s | +| 27 | James / domain repair 0 | 05:29:47–05:33:06 | 3m18.9s | +| 28 | Kierkegaard / domain revalidation 0 | 05:33:43–05:36:22 | 2m38.6s | +| 29 | James / domain repair 1 | 05:37:10–05:38:59 | 1m48.7s | +| 30 | Kierkegaard / domain revalidation 1 | 05:39:47–05:42:14 | 2m27.6s | +| 31 | Bohr / I-READ-HTTP initial | 05:47:05–06:04:00 | 16m55.7s | +| 32 | Gibbs / HTTP review | 06:05:03–06:18:53 | 13m49.2s | +| 33 | Bohr / HTTP repair;中途更新 repair 指令 | 06:21:53–06:49:14 | 27m21.2s | +| 34 | Gibbs / HTTP revalidation 0 | 06:32:11–06:43:52 | 11m41.5s | +| 35 | Gibbs / HTTP revalidation 1 | 06:50:15–06:54:21 | 4m06.1s | + +第 33 与第 34 段存在并行:Bohr 修复时,Gibbs 已开始独立复核。 + +### Parent final QA 与最后 quick repair + +| # | Agent / 本次处理 | 时间段 | 时长 | +| --- | ------------------------------------------ | ----------------: | -------: | +| 36 | Franklin / parent final check | 07:04:21–07:27:29 | 23m08.1s | +| 37 | Bohr / parent CORS/auth repair | 07:31:08–07:35:42 | 4m34.2s | +| 38 | Franklin / parent revalidation,工具不可用 | 07:36:25–07:38:21 | 1m56.7s | +| 39 | Dewey / fresh parent check | 07:38:37–08:10:14 | 31m36.6s | +| 40 | Jason / I-EXT repair 3a | 09:36:33–09:45:40 | 9m06.4s | +| 41 | Dewey / revalidation,工具不可用 | 09:55:21–09:56:43 | 1m22.1s | +| 42 | Hypatia / fresh check,随后 superseded | 09:57:17–10:07:42 | 10m25.5s | +| 43 | Harvey / fresh parent check | 10:08:05–10:33:41 | 25m35.9s | +| 44 | Bohr / media repair attempt,工具不可用 | 10:35:53–10:38:40 | 2m46.8s | +| 45 | Erdos / media projection repair | 10:39:03–10:49:22 | 10m19.4s | +| 46 | Noether / fresh parent check | 10:50:04–11:14:11 | 24m07.0s | +| 47 | Turing / quick repair 024、025 | 11:18:19–11:23:08 | 4m49.8s | +| 48 | Hubble / narrow revalidation 024、025 | 11:24:41–11:27:37 | 2m56.2s | + +## 交接原因 + +- Nietzsche → Mendel:超过 10 分钟无可见进度且工作树无变更,疑似挂起。 +- Mendel → Meitner:前一轮只留下 partial diff,未形成完成验证,需要继续处理明确的 F-IEXT-001。 +- Peirce → Faraday:I-EXT checker 发现两个 blocking findings。 +- Peirce → Descartes:发现 `currentTimeZone=5.5` 与 integer schema/migration 不兼容。 +- Peirce → Copernicus:发现 `conversationType: "direct"` 没有落成 conversation fact。 +- Copernicus → Goodall:direct fact 修复后,future-error precedence 仍失败。 +- Lovelace → Godel:hard cutover 后仍残留 `profile_delivery` diagnostics。 +- Peirce → Kierkegaard:原 I-READ-DOMAIN checker 无终态并变为 `not_found`,更换 checker。 +- Kierkegaard → James:projection raw contentType/type 校验发现两轮 domain blocker。 +- Gibbs → Bohr:HTTP/harness regression 需要生产修复。 +- Franklin → Dewey:Franklin revalidation 工具不可用,改派 fresh checker。 +- Dewey → Jason:发现 extension HWM/frame-size 两项 blocking。 +- Dewey → Hypatia → Harvey:Dewey 再次无工具;Hypatia 又被 superseded,最终换 Harvey 做 fresh check。 +- Harvey → Erdos:发现媒体 Base64 projection blocker,但原 server implementer Bohr 无法使用工具,改派 Erdos。 +- Noether → Turing:发现 024、025、026;用户明确不处理 harness,因此 Turing 只修 024、025。 +- Turing → Hubble:对最后两个代码修复做独立窄范围复核。 + +另有 8 次工具级 spawn 调用因 JS 语法或 fork 参数错误而失败;这些没有创建 agent,因此没有计入 agent 处理时间。 + +## 最长耗时与返工位置 + +最长单次 agent 处理是: + +- Dewey 的 fresh parent check:07:38:37–08:10:14,31m36.6s。 +- 最长实现段是 Bohr 的 I-READ-HTTP repair:06:21:53–06:49:14,27m21.2s。 +- 最长非 agent 工作等待间隔是 Dewey 报告到 Jason 接手:08:10:14–09:36:33,约 1h26m19.6s。 + +返工最集中的位置是: + +1. `apps/server/src/onetalk/read-projection.ts`:先后经历 projection 001、002、023、024,最终媒体投影是本次最密集的返工点。 +2. `apps/server/src/http/onetalk.ts`、`apps/server/src/http/app.ts`、`apps/server/src/http/harness.ts`:HTTP/harness 多轮回归;其中 026 仍未修复,按要求保留为 out-of-scope。 +3. `apps/chrome-extension/src/onetalk/service-worker/storage.ts` 与 `contact-profile-coordinator.ts`:I-EXT 初始挂起、HWM、frame-size 多轮交接。 +4. `apps/server/src/websocket/handler.ts`、`apps/server/src/websocket/diagnostics.ts`:direct fact、future-error precedence、legacy diagnostics 三次返工。