将自定义的同步子代理定义为 Markdown 文件,以便 Deep Agents Code 可以将专门的任务委派给它们。
目前,Deep Agents Code 尚不支持面向最终用户的异步子代理。
每个子代理都位于其专属文件夹中,并包含一个 AGENTS.md 文件:
项目子代理会覆盖同名的用户子代理(请参阅优先级规则)。 frontmatter 需要 name 和 description 字段(与 SubAgent 字典规范 相同)。Markdown 正文将成为子代理的 system_prompt。除了基本规范外,AGENTS.md 文件还支持一个可选的 model frontmatter 字段,该字段会覆盖此子代理使用的主要代理模型。请使用 provider:model-name 格式(例如,anthropic:claude-opus-4-8、openai:gpt-5.5)。若省略此字段,则继承主要代理的模型。
其他 SubAgent 字段(tools、middleware、interrupt_on、skills)目前无法通过 AGENTS.md frontmatter 配置——以此方式定义的自定义子代理将继承主要代理的工具。如需完全控制,请直接使用 SDK。

文件格式

子代理的 AGENTS.md 文件使用 YAML frontmatter,后跟 Markdown 正文:

动态子代理

dcode 默认启用了代码解释器,因此动态子代理可以开箱即用。 要触发动态子代理,请请求一个“工作流”。代理不会自己执行工作或通过其原生的 task 工具管理扇出,而是编写一个编排脚本,该脚本调用内置的 task() 全局函数并在代码解释器中运行。例如:“运行一个工作流来检查 src/ 中的每个文件是否存在 SQL 注入。” 随着子代理的生成,dcode 会在动态子代理面板中实时显示它们,并按调度分组到各个阶段。
dcode 动态子代理面板显示按调度分组到各阶段的已生成子代理
你也可以在你选择的编码代理中通过 ACP(例如 Zed)使用动态子代理。

示例:成本高效的子代理

对于简单的委派任务,使用更便宜、更快的模型,同时将主要代理保留在能力更强的模型上:
这会覆盖内置的通用子代理,将所有委派任务路由到更便宜的模型。更多信息请参阅覆盖通用子代理。