Skip to content

当你在本地使用 LangChain 构建智能体时,可视化智能体内部发生的情况、实时与之交互并在问题出现时进行调试会很有帮助。LangSmith Studio 是一款免费的视觉界面,用于在本地机器上开发和测试你的 LangChain 智能体。

Studio 连接到你在本地运行的智能体,向你展示智能体执行的每一步:发送给模型的提示词、工具调用及其结果,以及最终输出。你可以测试不同的输入、检查中间状态并迭代智能体的行为,而无需额外编写代码或进行部署。

本页介绍如何将 Studio 与你的本地 LangChain 智能体一起设置。

前提条件

开始之前,请确保你具备以下条件:

  • 一个 LangSmith 账号:在 smith.langchain.com 注册(免费)或登录。
  • 一个 LangSmith API 密钥:按照创建 API 密钥指南操作。
  • 如果你不希望将数据追踪到 LangSmith,请在应用程序的 .env 文件中设置 LANGSMITH_TRACING=false。禁用追踪后,不会有任何数据离开你的本地服务器。

设置本地 Agent Server

1. 安装 LangGraph CLI

LangGraph CLI 提供了一个本地开发服务器(也称为 Agent Server),可将你的智能体连接到 Studio。

bash
# 需要 Python >= 3.11。
pip install --upgrade "langgraph-cli[inmem]"
bash
npx @langchain/langgraph-cli

2. 准备你的智能体

如果你已经有一个 LangChain 智能体,可以直接使用它。此示例使用一个简单的邮件智能体:

python
from langchain.agents import create_agent

def send_email(to: str, subject: str, body: str):
    """发送电子邮件"""
    email = {
        "to": to,
        "subject": subject,
        "body": body
    }
    # ... 发送电子邮件的逻辑

    return f"Email sent to {to}"

agent = create_agent(
    "gpt-5.5",
    tools=[send_email],
    system_prompt="You are an email assistant. Always use the send_email tool.",
)
typescript
import { createAgent } from "@langchain/langgraph";

function sendEmail(to: string, subject: string, body: string): string {
    // 发送电子邮件
    const email = {
        to: to,
        subject: subject,
        body: body
    };
    // ... 发送电子邮件的逻辑

    return `Email sent to ${to}`;
}

const agent = createAgent({
    model: "gpt-5.5",
    tools: [sendEmail],
    systemPrompt: "You are an email assistant. Always use the sendEmail tool.",
});

export { agent };

3. 环境变量

Studio 需要一个 LangSmith API 密钥才能连接你的本地智能体。在项目根目录中创建 .env 文件,并添加来自 LangSmith 的 API 密钥。

WARNING

确保你的 .env 文件不会提交到版本控制(例如 Git)。

bash
LANGSMITH_API_KEY=lsv2...

4. 创建 LangGraph 配置文件

LangGraph CLI 使用配置文件来定位你的智能体并管理依赖。在应用目录中创建 langgraph.json 文件:

json
{
  "dependencies": ["."],
  "graphs": {
    "agent": "./src/agent.py:agent"
  },
  "env": ".env"
}
json
{
  "dependencies": ["."],
  "graphs": {
    "agent": "./src/agent.ts:agent"
  },
  "env": ".env"
}

create_agent 函数会自动返回编译后的 LangGraph 图,这正是配置文件中 graphs 键所期望的内容。

createAgent 函数会自动返回编译后的 LangGraph 图,这正是配置文件中 graphs 键所期望的内容。

INFO

有关配置文件中 JSON 对象每个键的详细说明,请参阅 LangGraph 配置文件参考

此时,项目结构将如下所示:

bash
my-app/
├── src
   └── agent.py
├── .env
└── langgraph.json
bash
my-app/
├── src
   └── agent.ts
├── .env
├── package.json
└── langgraph.json

5. 安装依赖

从根目录安装你的项目依赖:

bash
pip install langchain langchain-openai
bash
uv add langchain langchain-openai
bash
yarn install

6. 在 Studio 中查看你的智能体

启动开发服务器,将你的智能体连接到 Studio:

bash
langgraph dev
bash
npx @langchain/langgraph-cli dev

WARNING

Safari 会阻止到 Studio 的 localhost 连接。要解决此问题,请使用 --tunnel 运行上述命令,通过安全隧道访问 Studio。你需要通过在 Studio 界面(UI)中点击 Connect to a local server,将隧道 URL 手动添加到允许的来源中。有关具体步骤,请参阅故障排除指南

服务器运行后,你的智能体既可以通过 API(http://127.0.0.1:2024)访问,也可以通过 Studio 界面(UI)访问,地址为 https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024

Agent view in the Studio UI

在 Studio 连接到你的本地智能体后,你可以快速迭代智能体的行为。运行一个测试输入,在 LangSmith 中检查完整的执行追踪,包括提示词、工具参数、返回值以及 token/延迟指标。当出现问题时,Studio 会捕获异常及其周围状态,帮助你了解发生了什么。

开发服务器支持热重载——在代码中修改提示词或工具签名,Studio 会立即反映这些更改。你可以从任何步骤重新运行对话线程来测试更改,而无需从头开始。此工作流可适用于从简单的单工具智能体到复杂的多节点图。

有关如何运行 Studio 的更多信息,请参阅 LangSmith 文档 中的以下指南:

视频指南