LangChain Agent 实战:使用框架构建数学计算助手
前言
利用 LangChain 快速实现一个使用 Tool(工具)的 Agent,是构建复杂 AI 应用的关键步骤。Agent 允许大模型自主决定调用哪些工具来完成用户任务,从而突破单纯对话的限制。
LangChain Agent 核心概念
在深入代码之前,建议熟悉以下官方文档资源:
- 内置 Tools:LangChain Tools Integration
- Agent 类型:Agent Types
- Agent Class:Agent Executor API
- Tool Class:BaseTool API
- 自定义 Tools:Custom Tools Guide
自定义 Tool 的实现方式
LangChain 提供了两种主要方式来定义自定义工具。
1. 继承 BaseTool 类
这种方式适合需要更复杂逻辑或状态管理的场景。你需要定义输入参数 Schema 和运行逻辑。
from typing import Type, Optional
from langchain_core.tools import BaseTool
from langchain_core.pydantic_v1 import BaseModel, Field
# 定义输入参数的 Schema
class AddInput(BaseModel):
a: int = Field(description="第一个数字")
b: int = Field(description="第二个数字")
# 定义 Tool 类
class AddTool(BaseTool):
name =
description =
args_schema: [[BaseModel]] = AddInput
return_direct: =
() -> :
a + b
tool_instance = AddTool()
(tool_instance.name)
(tool_instance.description)


