LangChain Deep Agents 指南:功能、工具与配置

使用 LangChain Deep Agents 构建能力更强的 AI 智能体。了解规划、工具调用、文件系统管理和子智能体工作流如何实现自主任务执行,然后将 Kimi API 接入你的智能体,为其提供先进的语言理解与推理能力。

阅读时长:12 分钟2026-08-13
将 Kimi API 连接到 LangChain Deep Agents

AI 智能体正变得越来越有用,因为它们不再只是回答问题,而是开始从头到尾地处理任务。LangChain Deep Agents 通过帮助智能体拆解工作、使用不同工具、管理信息以及协调较小的任务,赋予了更多的控制力和灵活性。这使得构建能够处理真实工作流、无需持续人工指导的智能体变得更容易。让我们来看看 LangChain Deep Agents 的工作原理以及可以用它构建哪些内容。

什么是 LangChain Deep Agents?

LangChain Deep Agents 是一个基于 LangChain 核心构建模块和 LangGraph 运行时构建的智能体框架。它在标准智能体工作流的基础上扩展了文件系统访问、子智能体委派、规划、记忆和人工介入支持等内置能力。Deep Agents 使用结合推理、工具调用和迭代执行的智能体循环,因此适合处理需要多个步骤、大量上下文和协同工作流的复杂任务。

与主要在简单循环中调用工具的基础智能体不同,Deep Agents 为处理长时间运行的任务提供了额外的基础设施。它们可以管理文件、将工作委派给专门的子智能体、在复杂工作流中保持上下文,并在必要时允许人工介入。这些内置能力减少了构建高级智能体系统时所需的定制开发工作量。

LangChain Deep Agents 的工作原理

当 Deep Agent 接收到任务时,它会分析请求并规划完成任务所需的步骤,然后使用搜索、代码执行或文件系统操作等可用工具来收集信息并执行操作。

在执行过程中,Deep Agents 通过读写文件来管理上下文。它们不会把所有中间结果都保留在对话历史中,而是可以将大量信息存储在外部,并在需要时检索。这种方式帮助智能体处理更长的工作流,同时减少上下文窗口大小带来的限制。

对于涉及多个工作领域的复杂任务,Deep Agents 可以将特定子任务委派给专门的子智能体。每个子智能体专注于一个明确的目标,并将相关结果返回给主智能体。主智能体随后整合子智能体的输出、检索到的信息以及存储的文件,生成完整、连贯的响应。

凭借规划、工具使用、文件系统管理、子智能体协作和人工监督等功能,LangChain Deep Agents 为构建能够处理多步骤真实任务的更强大 AI 系统提供了基础。

Deep Agents 的核心能力:规划、工具与执行

Deep Agents 可以处理需要多个步骤、决策和操作的任务。其核心功能帮助它们规划工作、使用合适的工具,并以更少的人工干预高效完成每一步。让我们详细了解这些能力:

任务规划

任务规划使智能体能够在执行过程中创建和管理结构化的任务列表。智能体不必将复杂目标当作单一指令来处理,而是可以将其拆分为更小的步骤,跟踪进度,并在整个工作流中更新任务状态。

何时使用规划功能

  • 较长或复杂的多步骤任务

  • 受益于明确进度跟踪和结构化执行的任务

  • 从智能体状态中实时展示进度的界面

如何启用

TodoListMiddleware 传入 middleware 参数。这会为智能体提供一个 write_todos 工具,用于维护带有状态跟踪(pendingin_progresscompleted)的结构化任务列表。

from deepagents import create_deep_agent
from deepagents.middleware import TodoListMiddleware

agent = create_deep_agent(
    model="your-model",
    middleware=[TodoListMiddleware()],
)

任务会持久保存在智能体状态中,为智能体组织长时间运行的工作提供一个轻量级的规划层。

虚拟文件系统工具

Deep Agents 提供可配置的虚拟文件系统,其后端可插拔,支持内存状态、本地磁盘、LangGraph 存储、复合路由,或带有权限规则的自定义后端。

内置文件系统工具

工具说明
ls列出目录中的文件及其元数据(大小、修改时间)
read_file读取带行号的文件内容;支持通过 offset/limit 处理大文件;对图片、视频、音频和文档还会返回多模态内容块
write_file创建新文件或覆盖已有文件
edit_file对文件执行精确字符串替换(支持全局替换模式)
delete递归删除文件或目录
glob按模式查找文件(例如 **/*.py
grep以多种输出模式搜索文件内容
execute在环境中运行 shell 命令(仅限沙箱后端)

支持的多模态扩展名

  • 图片: .png.jpg.jpeg.gif.webp.heic.heif

  • 视频: .mp4.mpeg.mov.avi.flv.mpg.webm.wmv.3gpp

  • 音频: .wav.mp3.aiff.aac.ogg.flac

  • 文档: .pdf.ppt.pptx

文件系统权限

该框架支持声明式权限规则,用于控制智能体可以读取或写入的文件和目录。规则按从上到下的顺序评估,采用首次匹配即生效的语义。

from deepagents import create_deep_agent

agent = create_deep_agent(
    model="anthropic:your-model",
    permissions=[
        {"operations": ["read", "write"], "paths": ["/workspace/**"], "mode": "allow"},
        {"operations": ["read"], "paths": [".env", "**/secrets/**"], "mode": "deny"},
    ],
)
from deepagents import create_deep_agent

agent = create_deep_agent(
    model="anthropic:your-model",
    permissions=[
        {"operations": ["read", "write"], "paths": ["/workspace/**"], "mode": "allow"},
        {"operations": ["read"], "paths": [".env", "**/secrets/**"], "mode": "deny"},
    ],
)

这样你可以将智能体限制在特定目录内,保护敏感文件,并让子智能体的访问权限比父智能体更窄。

限制工具访问

你可以通过向 FilesystemMiddleware 传入 tools 允许列表,仅开放部分文件系统工具。read_file 必须始终包含在内。

from deepagents import create_deep_agent
from deepagents.middleware import FilesystemMiddleware

# Read-only agent
agent = create_deep_agent(
    model="your-model",
    middleware=[
        FilesystemMiddleware(backend=backend, tools=["read_file", "ls", "glob", "grep"]),
    ],
)
from deepagents import create_deep_agent
from deepagents.middleware import FilesystemMiddleware

# Read-only agent
agent = create_deep_agent(
    model="your-model",
    middleware=[
        FilesystemMiddleware(backend=backend, tools=["read_file", "ls", "glob", "grep"]),
    ],
)

子智能体(委派)

该框架内置了 task 工具,可让主智能体创建临时子智能体,用于处理隔离、长时间运行、多步骤或并行的任务。

关键特性

  • 全新上下文: 每次调用都会创建一个拥有独立上下文的新智能体实例

  • 自主执行: 子智能体独立运行直至完成

  • 单次交接: 子智能体只向主智能体返回一份最终报告

  • 可配置策略: 可使用默认的 general-purpose 子智能体,也可以自定义子智能体

  • 上下文效率: 繁重的子任务工作保持隔离,并被压缩为简洁的结果

禁用子智能体

若要运行不带 task 工具的智能体,请通过 harness profile 禁用自动添加的子智能体,并通过 subagents= 不传入任何同步子智能体。请勿尝试通过 excluded_middleware 移除 SubAgentMiddleware——该操作会被有意拒绝。

工具调用能力

Deep Agents 支持三类工具:

自定义函数与 LangChain 工具

通过 tools= 参数直接传入自定义函数或 LangChain 工具:

from deepagents import create_deep_agent

def get_weather(city: str) -> str:
    """Get weather for a given city."""
    return f"It's always sunny in {city}!"

agent = create_deep_agent(
    model="your-model",
    tools=[get_weather],
    system_prompt="You are a helpful assistant",
)
from deepagents import create_deep_agent

def get_weather(city: str) -> str:
    """Get weather for a given city."""
    return f"It's always sunny in {city}!"

agent = create_deep_agent(
    model="your-model",
    tools=[get_weather],
    system_prompt="You are a helpful assistant",
)

MCP(模型上下文协议)

Deep Agents 完全支持 MCP,让你可以通过标准接口连接数据库、API、文件系统等。

代码执行

  • 沙箱后端: 在隔离环境中暴露一个用于执行 shell 命令的 execute 工具

  • 解释器: 添加一个 eval 工具,在受限的 QuickJS 运行时中执行 JavaScript,用于轻量级的可编程层

随着这些能力整合到一起,驱动智能体的语言模型也成为整体架构中的重要一环。一个能力强的模型可以帮助 Deep Agents 理解指令、对任务进行推理,并更好地利用可用的工具。Kimi API 可以提供这一模型层,因此使用它来构建更强大的 Deep Agent 工作流是很自然的下一步。

6 步将 Kimi API 接入 LangChain Deep Agents

一个能力强的模型能为你的 Deep Agent 提供有效处理任务所需的语言理解和推理能力。Kimi API 可以提供这些能力,同时智能体负责调用工具、管理任务和处理复杂指令。有了模型层之后,接下来自然就是将 Kimi API 与 LangChain Agents 连接起来。下面是将 Kimi API 接入 LangChain Deep Agents 的方法:

第 1 步:获取 Kimi API Key

登录 Kimi API 开放平台 并创建一个新的 API key。复制并妥善保存该 key,因为你需要将它添加到 Deep Agents 的配置中。这个 API key 用于验证你的请求,使 LangChain 的 Deep Agents 能够通过 API 访问 Kimi 模型。

获取你的 Kimi API key

第 2 步:设置环境变量

将你的 Kimi API key 设置为环境变量。Kimi API 使用 Moonshot API 接口地址,因此需要配置以下变量:

export MOONSHOT_API_KEY="your-api-key-here"
export MOONSHOT_API_KEY="your-api-key-here"

API 基础 URL 为:

https://api.moonshot.ai/v1
``````text
https://api.moonshot.ai/v1

第 3 步:安装依赖

安装 Deep Agents 以及所需的 LangChain 依赖:

pip install deepagents langchain-openai
pip install deepagents langchain-openai

由于 Kimi API 兼容 OpenAI API,langchain-openai 可以让 LangChain 通过兼容 OpenAI 的接口连接到 Kimi 模型。

如果你想为 Deep Agent 添加联网搜索能力,可以选择安装 Tavily:

pip install tavily-python
pip install tavily-python

在 Tavily 平台创建 Tavily API key 后,将其设置为环境变量:

export TAVILY_API_KEY="your-tavily-api-key"
export TAVILY_API_KEY="your-tavily-api-key"

只有当你计划为智能体添加联网搜索工具时,才需要用到 Tavily。

第 4 步:使用 Kimi API 配置 Deep Agent

由于 Kimi API 兼容 OpenAI API 格式,你可以通过 init_chat_model 将其接入 LangChain Deep Agents。

以下示例创建了一个由 Kimi 驱动的基础 Deep Agent。你可以选择性地为其扩展诸如联网搜索之类的工具。

由 Kimi 驱动的基础 Deep Agent

from os import environ
from deepagents import create_deep_agent
from langchain.chat_models import init_chat_model

kimi_model = init_chat_model(
    "kimi-k3",
    api_key=environ["MOONSHOT_API_KEY"],
    base_url="https://api.moonshot.ai/v1",
    temperature=0.7,
)

agent = create_deep_agent(
    model=kimi_model,
    system_prompt="""You are an expert assistant.
Your job is to solve tasks with structured reasoning and provide clear outputs.
""",
)
from os import environ
from deepagents import create_deep_agent
from langchain.chat_models import init_chat_model

kimi_model = init_chat_model(
    "kimi-k3",
    api_key=environ["MOONSHOT_API_KEY"],
    base_url="https://api.moonshot.ai/v1",
    temperature=0.7,
)

agent = create_deep_agent(
    model=kimi_model,
    system_prompt="""You are an expert assistant.
Your job is to solve tasks with structured reasoning and provide clear outputs.
""",
)

添加联网搜索能力(可选)

要启用联网搜索,可以连接像 Tavily 这样的搜索工具:

from tavily import TavilyClient

tavily_client = TavilyClient(
    api_key=os.environ["TAVILY_API_KEY"]
)

def internet_search(query: str, max_results: int = 5):
    """Run a web search"""
    return tavily_client.search(
        query=query,
        max_results=max_results
    )

agent = create_deep_agent(
    model=kimi_model,
    tools=[internet_search],
    system_prompt="""You are an expert researcher.
Use the internet search tool when additional information is required.
""",
)
from tavily import TavilyClient

tavily_client = TavilyClient(
    api_key=os.environ["TAVILY_API_KEY"]
)

def internet_search(query: str, max_results: int = 5):
    """Run a web search"""
    return tavily_client.search(
        query=query,
        max_results=max_results
    )

agent = create_deep_agent(
    model=kimi_model,
    tools=[internet_search],
    system_prompt="""You are an expert researcher.
Use the internet search tool when additional information is required.
""",
)

通过这一配置,Deep Agents 可以将 Kimi 作为推理模型,同时借助 Tavily 使用外部搜索能力。

第 5 步:运行由 Kimi 驱动的 Deep Agent

配置好 Kimi 驱动的 Deep Agent 后,运行该智能体,测试它处理任务和工具调用的表现。

result = agent.invoke(
    {"messages": [{"role": "user", "content": "What is LangGraph?"}]}
)

print(result["messages"][-1].content)
result = agent.invoke(
    {"messages": [{"role": "user", "content": "What is LangGraph?"}]}
)

print(result["messages"][-1].content)

第 6 步:启用 LangSmith 跟踪(可选)

LangSmith 跟踪可以帮助你监控智能体的执行过程,包括工具调用、中间步骤和模型响应。

通过以下环境变量启用跟踪:

export LANGSMITH_TRACING=true
export LANGSMITH_API_KEY="your-langsmith-api-key"
export LANGSMITH_TRACING=true
export LANGSMITH_API_KEY="your-langsmith-api-key"

当你需要更深入地了解智能体工作流、进行调试或性能分析时,可以使用 LangSmith。

使用 Kimi API 的优势

将 Kimi API 与 Deep Agents 连接,可以让复杂的工作流变得更强大,也更易于管理。这种组合能让智能体拥有更强的推理能力,同时可以使用工具、处理文件并完成多项任务。让我们来看看这一配置能带来的几项关键优势:

  • 提升智能体的推理和任务执行能力

Kimi 模型具备强大的语言理解和推理能力,能帮助 Deep Agents 分析复杂指令、拆解任务,并生成更准确的响应。这让智能体在处理多步骤工作流时更加高效,也无需过多人工引导。

  • 构建更强大的 AI 工作流

将 Kimi API 接入 Deep Agents 后,开发者可以把 Kimi 的模型能力与 LangChain 支持的工具、文件系统和外部集成结合起来。这使智能体能够在统一的工作流中完成研究、文档处理、代码分析和数据处理等任务。

  • 用自主智能体应对复杂任务

由 Kimi 驱动的 Deep Agents 可以通过制定计划、使用工具以及在需要时委派子任务,来管理长时间运行的任务。这让构建能够完成复杂工作流、同时减少重复性人工操作的 AI 应用变得更加容易。

结语

构建可靠的 AI 智能体,首先要为复杂工作流选择合适的基础架构。LangChain Deep Agents 提供了创建智能体所需的工具和结构,让智能体能够以更少的人工干预完成规划、使用工具、管理上下文以及处理多步骤任务。搭配合适的模型和配置,开发者可以将先进的智能体构想转化为实际应用。通过接入 Kimi API,你还可以借助强大的推理能力和长上下文能力进一步增强 Deep Agent 工作流。现在就开始探索 Kimi API,看看用 AI 智能体能构建出什么。

常见问题

LangChain agents 和 Deep Agents 有什么区别?
LangChain agents 为构建使用工具的 AI 智能体提供了基础。Deep Agents 在此基础上进一步扩展,加入了规划、文件管理、子智能体委派和上下文处理等功能。这些能力让 Deep Agents 更适合处理更长、更复杂的任务,也减少了单独构建这些功能的需要。
LangChain Deep Agents 能用来做什么?
LangChain Deep Agents 可以处理需要多个步骤、工具使用和持续决策的任务,支持研究自动化、文档分析、代码理解、数据处理和复杂工作流执行等场景。对于涉及多个专业领域的任务,Deep Agents 可以将特定子任务委派给专门的子智能体,并整合它们的结果。 通过将 Deep Agents 与 Kimi API 连接,开发者可以构建利用 Kimi 推理能力和大上下文窗口的 AI 应用,用于处理长文档分析、复杂信息处理以及知识密集型工作流的自动化等任务。
我可以为 LangChain Deep Agent 添加记忆功能吗?
可以。LangChain Deep Agents 可以通过现有的持久化和记忆集成来支持记忆功能。这有助于智能体在不同交互和任务之间保留相关信息,而不必每次从零开始。记忆功能对个性化工作流、长时间运行的任务以及持久化信息都很有用。
相关推荐
LlamaIndex Agents 指南:构建更智能的 AI 应用
LlamaIndex Agents 指南:构建更智能的 AI 应用
2026-08-13
n8n AI Agent 指南:构建和自动化工作流
n8n AI Agent 指南:构建和自动化工作流
2026-08-13
安装 Claude Code:Windows 与 Mac 完整指南
安装 Claude Code:Windows 与 Mac 完整指南
2026-08-12
如何将外部 API 连接到 Roo Code
如何将外部 API 连接到 Roo Code
2026-08-12
Droid API 集成:如何接入外部 AI 模型
Droid API 集成:如何接入外部 AI 模型
2026-08-12