任务
常规多智能体路径是 task 与 parallel_task 这一组核心工具。它们隔离子运行上下文,并向父 agent 返回紧凑结果,而不是完整 transcript。
同一个委派核心也驱动自动 subagent 委派。需要运行时主动为高置信工作启动
specialist 子 agent 时启用它;如果只想让自动委派串行执行,可以用
autoParallel: false 关闭自动并行 fan-out。
Web 界面可以把这些状态分别展示为计划列表和子 Agent 运行列表,并用任务 ID 关联两者。
内置 Subagents
可以显式提及它们,例如 @review、@agent-plan、use the verification subagent 或 delegate to general-purpose。
手动委派
让父 agent 委派一个有边界的子任务:
宿主已经知道任务边界时,可以直接调用 SDK helper:
子 agent 应返回紧凑契约:
- summary
- files inspected or changed
- evidence references
- risks and unknowns
- confidence
父 agent 不应吞入完整子 transcript。
并行委派
当工作彼此独立时,使用 parallel_task 或 session.tasks(...) 并发执行:
session.task(...) 和 session.tasks(...) 返回来自 task / parallel_task
工具的 ToolResult。读取 output 获取紧凑的子任务摘要,并在信任结果前检查
exitCode。session options 中的 maxParallelTasks 与 ACL 中的
max_parallel_tasks 会限制 sibling fan-out。
自动委派
自动委派默认需要显式启用。运行时会把当前请求与内置/自定义 agent 描述进行评分,并在置信度足够时启动最多 maxTasks 个子运行。
autoParallel: false / auto_parallel = false 是自动并行子 agent fan-out 的全局开关。手动 parallel_task 和 session.tasks(...) 仍然可用。
Agent 目录
通过 agentDirs、agent_dirs 或 A3S 内置目录加载自定义 agent 定义:
A3S 会扫描配置的 agent_dirs、项目/用户 .a3s/agents,以及 Claude 兼容的 .claude/agents 迁移路径。新项目优先使用 .a3s/agents。
Markdown agent 文件支持 frontmatter:
tools 字段是 allowlist。disallowedTools 是 denylist,且优先级高于 allowlist。模型路由字段不属于这个兼容层。
Worker Agents
通过 workerAgents 或 registerWorkerAgent() 注册一次性 worker agents:
确认继承
通过 confirmationInheritance 控制子运行如何处理 Ask 决策:
'auto_approve'(默认):子运行自动批准所有 Ask 决策'deny_on_ask':子运行遇到 Ask 时立即失败'inherit_parent':子运行继承父级的确认策略
旧生命周期控制面 API 已移除;需要 UI 状态时,应用应消费 streaming events、run replay,以及 Node cancelRun(runId)。
可编程编排
本页的所有内容都是模型驱动的:task / parallel_task、session.task(...) / session.tasks(...) 以及自动委派让 LLM 决定何时以及如何 fan-out。当宿主已经知道工作的形态、并希望它确定可复现时,改用 session.parallel(...)、session.pipeline(...) 和 session.parallelResumable(...) 以编程方式表达。开发者表达的 fan-out、无屏障 pipeline 以及可恢复/可迁移工作流见 编排。