AI-Workshop 文献分享 2026-07-25 21:30

AI-Workshop 文献分享 #13 — 从 Loop 到 Graph:Agent 工作流的演进

qyr 分享 Agent 工作流工程——从 Tool 调用闭环、Loop 状态机与终止条件,到 Graph 的节点边组织方式,分析 Loop 与 Graph 各自的适用场景与演进方向。

AI-Workshop 文献分享 Agent工程 工作流 Loop Graph

AI-Workshop 文献分享 #13 -- 从 Loop 到 Graph:Agent 工作流的演进

分享人:qyr | 日期:2026-07-25

主题:Agent 工作流工程——Tool 调用、Loop 与 Graph


一、Agent 工程回顾

LLM 本身是无状态的:没有记忆、不能调用工具、不会自行调整策略。

Agent 工程为其补齐四项基础能力:

能力 要解决的问题
记忆(Memory) 如何保留并复用较早发生的信息
上下文(Context) 如何根据任务自动构建合适的提示词
工具(Tool) 如何让 LLM 操作数据库、文件或外部设备
工作流(Workflow) 如何让 Agent 持续推进多步骤任务

二、Tool:让 LLM 触发真实操作

Tool 本质上是开发者定义的函数。LLM 不直接执行函数,而是生成结构化的调用意图;本地运行时执行对应函数并将结果回传给 LLM。

工具调用闭环: 1. LLM 根据任务选择合适的工具 2. LLM 返回工具调用 ID 与结构化输入 3. 本地运行时根据 ID 执行对应函数 4. 将执行结果返回给 LLM 5. LLM 基于结果继续推理或生成最终回答

关键边界:LLM 始终只处理文本或结构化消息;函数的真实执行发生在本地工具运行时。


三、Loop 工程

3.1 要解决的问题

复杂任务无法在单次模型调用中完成。Loop 的目标是让 Agent 自行推进过程,而非让用户充当流程调度器。

3.2 核心机制

状态 -> 决策 -> 执行 -> 更新状态 的循环,直到收到结束信号。

3.3 Hermes 的 Loop Orchestrator

使用状态机持续记录:循环次数、当前计划、上一轮结果、工具调用状态、资源使用情况。

终止条件: - 任务结果:成功完成或失败 - 资源限制:循环次数、Token 或执行时间达到上限 - 人工控制:用户手动停止 - 异常情况:不可恢复的错误

判断任务完成的两层信号: 1. 模型 finish 字段(stop 视为完成,length/content_filter/tool_calls 则不视为完成) 2. 工具调用检查(仍有 tool_calls 说明任务未结束)


四、Graph 工程

4.1 为什么从 Loop 走向 Graph

Loop 擅长处理持续迭代的任务,但内部过程通常是隐式的。Graph 用图结构显式表达工作流:

  • 节点(Node):任务、Agent、工具调用或人工审批步骤
  • 边(Edge):依赖关系、路由规则或状态转移

4.2 Work Graph 的能力

能力 在图中的表现
循环 节点通过回边再次进入之前阶段
并行任务 多个分支同时执行,汇聚节点合并结果
人机协作 关键节点暂停,等待人工确认
持久化 节点边界保存 checkpoint
条件路由 根据状态选择不同执行路径

4.3 Loop vs Graph

维度 Loop Graph
适用场景 单一目标、连续迭代 多步骤、分支、并行、需人工介入
流程可见性 内部过程相对隐式 节点与依赖关系明确可见
控制方式 是否继续下一轮 当前状态应流向哪个节点
扩展能力 复杂流程时逻辑易堆积 可模块化扩展
典型风险 状态与异常处理混杂 图规模过大需治理

Graph 不是对 Loop 的简单替换。Loop 可看作 Graph 中的一种局部结构。

4.4 演进方向

  1. Organization Graph:从单 Agent 到多 Agent 分工协作
  2. Dynamic Work Graph:Agent 根据任务动态构建工作图
  3. 动态组织图 + 动态工作图:自主决定团队结构与执行路径

五、总结

  1. Agent 工程为无状态 LLM 补齐记忆、上下文、工具与工作流能力
  2. Tool 将模型调用意图与本地真实执行解耦
  3. Loop 通过状态机与终止条件让 Agent 自主推进多步骤任务
  4. Graph 用节点和边显式组织任务依赖,适合并行、分支与人机协作
  5. 未来关键不只是让 Agent 循环得更久,而是构建可观测、可编排、可动态调整的工作图