以编程方式使用 Fleet agents 主要有两种方式:
  • 从代码调用:通过 LangGraph SDK 或 REST API 远程调用 agent,无需下载任何内容。
  • 导出到代码:下载 agent 的配置,并使用 fleet-deepagents-export 包,将其作为独立的 Python 项目在本地运行。

从代码调用

你可以在应用程序中使用 LangGraph SDK 或 REST API 调用 LangSmith Fleet agents。Fleet agents 运行在 Agent Server 上,因此你可以使用与其他 LangSmith 部署相同的 API 方法。 REST API 支持从任何支持 HTTP 请求的语言或平台调用 agent。

前置条件

身份验证

要验证 Fleet 部署中 agent 的身份,请在实例化 LangGraph SDK 客户端时,将 LangSmith Personal Access Token (PAT) 传递给 api_key 参数,或通过 X-API-Key 标头传递。如果使用 X-API-Key,还必须将 X-Auth-Scheme 标头设置为 langsmith-api-key。 如果你传递的 PAT 不属于该 agent 的所有者,请求将被拒绝,并返回 404 Not Found 错误。 如果你要调用的 agent 是一个 ,且你不是其所有者,则可以执行与 UI 中相同的所有操作(只读)。

1. 获取 agent ID 和 URL

获取 agent 的 agent_id 和 api_url:
  1. 在 LangSmith UI 中打开你的 agent。
  2. 在侧边栏中展开 Advanced settings 抽屉。
  3. 在 Developer 下,点击 View code snippets,查看为你的 agent 预填充的值。
复制下面的代码,并将 agent_id 和 api_url 替换为 agent 代码片段中的值。 在项目根目录中创建 .env 文件,并填入你的 Personal Access Token:
.env

2. 获取 agent 配置

通过获取 agent 配置来验证连接:
使用与你的 LangSmith 账号关联的 Personal Access Token (PAT)。将 X-Auth-Scheme 标头设置为 langsmith-api-key 以进行身份验证。

3. 调用 agent

下面的示例展示了如何向 agent 发送消息并接收响应。你可以使用无状态运行(无线程、无对话历史),也可以使用有状态运行(通过线程在多轮交互中保留对话历史)。

无状态运行

无状态运行会发送单个请求并返回完整响应,不会持久化对话历史。这是调用 agent 最简单的方式:

无状态流式运行

如果希望在响应生成时就将其流式传输,而不是等待完整结果,请使用流式端点:

使用线程进行有状态运行

要在多次交互中保留对话历史,请先创建线程,然后在该线程上运行 agent。同一线程上的后续运行都可以访问完整的消息历史:

REST API 参考

下表总结了主要端点。将 <API_URL> 替换为 agent 的部署 URL。 所有端点都需要以下标头:
  • Content-Type: application/json
  • X-Api-Key: 你的 Personal Access Token
  • X-Auth-Scheme: langsmith-api-key
如需查看完整的 API 规范,请参阅 Agent Server API 参考。

导出到代码

导出到代码功能可以将 Fleet agent 下载为独立的 Python 项目,并在本地运行。这在以下场景中很有用:
  • 在自己的基础设施上运行 agent,而不调用 Fleet API
  • 扩展或自定义 Fleet UI 不支持的 agent 功能(添加自定义工具、中间件或技能)
  • 检查完整的 agent 实现,或对其进行版本控制
  • 使用 LangGraph Studio 进行本地开发和图检查
fleet-deepagents-export 包(GitHub)负责读取导出的配置,并为 agent 配置 MCP 工具、子 agent 和技能。

前置条件

  • Python 3.11+
  • 推荐使用 uv 管理依赖
  • 一个可供导出的 LangSmith Fleet agent

1. 复制入门项目

推荐从 examples/template-agent/ 中的入门项目开始。克隆代码仓库并复制入门项目:

2. 从 Fleet 导出 agent

在 LangSmith UI 中打开你的 agent,并将其导出为 .zip 文件。 fleet-export-code 然后将内容放入入门项目的 fleet/ 目录中:
fleet/ 目录包含 agent 所需的全部内容:
  • AGENTS.md — 系统提示词
  • config.json — 模型配置和工作区元数据
  • tools.json — MCP 服务器连接
  • subagents/(可选)— 子 agent 定义
  • skills/(可选)— 技能说明

3. 配置环境

复制示例环境文件,并填入必需的值:
这三个 LANGSMITH_*_ID 值位于 fleet/config.json 的 metadata 下。打开该文件,将 tenant_id、organization_id 和 ls_user_id 复制到 .env 中:
.env

4. 安装依赖并运行

然后选择与 agent 交互的方式:

5. 自定义 agent

入门项目将 Fleet 所有的文件与由你拥有、可以自由编辑的文件分开: 以下是入门项目中的完整 agent.py:

重新导出

当你从 Fleet 导出 agent 的新版本时,只需清空目录并重新解压即可——你的自定义内容不会受到影响:

支持的模型提供商

入门项目自带 langchain-anthropic、langchain-openai 和 langchain-google-genai。对于其他提供商(例如 bedrock、fireworks),请将对应的 langchain-<provider> 包添加到 pyproject.toml 中。

MCP 身份验证

启动时,每个工具的 mcp_server_url 都会根据 LangSmith 的 MCP 服务器注册表进行解析:
  • 内置 LangSmith 工具(Gmail、Calendar、GitHub)— 通过你的 LANGSMITH_API_KEY 进行身份验证。
  • 静态凭据服务器(auth_type: "headers")— 凭据来自注册表记录。需要 mcp-servers:invoke 权限。
  • OAuth 服务器(auth_type: "oauth")— 从 LangSmith 的 OAuth broker 获取 bearer token。对于尚未完成授权的按用户服务器,首次运行时会打开浏览器窗口。