跳转至

Graph(工作流)

将多个智能体编排为结构化工作流,解决复杂任务。

核心概念

节点与边

组件 说明
节点 执行任务的智能体或子图
显示节点间数据流的连接
start 接收用户输入的入口
end 返回最终输出的出口

执行流程

图按层级逐层执行:

  1. 层级计算 - 系统根据连接关系确定执行顺序
  2. 顺序执行 - 同一层级的节点依次运行
  3. 数据传递 - 每个节点接收其输入节点的输出
  4. 最终输出 - 使用模板组合多个节点的结果

图类型

类型 说明 适用场景
线性图 简单链式:A → B → C → D 路径单一,步骤清晰
并行图 多路径最终汇聚 独立任务合并结果
条件图 基于 Handoffs 的分支 需要动态选择路径
嵌套图 包含子图的图 复用复杂工作流

核心功能

子图

将整个图嵌套为单个节点,实现复杂工作流的模块化和复用。

主工作流:

graph LR
    Start([开始]) --> Research[研究子图]
    Research --> QualityCheck{质量检查}
    QualityCheck -->|需要更多信息| Research
    QualityCheck -->|信息充足| Writing[写作子图]
    Writing --> Review{审核}
    Review -->|需要修改| Writing
    Review -->|通过| End([结束])

研究子图内部结构:

graph LR
    S1[深度搜索] --> S2[信息筛选]
    S2 --> S3[数据整合]
    S3 --> S4{验证完整性}
    S4 -->|信息不足| S1
    S4 -->|完整| S5[生成摘要]

写作子图内部结构:

graph LR
    W1[大纲生成] --> W2[内容撰写]
    W2 --> W3[格式优化]
    W3 --> W4{自检质量}
    W4 -->|需要改进| W2
    W4 -->|达标| W5[最终润色]

示例说明:

这个复杂工作流展示了两个子图的协作:

  • 研究子图:深度搜索 → 信息筛选 → 数据整合 → 验证完整性(不足则循环)→ 生成摘要
  • 写作子图:大纲生成 → 内容撰写 → 格式优化 → 自检质量(需改进则循环)→ 最终润色
  • 质量检查循环:如果研究信息不足,循环回研究子图继续收集
  • 审核循环:如果写作质量不达标,循环回写作子图进行修改
  • 子图内部循环:每个子图内部也有自己的质量验证和迭代机制

优势: - 复用复杂工作流 - 组织大型图 - 跨项目共享逻辑 - 支持迭代优化循环

Handoffs

让节点动态选择下一个节点,实现智能路由和迭代优化:

graph LR
    Start([开始]) --> Classifier[智能分类器<br/>handoffs: 3]
    Classifier -->|简单问题| Quick[快速响应]
    Classifier -->|需要研究| Research[深度研究]
    Classifier -->|需要计算| Compute[数据计算]

    Quick --> End([结束])
    Research --> Validator{结果验证<br/>handoffs: 2}
    Compute --> Validator

    Validator -->|需要补充| Classifier
    Validator -->|结果可靠| Formatter[格式化输出]
    Formatter --> End

示例说明:

这个工作流展示了 Handoffs 的多层智能决策能力:

  • 智能分类器(handoffs 节点):根据问题复杂度动态选择三条路径之一
  • 简单问题 → 快速响应直接结束
  • 需要研究 → 深度研究节点
  • 需要计算 → 数据计算节点
  • 结果验证(handoffs 节点):评估研究或计算结果的可靠性
  • 如果需要补充信息,循环回分类器重新处理
  • 如果结果可靠,进入格式化输出
  • 迭代优化:最多 3 次分类尝试和 2 次验证循环,确保输出质量

Handoffs 让 Agent 根据实际情况智能选择执行路径,而不是遵循固定的分支逻辑。

何时使用 Graph

使用场景 示例
多阶段流程 研究 → 分析 → 报告生成
专业智能体协作 SEO 专家 + 撰稿人 + 编辑协同工作
可靠工作流 需要可预测行为的生产系统
可复用流程 跨项目共享的常用工作流

Graph vs. Agent

选择合适的方式:

特性 Graph(工作流) Agent(智能体)
结构 预定义节点和边 自由形式,自主决策
最适合 结构化流程 开放式任务
控制 您设计流程 模型决定下一步
可预测性 高 - 每次路径相同 可变 - 适应具体情况

使用 Graph 获得可靠性,使用 Agent 获得灵活性。

下一步