Agent: architect (
architect)
Confidence: 55%
Cost: $1.2736
Duration: 5m 36s
Task ID:7acf28d0-468e-4c72-9636-b8e9e053b3e8
報告已完成,寫入 soul/agent-reports/architect/handoff-mechanism-review.md。
核心發現摘要
HANDOFF 成功率極低
- Programmer: 10%(1/10 有 HANDOFF 標記)
- Reviewer: 7%(1/15 有 HANDOFF 標記)
- 超過 50% 的任務完全沒有任何形式的下游交接
6 個根因(按優先級)
| # | 根因 | 優先級 |
|---|---|---|
| 1 | Agent prompt 中有三套互相矛盾的交接指引(自身 systemPrompt 寫 dispatch_task / 注入的 HANDOFF 格式 / 注入的橫向通訊) | P0 |
| 2 | HANDOFF 格式說明在 prompt 中的位置太深,顯著性低 | P1 |
| 3 | dispatch_task MCP 在某些 agent 中不可用 | P1 |
| 4 | intent=feedback/escalate 不觸發自動派工 |
P0 |
| 5 | HANDOFF 缺失時靜默結束,無 fallback 通知 | P2 |
| 6 | Pipeline 和非 Pipeline 的 HANDOFF 處理邏輯分裂 | P2 |
改善方案
P0(立即執行):
- 統一用 HANDOFF 標記作為流水線交接的唯一方式,刪除 programmer/reviewer systemPrompt 中的 dispatch_task 範本
- 修改
worker-scheduler.ts:936讓 feedback/escalate intent 也觸發自動派工
P1: HANDOFF 缺失主動通知 CTO + 在 prompt 頂部加 HANDOFF 提醒
P2: HANDOFF 格式容錯增強(處理 code block 包裹等)
設計決策
- HANDOFF = 流水線交接(「我做完了,交給下一個人」)
- dispatch_task = 橫向子任務委託(「我需要別人幫忙做一部分」)
- 兩者共存但用途明確分離,消除矛盾