Agent / 工程
图工程如何驯服AI代理
图工程并非新概念,而是构建可靠代理系统的成熟方法。LangChain团队基于LangGraph三年实践,总结出代理图通常不是有向无环图,循环是核心;循环本质上是简单图;动态转换至关重要,节点需在运行时决定工作分配。图工程允许开发者将领域知识编码到工作流中,在确定性路径与代理步骤间取得平衡,从而构建更可控、更高效的AI系统。
图工程作为最新术语,与提示工程、上下文工程等一脉相承,反映了开发者面对大语言模型非鲁棒、非确定性特性时的真实挑战。LangChain团队三年前推出LangGraph,正是为了帮助开发者以图结构构建代理系统。如今LangGraph月下载量超6500万次,被初创企业和大型企业广泛采用,其成功关键在于平衡了确定性路径与代理步骤。
在LangGraph中,节点执行具体工作,可以是确定性代码、单次LLM调用、工具调用或包含内部循环的完整代理。边则定义下一步走向,部分边是确定性的,部分基于节点结果、当前状态或外部信号条件判断。这种状态机设计让开发者能直接编码工作流中的有效路径,在需要时让模型自主选择,在关键环节强制确定性行为。
实际代理工作流往往具有可预测结构:支持代理先分类问题再回答或升级,编码代理先检查仓库再提议修改,合规工作流需审批后才能执行外部操作。图结构让开发者将领域知识直接嵌入系统,就像提示词将领域知识注入代理一样。例如知识库代理使用三个子代理分别搜索GitHub、Notion和Slack,工作流分为分类、搜索、合成三个阶段,模型只在增值环节推理,其余由代码处理。
并非所有任务都适合图结构。深度研究等高度代理化任务,强制使用确定性路径反而适得其反。GPT Researcher最初使用图结构多代理管道,后来转向更代理化的核心循环,让规划、委托和上下文管理在框架中自然涌现。这提示开发者:当任务路径难以预先定义时,应选择更灵活的代理框架。
三年实践揭示三个关键洞察:第一,生产级代理图通常不是有向无环图,需要循环来重试失败工具调用、请求缺失信息、验证后修订答案等。第二,循环本质上是简单图,循环工程并非图的替代方案。第三,动态转换至关重要,节点需在运行时决定工作分配,如Map-reduce模式中工作节点数量取决于输入。LangGraph通过Send机制支持这种动态路由。
图工程的新意在于节点内容的变化。早期节点是确定性代码或单次LLM调用,如今代理足够可靠,节点可以是一个完整代理的运行。编码代理是典型例子,将其作为节点嵌入更大图结构已成为实用模式。文档代理将Slack请求转化为待审拉取请求,每个节点在确定性到代理化的光谱上处于不同位置,实现了灵活而可控的系统设计。
要点
- 图工程允许开发者将领域知识编码到工作流中,在确定性路径与代理步骤间取得平衡。
- 生产级代理图通常需要循环,而非有向无环图,循环是代理系统的核心。
- 动态转换至关重要,节点需在运行时决定工作分配,如Map-reduce模式。
- 节点内容已从确定性代码或单次LLM调用演变为完整代理运行,如编码代理。
- 高度代理化任务如深度研究,强制使用图结构可能适得其反,应选择更灵活的框架。
原始标题:3 Years of Graph Engineering with LangGraph
本文由 DataHub 基于公开来源整理,用于信息发现与摘要阅读;具体事实、数据和后续更新以原始来源为准。