Skip to content

[Refactor][OPT-07] 拆分 AgentToolNode 内部执行职责并保持行为契约 #191

Open

Description

@Aias00

当前架构决策:Workflow 独立执行,Graph 抽离为 Loop

用户已确认:Workflow 通过定义创建并独立执行,不依赖 Graph/Loop;非 Workflow Agent 同样独立执行。原 Graph 抽离为独立能力并命名为 Loop,通用身份、预算、运行管理和共享契约不因抽离而成为 Loop 专属。

本节替代早期“Graph 承载 Workflow”或“Graph 名称整体保留”的架构假设;历史路径和类名仍作为问题证据。

代码依据

private ToolCallResponse executeNeutralTool(ToolRegistry registry, ToolCallRequest request, OverAllState state,

问题与目标

AgentToolNode 同时组织参数校验、拦截器、顺序/并行调度、超时取消、执行租约、业务结果映射、状态补丁准入及错误响应。问题是执行阶段耦合和修改影响面,不能仅凭文件长度认定需要重写。

范围与方案

画出现有执行阶段顺序和失败传播契约,优先抽取内部协作者(调度/取消、调用管线、补丁提交等),保留公开 Builder/API。拆分粒度以减少职责耦合为准,避免制造无实际价值的接口或改造成新框架。

验收

与 #186 的架构方向协调,但以内部可分步重构为首选,不要求重写 Graph 引擎。

变更约束

本单来自静态代码审查,尚未运行复现或性能测试。实施先补充针对性验证;破坏性变更需比较更小/兼容方案,记录收益、消费者影响、迁移成本和版本策略。允许保留有充分理由的现有设计。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions