目录

一、DeepAgent是什么?

二、为什么需要DeepAgent?

三、环境搭建

1. 安装必要依赖

3. 配置本地模型端点

四、完整实践:构建本地研究代理

1. 创建搜索工具(使用Tavily替代方案)

2. 创建DeepAgent研究专家

3. 运行并测试代理

五、DeepAgent与传统LangChain代理的对比

六、总结


想象一下,一个能自主规划、使用工具、分解任务并撰写报告的AI助手,现在通过开源模型就能在本地运行——这就是LangChain DeepAgent带来的变革。

一、DeepAgent是什么?

        如果你已经使用过LangChain的基础代理(Agent),可能会注意到它们在处理复杂、多步骤任务时的局限性。传统代理更像是“执行者”——你给一个明确指令,它调用工具完成。

        而DeepAgent则进化为“规划者+执行者”的综合体。根据LangChain官方文档的介绍,DeepAgent能自动规划任务流程智能使用文件系统管理上下文,并能在需要时创建专业子代理处理特定子任务

        简单来说,DeepAgent让AI代理具备了更接近人类的任务分解与规划能力。当你问“什么是LangGraph?”时,普通代理可能直接搜索并返回结果,而DeepAgent会:

  1. 制定研究计划

  2. 使用搜索工具收集信息

  3. 将大量搜索结果存储到文件中

  4. 分析整理信息

  5. 撰写结构化的报告

        这种层级化、规划驱动的方法使DeepAgent特别适合研究分析、数据处理、自动化报告生成等复杂场景。

二、为什么需要DeepAgent?

        在现实世界的AI应用中,简单的一问一答模式远远不够。DeepAgent的出现解决了几个关键问题:

  • 上下文管理智能化:处理大量信息时,DeepAgent能自动使用文件系统工具(write_fileread_file)来卸载和存储数据,避免超出模型的上下文窗口限制。
  • 任务分解自动化:通过内置的 write_todos 工具,DeepAgent能将复杂任务分解为可管理的子任务,这特别适合项目规划、多步骤研究等场景。
  • 专业化子代理系统:当遇到需要特殊专业知识的子任务时,DeepAgent能动态创建和分配任务给专门优化的子代理,实现“专家团队”协作效果。

三、环境搭建

        官方快速入门指南使用Anthropic或OpenAI的商业API,但我们可以通过Ollama在本地部署开源模型。以下是完整的环境配置方案:

1. 安装必要依赖

# 基础环境安装
pip install langchain deepagents

# ollama 环境
ollama pull qwen3:8b

3. 配置本地模型端点

from deepagents import create_deep_agent
from langchain_ollama import ChatOllama

# 初始化Qwen3:8b模型
llm = ChatOllama(
    model="qwen3:8b",
    temperature=0.3,  # 较低温度以获得更稳定的规划输出
    base_url="http://localhost:11434"
)

四、完整实践:构建本地研究代理

        现在让我们基于官方指南的思路,构建一个完全运行在本地的研究代理:

1. 创建搜索工具(使用Tavily替代方案)

        由于Tavily是商业服务,我们可以考虑替代方案或直接使用模型的内部知识:

def local_knowledge_search(
        query: str,
        max_results: int = 3
):
    """
    本地知识搜索工具(示例)
    实际应用中可替换为本地向量数据库检索
    """
    # 这里是示例,实际应连接本地知识库
    sample_results = [
        {
            "title": "LangGraph介绍",
            "content": "LangGraph是LangChain用于构建有状态、多步骤工作流的框架。",
            "url": "https://docs.langchain.com/oss/python/langchain/overview"
        },
        {
            "title": "LangGraph核心概念",
            "content": "包括StateGraph、节点、边等概念,支持循环和条件分支。",
            "url": "https://docs.langchain.com/oss/python/langgraph/overview"
        }
    ]

    return {
        "query": query,
        "results": sample_results[:max_results],
        "count": len(sample_results[:max_results])
    }


# 文件系统工具(DeepAgent内置,这里仅作展示)
def save_to_file(content: str, filename: str):
    """将内容保存到文件"""
    with open(filename, 'w', encoding='utf-8') as f:
        f.write(content)
    return f"内容已保存到 {filename}"

2. 创建DeepAgent研究专家

# 系统提示词,指导代理成为研究专家
research_instructions = """你是一位专业研究助理,擅长进行系统性研究并撰写高质量报告。

你具备以下能力:
1. 任务规划:将复杂研究任务分解为可执行的子任务
2. 信息搜集:使用搜索工具获取相关信息
3. 信息整理:将大量资料有序存储和整理
4. 报告撰写:基于研究成果编写结构清晰、内容准确的报告

## 可用工具

1. `local_knowledge_search`: 用于搜索相关信息
2. `save_to_file`: 将大量内容保存到文件,避免上下文过长
3. `read_file`: 读取已保存的文件内容

## 工作流程

对于每个研究任务:
1. 首先制定详细的研究计划
2. 按计划执行搜索和资料收集
3. 整理和存储重要信息
4. 综合分析所有资料
5. 撰写最终研究报告

请确保报告包含:概述、关键发现、详细分析和总结。
"""

# 创建DeepAgent实例
agent = create_deep_agent(
    tools=[local_knowledge_search],
    model=llm,  # 使用我们配置的Qwen3:8b模型
    system_prompt=research_instructions
)

3. 运行并测试代理

# 测试查询
test_query = "请研究LangGraph是什么,包括它的核心概念、用途和优势"

# 执行代理
result = agent.invoke({
    "messages": [{"role": "user", "content": test_query}]
})

# 提取并显示结果
final_response = result["messages"][-1].content
print("=" * 60)
print("DeepAgent研究报告:")
print("=" * 60)
print(final_response)

# 查看代理的思考过程(如果启用了详细输出)
if "intermediate_steps" in result:
    print("\n" + "=" * 60)
    print("代理思考过程:")
    print("=" * 60)
    for step in result["intermediate_steps"]:
        print(f"步骤: {step}")

五、DeepAgent与传统LangChain代理的对比

特性 传统LangChain代理 DeepAgent
任务规划 需要外部指导或简单提示 自动规划,使用write_todos工具
上下文管理 依赖模型有限的上下文窗口 智能使用文件系统工具管理大量数据
任务分解 基本不支持或简单拆分 自动创建和协调子代理处理复杂子任务
适用场景 简单、单步骤任务 复杂、多步骤、需要规划的任务
资源需求 相对较低 较高(需要更多计算和存储资源)

六、总结

        DeepAgent是LangChain的最新突破,它让我们的AI代理变得更加智能、自主和高效。通过简单的几行代码,我们就能创建一个能够自主规划、研究、生成报告的智能代理。

        对于已经熟悉LangChain的开发者来说,DeepAgent是一个自然的升级。它不需要重新学习整个框架,只需要了解其新增的特性和API即可。

参考文档:https://docs.langchain.com/oss/python/deepagents/quickstart

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐