AgentTree — 精英指挥 N 个 AI 的最小指挥台
一句话:让精英在「拍板方案」和「验收收束」两个判断点之间,默认不被打扰、又能随时把手伸进任意一个执行节点的 agent 指挥台。
公理见
精英定律.md(瓶颈是判断不是执行,只放大水面之上的人)。上游见规划.md(工作台 = 1 个节点的指挥台;AgentTree = N 个节点的指挥台,右半边一模一样)。
真需求(现在正在疼)
同时开 8 个 Claude Code 窗口干活,瓶颈不在写代码,在管理任务:哪个在等我、哪个空跑、哪个跑偏——得挨个点过去看(O(n) 扫描),切过去还得重读上下文才想起它在干嘛。没有总览。
拓扑:头尾判断,中间执行
你 ⇄ 主agent 反复讨论 → 你拍板✅ → 路线图 ← 判断(品味批发,一次打满方向)
│ 主agent 生孩子
┌─────────────┼─────────────┐
孩子1 孩子2 ... 孩子N ← 执行(你默认不看;可逆决策自走)
└──────┬──────┴──────┬──────┘
│ 你随时可 pull 任一孩子:接管 / 改约束 / kill / fork
│ (主agent 同步感知,共享同一棵树的状态)
主agent 收束 → 一屏判断锚点 + "我替你拍的几处"
│
你验收拍板 ← 判断(品味验收)判断只在两个点出现(拍板、验收),中间 N 个孩子跑,一眼不用看。 收拢的是注意力,完全的是权限——不打扰 ≠ 不可达。这两个不矛盾,正是「精英指挥更多 AI」的机械形式。
三个不可旁路的设计约束(全从公理推出)
判断收束,不是机器收束:主 agent 不替你拍板,它把 N 个孩子降维成你 30 秒能判的一屏;拍板权留你手里。机器自动合 = 退回降门槛(谁都能跑,无需品味)。
执行期默认不打扰:孩子遇到拿不准的,先做可逆默认决策 + 打标记,收束时连结果一起报「我替你拍了这几处」;不可逆才升级找你。你的判断不被零售。
随时可干预 ≠ 随时必须干预:方向是 pull(你想看谁/停谁就伸手),不是 push(孩子卡住弹你)。你一干预,主 agent 必须感知——你和它是同一棵树上的两只手。
最小形态(MVP)
┌──────────────────────┬─────────────────────────┐
│ 左:节点运行图 │ 右:选中节点详情 │
│ (workflow tree) │ (Claude Code CLI UI) │
│ ● 主agent │ $ claude ... │
│ ├─○ 孩子1 ●跑偏 │ > 正在执行… │
│ ├─○ 孩子2 ✓ │ [tool: edit foo.ts] │
│ └─○ 孩子3 ⟳ │ … │
└──────────────────────┴─────────────────────────┘
扫这里挑出要管的 点进去看原因 / 接管左=节点运行图。一眼扫出「哪几个要我」,不用挨个点。
右=选中节点详情,就是一个 Claude Code 命令行 UI。现在这样就够。
工程结论:右边已经有了,只剩左边
右半边 = 工作台 规划.md 里已落地、已真机验证的那套:spawn claude headless → stream-json → 用 Chat Poi 的 Markdown + ToolCallsDisplay 自己画。spawn/kill/--resume IPC、读 jsonl 拿状态,全是现成的。
最小形态唯一的新活:把「1 个 spawn 会话」扩成「一棵 spawn 会话树」——左边画出来,点哪个节点右边切到哪个会话。 其余复用工作台。
公理已砍掉的(不在最小形态里,别加回来)
任务市场 / 「100 并发·微型字节」当卖点 / 「通用图灵机」当灵魂(应为「最小声明·可判」) / 大众定位句 / 操盘手用户画像 / 按 token 或槽位定价。理由见 精英定律.md 推论三。
命名
候选 AgentTree(树是核心数据结构)。定位句:技术人「Kubernetes for AI Agents」;程序员「像管 git 分支一样管 agent」。注意避开 workflow(被 n8n/Anthropic Dynamic Workflows 占了)。