AI学习——LangChain + Agent

LangChain + Agent

  • [一、LangChain 里的 **Tool(工具)** 是什么?](#一、LangChain 里的 Tool(工具) 是什么?)
    • [1. 通俗解释](#1. 通俗解释)
    • [2. Tool 的作用](#2. Tool 的作用)
    • [3. 常见 Tool 例子](#3. 常见 Tool 例子)
    • [4. 一句话记住](#4. 一句话记住)
  • [二、**Agent(智能体)** 是什么?](#二、Agent(智能体) 是什么?)
    • [1. 通俗解释](#1. 通俗解释)
    • [2. Agent 的核心能力](#2. Agent 的核心能力)
    • [3. Agent 工作流程(最经典)](#3. Agent 工作流程(最经典))
  • [三、LangChain 中:Tool + Agent 如何配合?](#三、LangChain 中:Tool + Agent 如何配合?)
  • 四、核心概念
    • [1. Tool(工具)](#1. Tool(工具))
    • [2. Agent(智能体)](#2. Agent(智能体))
    • [3. AgentExecutor(执行器)](#3. AgentExecutor(执行器))
  • [五、最经典、最常用的 Agent:**ReAct Agent**](#五、最经典、最常用的 Agent:ReAct Agent)
  • [六、LangChain Tool + Agent 实战](#六、LangChain Tool + Agent 实战)
  • 七、运行后你会看到
  • 八、总结

一、LangChain 里的 Tool(工具) 是什么?

1. 通俗解释

Tool = AI 的手脚/能力扩展

大模型本身只会聊天、推理,但不会联网、不会计算、不会查文件、不会发消息、不会建工单

这些事,全部交给 Tool 做。

2. Tool 的作用

  • 让 AI 调用外部能力
  • 让 AI 获取实时信息
  • 让 AI 执行真实操作
  • 让 AI 使用专业功能

3. 常见 Tool 例子

  • 计算器(准确计算)
  • 联网搜索(获取最新信息)
  • 向量库检索(RAG)
  • 数据库查询
  • 发送邮件/发送通知
  • 调用API、创建工单

4. 一句话记住

LLM = 大脑(思考)
Tool = 手脚(执行)


二、Agent(智能体) 是什么?

1. 通俗解释

Agent = 会自己思考、自己选工具、自己完成任务的 AI

普通AI:你问啥它答啥。

Agent:

  • 收到任务
  • 自己判断该用什么工具
  • 自己调用工具
  • 自己看结果
  • 自己决定下一步
  • 直到任务完成

2. Agent 的核心能力

✅ 自主任务拆解

✅ 自主工具选择

✅ 多步循环执行

✅ 自我观察纠错

✅ 动态决策

3. Agent 工作流程(最经典)

复制代码
用户提问 → 大脑思考 → 选择工具 → 执行工具 → 观察结果 → 继续思考 → 完成回答

这就是 ReAct 机制(Reason + Action)


三、LangChain 中:Tool + Agent 如何配合?

一句话:

Agent 负责思考决定用哪个 Tool
Tool 负责真正执行动作


四、核心概念

1. Tool(工具)

  • 输入:自然语言指令
  • 输出:工具执行结果
  • 作用:扩展AI能力

2. Agent(智能体)

  • 大脑:LLM(GPT / GLM / Qwen)
  • 记忆:保存历史对话、步骤
  • 决策:决定用什么工具
  • 执行:循环调用工具直到完成

3. AgentExecutor(执行器)

  • 控制循环
  • 限制最大步数(防死循环)
  • 打印思考过程(verbose)

五、最经典、最常用的 Agent:ReAct Agent

工作模式(固定四步)

  1. Thought(我该做什么?)
  2. Action(调用哪个工具、参数是什么)
  3. Observation(工具返回了什么结果)
  4. Final Answer(完成回答)

这是所有企业 AI 系统的基础架构。


六、LangChain Tool + Agent 实战

功能

  • 自定义工具
  • 让AI自主调用工具
  • 显示完整思考过程
  • 带角色、带限制、防混乱
python 复制代码
# 安装依赖
# pip install langchain langchain-openai langchain-community
python 复制代码
# ==========================
# 1. 导入模块
# ==========================
from langchain_openai import ChatOpenAI
from langchain.agents import create_react_agent, AgentExecutor
from langchain.tools import BaseTool, Tool
from langchain import hub

# ==========================
# 2. 定义LLM(大脑)
# ==========================
llm = ChatOpenAI(
    model="gpt-3.5-turbo",
    temperature=0,      # 工具调用必须0
    api_key="你的API_KEY",
    base_url="https://api.chatanywhere.tech/v1"
)

# ==========================
# 3. 自定义 Tool 1:计算器
# ==========================
def calculator_func(expression: str) -> str:
    try:
        return str(eval(expression))
    except:
        return "计算错误"

calculator_tool = Tool(
    name="Calculator",
    func=calculator_func,
    description="用于数学计算,输入数学表达式,返回计算结果。"
)

# ==========================
# 4. 自定义 Tool 2:天气查询
# ==========================
def weather_func(city: str) -> str:
    return f"{city} 今天晴天,25度。"

weather_tool = Tool(
    name="Weather",
    func=weather_func,
    description="查询城市天气。"
)

# ==========================
# 5. 把工具放进列表
# ==========================
tools = [calculator_tool, weather_tool]

# ==========================
# 6. 加载 ReAct 提示词
# ==========================
prompt = hub.pull("hwchase17/react")

# ==========================
# 7. 创建 Agent
# ==========================
agent = create_react_agent(llm, tools, prompt)

# ==========================
# 8. 创建执行器
# ==========================
agent_executor = AgentExecutor(
    agent=agent,
    tools=tools,
    verbose=True,      # 显示思考过程(学习必开)
    max_iterations=5   # 最大步数,防止死循环
)

# ==========================
# 9. 测试运行
# ==========================
if __name__ == "__main__":
    question = "北京今天天气如何?38+62*2等于多少?"
    result = agent_executor.invoke({"input": question})
    print("\n=== 最终回答 ===")
    print(result["output"])

七、运行后你会看到

复制代码
> 进入新AgentExecutor链
思考:我需要先查北京天气,再计算数学题。
行动:调用 Weather,参数:北京
观察:北京今天晴天,25度。

思考:现在需要计算 38+62*2
行动:调用 Calculator,参数:38+62*2
观察:162

思考:任务完成。
最终回答:北京今天晴天25度,计算结果162。

这就是真正的 AI 智能体!


八、总结

Tool

  • AI 的能力扩展
  • 负责执行

Agent

  • AI 的大脑
  • 负责思考、选择工具、完成任务

ReAct

  • 思考 → 行动 → 观察 → 回答
  • 企业级标准架构

相关推荐
带刺的坐椅5 小时前
从 Claude Code 隐私争议,看 SolonCode 的设计选择
ai·llm·agent·claudecode·soloncode·codingplan
冬奇Lab7 小时前
Workflow 系列(03):状态管理——持久化、幂等性与版本绑定
人工智能·工作流引擎
冬奇Lab8 小时前
每日一个开源项目(第146篇):openpilot - 开源自动驾驶辅助系统,曾在 Consumer Reports 评测中超过特斯拉 Autopilot
人工智能·开源·自动驾驶
吴佳浩9 小时前
AI 工程师知识地图:模型格式、框架、部署工具一次讲明白
人工智能·aigc·ai编程
IT_陈寒9 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
码农胖大海10 小时前
AI额度不够用的解决方案
人工智能
lincats10 小时前
Claude Code项目越写越乱?这套清理流程能救你
ai·ai agent·claude code
后端小肥肠10 小时前
小红书虚拟商品怎么做?我先用 Skill 跑通了壁纸品类
人工智能·aigc·agent
feiyu_gao10 小时前
从零搭建个人 AI 工作台:一个管理者的 3 个月实验
人工智能·aigc·团队管理