如何在LangGraph中展开多智能体绘图以显示完整系统结构
如何在LangGraph中展开多智能体绘图以显示完整系统结构
我完全懂你现在的困扰——用LangGraph搭建 supervisor 控制worker的多智能体系统时,默认生成的 supervisor 图里worker的子图是折叠状态的,得分开看两张图才能了解全貌,确实不够直观。其实咱们只需要调整绘图时的一个参数,就能在同一张图里展示完整的系统结构了。
咱们先理清楚问题根源:LangGraph为了让顶层图看起来更简洁,默认会把嵌套的子智能体子图折叠起来。但如果咱们需要完整视图,只需要在生成可视化图的时候开启展开子图的选项就行。
下面是修改后的完整代码,我标出来了关键的改动点:
from IPython.display import Image, display from langgraph.prebuilt import create_react_agent from langgraph_supervisor import create_supervisor from langchain.chat_models import init_chat_model def fn(): """Do something""" pass model_config = {"model": "gpt4-o", "model_provider": "openai"} worker = create_react_agent( model=init_chat_model(**model_config), tools=[fn], name="worker", ) supervisor = create_supervisor( model=init_chat_model(**model_config), agents=[worker], ).compile() print("Supervisor graph (展开子图后):") # 关键改动:添加expand_subgraphs=True参数,强制展开所有嵌套子图 display(Image(supervisor.get_graph().draw_mermaid_png(expand_subgraphs=True))) print("Worker graph:") display(Image(worker.get_graph().draw_mermaid_png()))
核心改动说明
- 在调用
draw_mermaid_png()方法时,传入expand_subgraphs=True参数,这个参数会告诉LangGraph不要折叠任何嵌套的子智能体图,直接在顶层 supervisor 图里展示worker的完整流程节点 - 这样生成的 supervisor 图就会把worker的所有内部节点(比如工具调用、思考步骤)都展开显示,你就能一眼看到整个多智能体系统的完整链路了
如果你的LangGraph版本比较旧,这个参数可能还没上线,那咱们可以手动处理Mermaid代码:
- 先调用
supervisor.get_graph().draw_mermaid()获取原始的Mermaid文本 - 找到所有类似
subgraph worker [worker]:::的行,把末尾的:::去掉(这是Mermaid里标记折叠子图的语法) - 再把修改后的Mermaid代码转成PNG展示
不过还是优先升级到最新版的LangGraph,用官方支持的参数更省心。
内容来源于stack exchange
相关产品推荐
相关产品推荐

