安装依赖
安装以下包以跟随操作:设置 API keys
从任意支持的模型 provider 获取 API key(例如 Google Gemini 或 OpenAI)。 设置 API keys,例如:- OpenAI
- Google Gemini
- Claude (Anthropic)
- OpenRouter
- Fireworks
- Baseten
- Ollama
- Azure
- AWS Bedrock
- HuggingFace
- Other
构建基础代理
首先创建一个可以回答问题并调用工具的简单代理。此示例中的代理使用所选语言模型、作为工具的基础天气函数,以及用于引导其行为的简单 prompt:构建真实世界代理
在下面的示例中,你将构建一个可以回答文本文件相关问题的研究代理。 在此过程中,你将探索以下概念:- 用于改善代理行为的详细 system prompts
- 创建工具以集成外部数据
- 用于一致响应的模型配置
- 用于聊天式交互的对话记忆
- 提供内置功能的 Deep Agents
- 测试你的代理
创建工具
配置模型
添加 memory
为代理添加 memory,以在交互之间维护状态。这让代理能够记住先前对话和上下文。
在生产环境中,请使用将消息历史保存到数据库的持久 checkpointer。
更多详情请参阅 Add and manage memory。
创建并运行代理
现在用所有组件组装你的代理并运行它。创建代理有两个不同框架:LangChain agents 和 deep agents。
LangChain 和 deep agents 都为工具、memory 等提供细粒度控制。
二者主要区别是 deep agents 已内置一系列常用能力,例如规划、文件系统工具和 subagents。当你想用最少设置获得最大能力时使用 deep agents;当你需要细粒度控制时选择 LangChain agents。两者都试一下:
查看结果
结果会根据模型和执行情况而有所不同。如果查看两个标签页中的输出,会发现 LangChain agent 提供了答案,但这些答案是估计值。该代理缺少回答此问题所需的工具。你也可能遇到 prompt 过长的错误。另一方面,deep agent 可以:
- LangChain agents
- Deep agents
- 使用内置
write_todos工具规划方法,分解研究任务。 - 调用
fetch_text_from_url工具加载文件以收集信息。 - 使用文件系统工具(
grep和read_file)管理上下文。 - 按需生成 subagents,将复杂子任务委派给专门的 subagents。
跟踪代理调用
你使用 LangChain 构建的大多数有趣应用都会多次调用 LLM。随着这些应用变得更复杂,能够检查代理内部究竟发生了什么会变得很重要。最好的方式是使用 LangSmith。 注册 LangSmith 账户,并设置这些环境变量以开始记录 traces:下一步
现在你的代理可以:- 理解上下文并记住对话
- 智能使用工具
- 以一致格式提供结构化响应
- 通过 context 处理用户特定信息
- 跨交互维护对话状态
- 规划、研究并综合信息(仅 deep agents)
- LangChain agents:Add and manage memory、deploy to production
- Deep Agents:Customization options、persistent memory、deploy to production
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

