内置 agent
子代理不直接与用户对话,结果返回主代理。具备命令执行能力的角色仍可执行写入操作,实际行为受工具权限约束。
自定义 agent
使用 Markdown frontmatter 定义角色,正文作为系统指令:tools 可以使用数组或逗号分隔列表。项目角色需显式纳入发现范围,调用时通过 agentScope: "both" 启用,并按提示确认。
专项工作流的定义见Agent Skills。
通过插件分发 Agent 的方式见插件。
subagent 工具
single、parallel 与 chain
任务批次并行上限为 8,默认执行并发为 4。调度仍受当前权限策略约束。子代理不再递归创建子代理。
您可以通过自然语言授权主代理使用这些能力:
后台 lane
设置run_in_background: true 创建后台子代理任务(lane),立即返回其 ID 和别名,完成时通过通知消息送达。agent_send 支持 reply(排队或立即插入)和 stop,可按 agent_id、alias、group 或 all 寻址。
后台任务需保持 Step Code 进程运行。
workflow 与 ultraloop
workflow 在无网络、无文件系统的沙箱 VM 中运行 JavaScript 编排脚本,提供phase()、parallel()、pipeline()、agent() 和 iterate() 原语。运行记录保存在项目 .stepcode/workflows/runs/,支持断点续跑,使用 /workflows 查看已保存的 workflow 与近期运行。
ultraloop 或 ultracode,或使用 /ultraloop on 开启会话级授权、/ultraloop off 关闭。单条消息的授权不自动延续,也不从任务规模推断。
STEP_DISABLE_WORKFLOW=1 禁用注册。
多代理任务示例见常见使用案例。
上下文隔离与安全
沙箱 VM 的限制仅作用于 workflow 编排脚本,子任务进程仍受操作系统权限控制。- 子代理拥有独立上下文和用量,主代理主要接收结果摘要。
- 子代理可能与主代理共享工作目录,文件修改会作用于同一工作树。
- 并行写入时应划分互不重叠的文件,或明确安排独立 Git worktree。
- Git worktree 只隔离工作树,不限制其他目录、网络或凭据访问。
- 完成后先检查差异和测试,再合并结果;未合并改动不要直接清理。

