安装依赖
安装以下包以跟随本教程:设置 API 密钥
从任何受支持的模型提供商(例如,Google Gemini 或 OpenAI)获取 API 密钥。 设置 API 密钥,例如:- OpenAI
- Google Gemini
- Claude (Anthropic)
- OpenRouter
- Fireworks
- Baseten
- Ollama
- Azure
- AWS Bedrock
- HuggingFace
- 其他
构建基础智能体
首先创建一个简单的智能体,它能够回答问题并调用工具。此示例中的智能体使用所选的语言模型、一个作为工具的基本天气函数,以及一个简单的提示来指导其行为:构建实际应用智能体
在接下来的示例中,你将构建一个研究智能体,它可以回答关于文本文件的问题。 在此过程中,你将探索以下概念:- 详细的系统提示,以改善智能体行为
- 创建工具,与外部数据集成
- 模型配置,以获得一致的响应
- 对话记忆,实现类似聊天的交互
- Deep Agents,提供内置功能
- 测试你的智能体
创建工具
工具允许模型通过调用你定义的函数与外部系统交互。
工具可以依赖于运行时上下文,也可以与智能体记忆交互。此示例使用一个工具从给定的 URL 加载文档:
Zod 是一个用于验证和解析预定义模式的库。你可以用它来定义工具的输入模式,以确保智能体只使用正确的参数调用工具。或者,你可以将
schema 属性定义为 JSON schema 对象。请记住,JSON schema 不会在运行时进行验证。示例:使用 JSON schema 作为工具输入
示例:使用 JSON schema 作为工具输入
配置你的模型
创建并运行智能体
现在,使用所有组件组装你的智能体并运行它。创建智能体有两种不同的框架:LangChain 智能体和 deep agents。
LangChain 和 deep agents 都为你提供了对工具、记忆等的细粒度控制。
两者的主要区别在于 deep agents 内置了一系列常用功能,例如规划、文件系统工具和子智能体。当你希望以最少的设置获得最大功能时,请使用 deep agents;当你需要细粒度控制时,请选择 LangChain 智能体。让我们尝试两种方式:
查看结果
结果会因模型和执行情况而异。如果你查看两个标签页上的输出,你会注意到 LangChain 智能体提供了答案,但它们是估计值。智能体缺乏回答此问题的工具。你也可能收到提示太长的错误。另一方面,deep agent 可以:
- LangChain agents
- Deep agents
- 规划其方法,使用内置的
write_todos工具来分解研究任务。 - 加载文件,通过调用
fetch_text_from_url工具来收集信息。 - 管理上下文,使用文件系统工具(
grep和read_file)。 - 生成子智能体,根据需要将复杂的子任务委托给专门的子智能体。
跟踪智能体调用
你使用 LangChain 构建的大多数有趣的应用程序都会多次调用 LLM。随着这些应用程序变得越来越复杂,能够检查智能体内部到底发生了什么变得非常重要。最好的方法是使用 LangSmith。 注册一个 LangSmith 帐户并设置以下内容以开始记录跟踪:后续步骤
你现在拥有的智能体可以:- 理解上下文并记住对话
- 智能地使用工具
- 以一致的格式提供结构化响应
- 通过上下文处理用户特定信息
- 在交互中维护对话状态
- 规划、研究和综合(仅限 deep agents)
将这些文档连接到 Claude、VSCode 等,通过 MCP 获取实时答案。

