Skip to content

【实现】 Agent Loop 重构 Phase 4:混合路由、Planner 与并行 Explore #726

@wynxing

Description

@wynxing

关联 RFC / 架构

目标问题

现有主模型通过普通 ReAct 和 inline spawn_subagent 临场决定是否探索、规划和委派,流程不可校验、不可稳定复现,也不能保证复杂任务获得隔离的并行探索。需要在 Scheduler 上实现混合路由和受约束 Planner,让简单任务保持快速,复杂任务获得明确的 Explore、Synthesize、Execute、Verify 流程。

实现设计(How)

  • Intake 首先执行确定性门禁:Plan 模式、显式调研/架构、多目标任务进入 orchestrated;禁用工具且无需仓库事实的纯问答进入 fast。
  • 其余任务调用无工具 Router,输出 route、reason、confidence 和 exploration axes;非法、超时或低置信度回退 orchestrated。
  • Fast 使用固定 execute -> verify -> finalize 模板。
  • Orchestrated Planner 只能生成 Explore 任务、依赖和预期 Artifact;Orchestrator 注入 Synthesize、Execute、Verify、Finalize 和 Plan approval 控制态。
  • 并行 Explore 使用 researcher 只读能力和独立 transcript,至少一个成功才允许部分汇总;全部失败终止。
  • Synthesize 消费 Findings Artifacts 生成结构化 Plan/Acceptance;Plan 模式等待 【提案】 为计划模式补齐 Gateway 计划审批 RPC #688 语义一致的 revision 审批,Build 模式自动执行。
  • Verify 输出 accepted/failed 和结构化证据;失败在 max_replans 内返回 Synthesize/Execute,超过上限终止。
  • Execute 主模型不再暴露 spawn_subagent;运行中发现信息缺口时通过结构化 replan 请求交回 Orchestrator。

影响模块:Runtime orchestration、角色 prompt、Planner/Router schema、Plan approval bridge、subagent tool exposure 和测试评测。

边界与非目标:不允许模型定义任意 NodeKind、能力或失败策略;不实现自动模型选择;不实现并行写者。

任务拆解

  • 定义 RouteDecision schema、规则门禁和 fallback。
  • 定义 Planner schema、DAG 约束和一次修正调用。
  • 实现 fast/orchestrated 工作流模板生成。
  • 接入并行 Explore 和 Findings Artifact 合并条件。
  • 实现 Synthesize Plan、acceptance checks 和 Plan mode approval 状态。
  • 实现 Build 自动执行与 stale plan revision 拒绝。
  • 实现 Verify/Replan 上限和失败反馈 Artifact。
  • 从 Execute 工具列表移除 inline spawn_subagent,并提供 replan 控制结果。
  • 为 Router/Planner/Explorer/Reviewer 接入角色模型配置解析。
  • 更新 Plan/Build、子 Agent 和验收文档。

测试与验证(Done)

  • 正常路径:纯问答 fast、简单修复 fast、复杂修复 orchestrated、并行 Explore、Plan 审批和 Build 自动执行。
  • 边界条件:Router 低置信度、Planner 空节点、重复探索轴、单个 Explore 成功和 replan 达上限。
  • 异常分支:Router/Planner provider 错误、非法 JSON、全部 Explore 失败、审批 revision 过期和 Verify 基础设施错误。
  • 权限:Explore/Synthesize/Verify 无法看到写工具,Execute 无法直接 spawn 子 Agent。
  • 确定性:同一合法 Planner 输出生成相同规范化 DAG 和 digest。
  • 质量:【实现】 Agent Loop 重构 Phase 0:建立任务质量评测基线与迁移护栏 #722 复杂任务成功率高于基线;fast 路径延迟和 token 没有不可接受退化。
  • go test ./... 通过,新增修改逻辑达到 100% 覆盖目标。

风险与回滚

  • 风险:路由误判增加成本或降低质量。非法/低置信度优先 orchestrated,并以评测调节门禁。
  • 风险:Planner 生成不稳定图。节点类型与边固定、严格 schema 校验、只允许一次修正。
  • 风险:多阶段流程过度规划。fast 模板保留直接执行路径。
  • 回滚:关闭模型路由并固定 fast 模板,保留 Scheduler 和 AgentLoop;不需要回滚持久化 schema。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions