环单循环智能体容易失控:步骤一多,逻辑就散落在提示词里。Graph Engineer 的做法是把循环拆成节点和边,让智能体的每一步都可视、可测、可回滚。
一个基础智能体循环通常长这样:
这个循环用 while 就能写。但问题在于:分支一多,代码变成意大利面;调试时不知道哪一步出错;想加人类审批,得改遍整个循环。
Graph Engineer 不把智能体当成一个循环,而是当成一张有向图:
这样,Agent Loop 变成了图上的路径。你可以可视化、可以单节点测试、可以在任意边插入人类确认。
下面这段 Python 不到 20 行,实现了一个极简图引擎,支持节点、条件边和循环。
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:
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 加一,两次后走向终点。图结构清晰表达了“规划 → 行动 → 判断是否继续”的循环。
run 里加日志:进入哪个节点、状态如何变化、走了哪条边。human_review 节点,条件边决定是否暂停等待确认。Agent Loop 让智能体动起来,Graph Engineer 让智能体可控地动。 用少量代码搭一个图引擎,把循环拆成节点和边,你就有了可调试、可扩展、可审计的智能体工程底座。
先跑通最小图,再逐步加上工具、记忆、人类审批和监控。 智能体的上限,不取决于模型多强,而取决于工程多稳。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。