§06 子代理与编排
DeerFlow 的主代理(lead agent)不把所有活都自己干。遇到复杂任务,它进入编排者模式(Orchestrator Mode),把任务拆成并行子任务,甩给多个子代理同时跑,最后自己只做综合。
官方 prompt 里写得很直白:
You are a task orchestrator - decompose complex tasks into parallel sub-tasks and launch multiple subagents simultaneously. Synthesize results, don't execute directly.
翻译过来:你是调度员,不是执行员。拆、派、合,三件事。
两个内置纪律
主代理的 prompt 里还钉了两条铁律,对你写自己的代理很有参考:
- 先澄清,再动手(Clarification First):
ALWAYS clarify unclear/missing/ambiguous requirements BEFORE starting work - never assume or guess
代理在需求模糊时,会调用 ask_clarification 反问你,而不是直接猜。
- 复杂任务先找技能(Skill First):遇到复杂任务,先加载相关 Skill,再动手。
轮次预算
子代理不是无限跑。系统有 MAX_TURNS_REACHED 这样的轮次上限做保护。任务太深、循环太久,会被预算打断,避免烧光 token 还不出结果。
标叔的结论:DeerFlow 的「编排」不是花活,是工程约束。并行 + 预算 + 先澄清,三件套把「代理跑飞」的概率压到了最低。你自定义代理时,这套纪律值得抄。
技能是 DeerFlow 扩展性的核心。下一章细说。