V1 提供一套与具体业务无关的显式任务闭环:主 Agent 负责规划和决策,Worker 只执行,Validator 只评估。Worker 或 Validator 的 Trace 结束都不等于 Task 完成。
Planner -> Task -> Worker Attempt -> Artifact Snapshot
-> independent Validator -> Planner Decision
legacy_auto:默认值。保留原有 agent、evaluate、goal 和 Goal 父节点级联语义。explicit_validation:启用 V1。只能配合带 planner、worker、validator role 的 preset 使用,且必须先装配 TaskCoordinator。显式模式的状态由 TaskLedger 决定。GoalTree 只用于兼容展示;二者不一致时可调用 TaskCoordinator.reconcile_goal_tree() 修复 Goal 投影。
from agent import (
AgentRunner,
FileSystemTraceStore,
FileSystemTaskStore,
FileSystemArtifactStore,
OrchestrationConfig,
wire_orchestration,
)
trace_store = FileSystemTraceStore(".trace")
runner = AgentRunner(trace_store=trace_store, llm_call=my_llm_call)
coordinator = wire_orchestration(
runner,
FileSystemTaskStore(".trace"),
FileSystemArtifactStore(".trace"),
OrchestrationConfig(max_parallel_tasks=4),
)
主 Agent 使用:
from agent import CompletionPolicy, RunConfig
config = RunConfig(
agent_type="planner",
completion_policy=CompletionPolicy.EXPLICIT_VALIDATION,
tool_groups=None,
)
result = await runner.run_result(
[{"role": "user", "content": "根据目标制定任务树并执行;每个任务必须独立验证。"}],
config,
)
通过 invoke_agent() 启动本地项目时,如果项目 RUN_CONFIG 使用 explicit_validation,SDK 会用项目的 TRACE_STORE_PATH 自动装配文件 Store。项目可以在 config.py 暴露 ORCHESTRATION_CONFIG 覆盖并行度和 preset 名称。
Planner:
task_plan:创建顶层/子 Task、插入同级 Task、切换焦点。dispatch_tasks:运行一个或多个互相隔离的 Worker→Validator 闭环。task_decide:执行 accept、repair、retry、revise、split、block、unblock、cancel、supersede。validate_attempt:仅在 Validator error、stopped、expired 后,对未变化的 Snapshot 发起新 Validator Trace。Worker 只能使用 submit_attempt 正式交付。Validator 只能使用 submit_validation 正式提交结构化报告。二者都是 terminal tool:结果会先写入 Trace,然后结束当前 Agent Loop。
agent、evaluate、goal 或 Planner/Validator 工具。read + validation_submit,Worker 不允许 agent_spawn 和 task_control。submit_attempt,Attempt 失败,Task 进入 needs_replan。submit_validation,Validation 状态为 error,不是业务 failed。passed 只让 Task 进入 awaiting_decision;只有 Planner 对当前版本、当前 Attempt、当前 Snapshot 执行 accept 才完成。failed、inconclusive 没有 override 接受入口。needs_replan,不会自动完成。默认目录:
.trace/{root_trace_id}/orchestration/
├── ledger.json
├── artifacts/{snapshot_id}.json
└── events.jsonl
TaskStore、ArtifactStore、AgentExecutor、ToolPolicy、EventSink 都是端口。V2 可增加远程执行器和公开 API,V3 可增加队列与分布式 Store,而不改变 Task 状态机和 Coordinator 决策语义。
legacy_auto。