LangGraph Studio 可视化调试指南:从零配置 LangGraph + LangSmith 智能体工作流

如何使用LangGraph studio 可视化查看工作流?


配置文件清单(项目根目录结构)

一个标准的、准备好接入 Studio 的项目目录应该是这样的:

text 复制代码
my_agent_project/
├── .env                #  1. 环境变量配置(密钥)
├── langgraph.json      #  2. Studio 核心配置文件(导航图)
└── agent.py            #  3. 你的图逻辑代码(引擎)

详细配置步骤

第一步:配置密钥环境 (.env 文件)

在使用 Studio 时,强烈建议把密钥抽离出来,Studio 在启动时会自动读取它们。

在项目根目录新建一个名为 .env 的文本文件,填入你的配置:

env 复制代码
# .env 文件内容
DEEPSEEK_API_KEY=sk-da217ba... (你的真实密钥)

# LangSmith 追踪配置 (强烈建议开启,Studio 严重依赖它)
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=lsv2_pt_... (你的真实密钥)

(在 Python 代码里,可以把 os.environ["..."] = "..." 那些硬编码删掉了。)

第二步:配置 Studio 导航仪 (langgraph.json)

这是启动 Studio 最核心的配置文件。它告诉 Studio 该去哪里加载代码、加载哪些依赖。 (强烈建议就取名为Langgraph.json,大小写无所谓。这样LangStudio就会自动识别到)

在项目根目录新建 langgraph.json,复制以下标准模板:

json 复制代码
{
  "dependencies": ["."],
  "graphs": {
    "math_agent": "./agent.py:agent"
  },
  "env": ".env"
}
 

配置项深度解析:

  • "dependencies": ["."]:告诉 Studio,项目运行所需的依赖就在当前目录。
  • "graphs":这是核心。你可以把它理解为一个注册表。
    • "math_agent":这是你的图在 Studio 左上角下拉菜单里显示的UI 名称 (你可以随便起,比如 DeepSeek_Calculator)。
    • "./agent.py:agent":这是物理路径映射 。冒号前面是 Python 文件相对路径,冒号后面是你代码中 builder.compile() 赋值的那个变量名。
  • "env": ".env":明确告诉 Studio 去读取刚才第一步配置的密钥文件。
第三步:代码端"去记忆化"配置 (agent.py)

为了让 Studio 接管可视化和时光倒流功能,你的代码在导出给 Studio 使用时,必须是"裸编译"的。

确保你的 agent.py 文件底部是这样配置的:

python 复制代码
# ... 前面的 Nodes 和 Edges 逻辑保持不变 ...

builder = StateGraph(MessagesState)
builder.add_node("llm_node", llm_node)
# ... 其他连线 ...

# 【关键配置】:不要加 checkpointer=MemorySaver()
agent = builder.compile() 

# 上面这个叫 "agent" 的变量,必须和 langgraph.json 里冒号后面的名字完全一致!

最终启动与验证

1. 启动服务 在项目根目录打开终端(进入到当前项目的父目录),输入:

bash 复制代码
langgraph dev

参考示例如下:输入cd graph_api

2. 进入界面 在终端打印出的图案下方,找到 Studio UI 的链接: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024

按住 Ctrl (或 Cmd) 点击它,浏览器就会自动打开。

Lang Studio 可视化面板

三大核心控制面板:

当你打开 Studio,整个界面大致分为左、中、右三个核心工作区:

  1. 左侧面板 (Threads & Config):会话与配置中心
    • Threads (线程) :这里管理着你的"记忆"。你在代码里用 MemorySaver 实现的记忆,在这里被具象化了。每次新建一个 Thread,就相当于开了一个全新的干净对话上下文。
    • Configuration:如果你在代码里定义了可配置项(比如切换模型种类、系统提示词),可以在这里实时调整,无需改代码。
  2. 中间面板 (Interaction):交互与时间轴
    • 这是你与 Agent 互动的区域(类似于 ChatGPT 的聊天框)。
    • 神级细节 :当你发送消息后,这里不仅会显示最终结果,还会以时间轴 的形式,列出 Agent 经历的每一个步骤 (Steps)。
  3. 右侧面板 (Graph & State):全局视野与 X 光机
    • Graph 视图:完美渲染了你代码中写的 Nodes(节点)和 Edges(连线)。
    • State 视图 :这是最重要的地方! 实时显示当前整个图的全局变量字典。

进阶指南:可视化调试

步骤 1:审查架构图 (Visualizing the Graph)

在还没开始对话前,先看右侧的 Graph 标签页。

  • 检查连线逻辑是否符合预期(比如你的 llm_node 是否有一条条件边指向 tool_node,tool_node 是否又指回了 llm_node)。
  • 提示:如果有死循环或者断头的节点,在图上会非常显眼。
步骤 2:发起第一次调用 (Invoking)
  1. 在左侧点击 "+" 新建一个 Thread。
  2. 在中间底部的输入框中,输入初始状态数据。注意,这里要求输入的是 JSON 格式 (对应你的 MessagesState)。
    • 例如,输入:{"messages": [{"role": "user", "content": "3乘以5等于多少?"}]}
  3. 点击 Submit。
  4. 查看 :盯着右侧的拓扑图!你会看到 START 节点闪烁,数据流入 llm_node,接着条件边触发跳转到 tool_node,最后再回到 llm_node 输出结果。
步骤 3:查看数据 (Inspecting State)

如果大模型胡言乱语,或者工具报错了,怎么办?

  1. 看中间面板的时间轴,点击那个报错的、或者你觉得可疑的 Step。
  2. 此时,右侧面板切换到 State 标签。
  3. 你会看到在那个特定时间点 ,全局字典(包括所有的历史消息、大模型生成的 tool_calls ID、工具的中间返回结果)长什么样。这比你在 Python 里到处写 print() 要高效一万倍。
步骤 4:时光倒流 (Time-Travel Debugging)
假设你的 Agent 在第 3 步做了一个极其愚蠢的决定(比如调错了工具):
  1. 在中间面板,点击第 2 步(出错前的那一步)。
  2. 此时右侧会出现一个 "Fork" (分叉) 或 "Edit" (编辑) 按钮。
  3. 点击修改当时的状态(比如,你手动把大模型的系统提示词改严厉一点,或者直接篡改它发出的工具调用参数)。
  4. 点击 "Proceed" (继续运行)。
  5. Studio 会从第 2 步开始,沿着你篡改后的新现实,重新往下执行,并生成一条全新的分支记录!

热重载 (Hot Reload)

由于是带着 [inmem] 启动的,这个 Studio 是监听着你的本地文件的。 当在 Python 代码里修改了一个节点的逻辑,或者加了一个新的连线,只要按下 Ctrl+S 保存,浏览器里的 Graph 拓扑图会瞬间自动刷新

相关推荐
Jsundoku9 分钟前
第四章 深度学习 -- 训练技巧
人工智能·深度学习
HDU-Dade40 分钟前
【校招笔试真题】简要介绍 Self-Attention 的前沿算法
人工智能·算法
在所不辞兄1 小时前
【零基础学智能仿真-63】ABACUS作业工具与MCP接口
人工智能·深度学习·神经网络·机器学习·智能仿真
楚山之石1 小时前
【Medical Image Analysis】深度学习医学图像合成综述:伪CT、合成MRI与合成PET的架构、性能与临床边界
图像处理·人工智能·学习·mr·mri
blackappleD2 小时前
百度 Unlimited OCR 2 拆解:SR-SWA 如何让百页文档的 KV 缓存不再涨
人工智能·llm
数字新视界2 小时前
国产动环数据库在智能机房环境监控中的应用与优势分析
大数据·人工智能·数据中心·机房管理·模块化机房
holly就是我2 小时前
AI 编程助手为什么跑偏?用开源 ccglass 看清 Prompt、工具调用和 Token 消耗
人工智能·后端
雨中飘荡的记忆2 小时前
额度又见底了?这个开源项目,给 AI 编程助手接上 61 家"加油站"
人工智能
天远Date Lab2 小时前
零信任架构实战:基于天远企业年报信息核验构建自动化商业保理财务与社保穿透评估网关
人工智能·架构·自动化
EnCi Zheng2 小时前
后端怎么把AI接口稳定安全低成本接进业务:超时重试、密钥隔离与成本熔断清单
人工智能·后端·安全·架构·api