1. LangGraph工具调用基础概念解析
在AI Agent开发领域,LangGraph作为LangChain生态的重要组件,正在改变我们构建智能代理的方式。与传统的单次请求-响应模式不同,LangGraph通过工具调用(Tool-Calling)机制赋予了Agent真正的"动手能力"——让大语言模型不仅能思考,还能主动调用外部工具执行具体操作。
1.1 什么是工具调用?
工具调用本质上是一种函数调用机制,但与传统编程有显著区别:
- 动态决策:由LLM根据上下文实时决定是否调用、调用哪个工具
- 参数自解析:LLM自动从自然语言中提取符合工具定义的参数
- 执行反馈:工具执行结果会被重新注入到LLM的思考流程中
这种机制使得Agent可以:
- 查询实时数据(如天气、股价)
- 执行数学计算
- 操作外部系统(发送邮件、更新数据库)
- 处理专业领域任务(代码执行、图像生成)
1.2 LangGraph的核心优势
相比原生LangChain,LangGraph在工具调用方面做了关键增强:
| 特性 | LangChain | LangGraph |
|---|---|---|
| 工具编排能力 | 线性执行 | 图状工作流 |
| 错误处理机制 | 基础try-catch | 多策略错误路由 |
| 状态管理 | 会话级 | 细粒度状态控制 |
| 并行工具调用 | 有限支持 | 深度优化 |
| 人工干预接口 | 无 | 内置断点调试 |
实际案例:一个电商客服Agent需要同时查询订单状态(数据库工具)和物流信息(API工具)时,LangGraph可以并行执行这两个工具调用,而传统方案只能串行处理。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境搭建与基础工具定义
2.1 安装与配置
推荐使用conda创建隔离环境:
bash复制conda create -n langgraph python=3.10
conda activate langgraph
pip install langgraph langchain-anthropic langchain-openai
关键依赖说明:
langgraph:核心框架langchain-anthropic:Claude模型支持langchain-openai:GPT系列模型支持
注意:国内用户建议配置清华镜像源加速安装:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
2.2 定义第一个工具
基础乘法工具示例:
python复制from langchain_core.tools import tool
@tool("multiply_tool")
def multiply(a: float, b: float) -> float:
"""Multiply two numbers.
Args:
a: First number
b: Second number
Example:
"Calculate 3.14 * 2.71" -> a=3.14, b=2.71
"""
return a * b
工具定义要点:
- 使用
@tool装饰器注册工具 - 类型注解必须精确(LLM会据此生成参数)
- Docstring要包含:
- 功能描述
- 参数说明
- 使用示例
