首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Agent Loop + Graph Engineer 工程:用图编排智能体循

Agent Loop + Graph Engineer 工程:用图编排智能体循

原创
作者头像
用户12778042
发布于 2026-09-22 13:41:26
发布于 2026-09-22 13:41:26
900
举报

环单循环智能体容易失控:步骤一多,逻辑就散落在提示词里。Graph Engineer 的做法是把循环拆成节点和边,让智能体的每一步都可视、可测、可回滚。

一、Agent Loop 的本质

一个基础智能体循环通常长这样:

  1. 感知:读取用户输入、工具返回、环境状态
  2. 思考:规划下一步,决定是否调用工具
  3. 行动:执行工具或输出内容
  4. 观察:拿到结果,更新状态
  5. 判断:任务完成则结束,否则回到思考

这个循环用 while 就能写。但问题在于:分支一多,代码变成意大利面;调试时不知道哪一步出错;想加人类审批,得改遍整个循环。

二、Graph Engineer 的解法

Graph Engineer 不把智能体当成一个循环,而是当成一张有向图:

  • 节点:一个具体动作,比如规划、检索、写代码、审校
  • 边:节点之间的转移条件
  • 状态:在节点间传递的共享数据
  • 入口和终点:明确开始与结束

这样,Agent Loop 变成了图上的路径。你可以可视化、可以单节点测试、可以在任意边插入人类确认。

三、少量代码:一个最小图执行器

下面这段 Python 不到 20 行,实现了一个极简图引擎,支持节点、条件边和循环。

代码语言:javascript
复制
class Graph:
    def __init__(self):
        self.nodes, self.edges = {}, {}

    def add_node(self, name, fn):
        self.nodes[name] = fn

    def add_edge(self, src, dst, cond=lambda s: True):
        self.edges.setdefault(src, []).append((dst, cond))

    def run(self, state, start="plan"):
        cur = start
        while cur != "__end__":
            state = self.nodes[cur](state)
            for nxt, cond in self.edges.get(cur, []):
                if cond(state):
                    cur = nxt
                    break
            else:
                cur = "__end__"
        return state

用它搭一个 Agent Loop:

代码语言:javascript
复制
g = Graph()
g.add_node("plan", lambda s: {**s, "step": "plan"})
g.add_node("act",  lambda s: {**s, "step": "act", "done": s.get("count", 0) >= 2})
g.add_edge("plan", "act")
g.add_edge("act", "plan", cond=lambda s: not s["done"])
g.add_edge("act", "__end__", cond=lambda s: s["done"])

print(g.run({"count": 0}))

这里 act 节点每次让 count 加一,两次后走向终点。图结构清晰表达了“规划 → 行动 → 判断是否继续”的循环。

四、工程化关键点

  1. 状态契约 每个节点只读写约定好的字段,避免隐式耦合。
  2. 条件边集中管理 所有分支逻辑放在边定义里,节点内部保持纯粹。
  3. 可观测性 在 run 里加日志:进入哪个节点、状态如何变化、走了哪条边。
  4. 人类介入节点 加一个 human_review 节点,条件边决定是否暂停等待确认。
  5. 循环上限 给图加最大步数,防止无限循环烧 token。
  6. 持久化 每步后保存状态,支持断点续跑和回放。

五、结语

Agent Loop 让智能体动起来,Graph Engineer 让智能体可控地动。 用少量代码搭一个图引擎,把循环拆成节点和边,你就有了可调试、可扩展、可审计的智能体工程底座。

先跑通最小图,再逐步加上工具、记忆、人类审批和监控。 智能体的上限,不取决于模型多强,而取决于工程多稳。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、Agent Loop 的本质
  • 二、Graph Engineer 的解法
  • 三、少量代码:一个最小图执行器
  • 四、工程化关键点
  • 五、结语
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档