openheron
第 5 章

多 Agent 与委派

5.1 谁能委派给谁

在 Agent 的 frontmatter 里声明:

---
model: deepseek/deepseek-flash
subagents: [task]
---

这表示「这个 Agent 可以把活派给 task」。

★ 引用不存在的 Agent、或者声明成环,都是启动错误,不会被静默截断。

5.2 深度上限

深度上限由 server/config.yaml 的 agent.max_depth 和 policy/limits.yaml 的同名项 共同决定,取更严的。默认 1,意思是「只有入口 Agent 能委派,子 Agent 不能再生子」。

想跑更深的委派链:

# policy/limits.yaml
agent:
  max_depth: 3

★ 声明的拓扑超过上限是启动错误,不是「截断到上限然后继续跑」。 后者会让深度保护形同虚设。

5.3 一次会话能同时跑多个 Agent

互不依赖的活可以并行分派。用量按 Agent 分账(/v2/sessions/{id}/messages 的 usage.byAgent),谁花了多少一目了然。

在界面上:

  • 会话列表左边的 Agent 徽标可以按 Agent 过滤历史。
  • 消息里的子 Agent 产出带归属标记,能看到是谁做的。