96SEO 2026-08-14 20:11 3
痛点一:不清楚如何在 LangGraph 中实现“循环”逻辑。往往只能写成线性的流程,导致业务需求无法满足。不过,
痛点二:状态累积使用不当。容易出现数据错乱或遗漏,调试成本高。话说回来,

痛点三:条件分支写错后图会卡死或无限循环。却难以定位根因,
这里通过一个完整示例。手把手演示如何利用 add_conditional_edges 实现“条件循环”,并结合 reducer 自动累积每一步的执行记录,最终导出流程图 PNG。
这篇文章使用的运行环境如下:
Python 3.10+
LangGraph
typing-extensions
安装依赖的观点是,
python -m pip install -U langgraph typing-extensions
我们通过 TypedDict + Annotated 的方式声明一个可以自动合并的列表字段:
import operator
from typing import Annotated。Any
from typing_extensions import TypedDict
class State:
# 使用 list 的加法来累计每个节点返回的记录
aggregate: Annotated,operator.add]
Annotated,operator.add] 表示 aggregate 是列表,并在每次节点返回时执行列表拼接(+)。
再看例如,
+ # →
主要路由函数决定接下来是继续循环还是结束:
from typing import Literal
def router -> Literal:
# 当累计记录不足 6 条时继续循环。否则结束
if len <6:
return "step2"
return "end"
"step2"进入下一轮循环;"end"触发图的终止节点。
随后使用 add_conditional_edges 把路由返回值映射到真实节点或 END:
graph_builder.add_conditional_edges( "step1",router,{ "step2": "step2",# 正常流向 至于"end",END,# 特殊终点,需要映射到 LangGraph 提供的 END 常量 }。)
graph_builder.add_edge
graph_builder.add_edge
graph_builder.add_edge
graph_builder.add_edge # 回到路由,实现循环
关键点:每次执行完 step4 后都会回到 step1,触发 router,从而动态决定是否继续。
import operator from typing import Annotated,Any,Literal from langgraph.graph import END,START,StateGraph from typing_extensions import TypedDict # ---------- 状态定义 ---------- class State: aggregate: Annotated。operator.add] # ---------- 各步骤 ---------- def step1: print return {"aggregate": } def step2: print return {"aggregate": } def step3: print return {"aggregate": } def step4: print return {"aggregate": } # ---------- 路由函数 ---------- def router -> Literal: if len <6: return "step2" return "end" # ---------- 构建图 ---------- graph_builder = StateGraph # 添加节点 graph_builder.add_node.add_node.add_node.add_node # 起始边 + 条件边 graph_builder.add_edge graph_builder.add_conditional_edges( "step1", router, { "step2": "step2", "end": END, }, ) # 循环路径 graph_builder.add_edge graph_builder.add_edge graph_builder.add_edge # 此行仅作占位说明,请忽略 # 编译图并导出 PNG graph = graph_builder.compile png_bytes = graph.get_graph.draw_mermaid_png with open as f: f.write # 执行图 result = graph.invoke print
python index.py
。这是 step1这是 step25步步步步步5步8 步9 步10 步11 步12 步13 步14 步15 步16 执行结果: {' aggregate ': }
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback