手把手教你用当下最火的 LangChain 框架,构建一个能思考、会决策、还能使用工具的 AI Agent。从入门到实战,一篇文章让你彻底搞懂!

还在惊叹于 ChatGPT、Gemini、DeepSeek 等大模型的强大吗?是不是也想拥有一个专属于你,能帮你自动处理任务的"AI 伙伴"?
今天,我就要给大家介绍一个"王炸级"的开源框架------ LangChain !有了它,你就能轻松构建出比普通聊天机器人更聪明、更强大的 AI 智能体(Agent) 。
废话不多说,让我们直接进入正题!
到底什么是 Agent?
你可能会问,Agent 和我们平时玩的 ChatGPT 有什么区别?
简单来说,你可以把 ChatGPT 看作一个知识渊博的"大脑"。你问它答,但它不能自己"动手"去做事。
而 Agent = 大脑 (大语言模型) + 工具 (Tools) 。
它不仅能思考和理解你的指令,还能像人一样,自主地决定使用各种工具(比如谷歌搜索、计算器、代码执行器、甚至是各种软件的 API)来完成更复杂的任务。
想象一下,你只需要告诉它一个目标,比如"帮我查一下明天去上海的天气,然后预订一张最便宜的高铁票",它就能自己上网查天气、比对票价、最后完成订票。
酷不酷?这就是 Agent 的魔力!
LangChain:构建 Agent 的"瑞士军刀"
LangChain 就是一个能让你轻松"组装"出自己 Agent 的强大框架。它把与大语言模型(LLM)交互的复杂过程都封装好了,你只需要像搭积木一样,把不同的模块组合起来,就能实现强大的功能。
LangChain 的核心思想就是"链(Chain)",它能将语言模型、外部工具、数据源等有机地串联起来,协同工作。
实战演练:3分钟构建你的第一个 Agent
光说不练假把式!我们现在就来动手,用 LangChain 构建一个能进行数学计算和网络搜索的简单 Agent。
第一步:环境准备
首先,你需要在你的 Python 环境里安装 LangChain 和一些必要的库。
base
pip install langchain langchain-deepseek google-search-results
同时,你还需要一个 DeepSeek 的 API 密钥,以及一个 SerpApi 的密钥(用于谷歌搜索)。
第二步:定义你的"大脑"和"工具箱"
python
from langchain_deepseek import ChatDeepSeek
from langchain.agents import load_tools, initialize_agent, AgentType
# 初始化你的"大脑" (LLM)
llm = ChatDeepSeek(temperature=0, model="deepseek-chat") # temperature=0 表示更精确、更稳定的输出
# 准备你的"工具箱"
# llm-math 是一个数学工具,serpapi 是一个搜索工具
tools = load_tools(["serpapi", "llm-math"], llm=llm)
第三步:创建并启动 Agent!
python
# 初始化 Agent,告诉它用哪个大脑、哪些工具
# AgentType.ZERO_SHOT_REACT_DESCRIPTION 指的是一种标准的、最常用的 Agent 类型
agent = initialize_agent(
tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)
# 向 Agent 下达指令!
agent.run("目前苹果公司的CEO是谁?他今年的年龄的5次方是多少?")
当你运行这段代码时,你会看到 Agent 是如何"思考"的:
- 思考:我需要先找出苹果公司的 CEO 是谁。
- 行动:使用搜索工具(serpapi)搜索 "苹果公司现任CEO是谁"。
- 观察:搜索结果是 "Tim Cook"。
- 思考:我需要知道 Tim Cook 的年龄。
- 行动:使用搜索工具搜索 "Tim Cook 年龄"。
- 观察:搜索结果显示他现在是 64 岁(到2025年)。
- 思考:我需要计算 64 的 5 次方。
- 行动:使用数学工具(llm-math)计算 64^5。
- 观察:计算结果是 1073741824。

看到了吗?Agent 通过一步步的思考、选择工具、执行、观察结果,最终完美地解决了这个需要结合搜索和计算的复杂问题!
真实世界的"超级 Agent":自主代码生成与执行
上面的例子只是开胃小菜。LangChain Agent 的真正威力在于处理更开放、更复杂的现实世界任务。
一个非常惊艳的案例就是 自主代码生成与执行。
想象一下,你可以给 Agent 一个开发需求,比如:
"帮我写一个 Python 脚本,获取特斯拉公司最新的股价,如果股价高于 200 美元,就发送一封邮件到 a@b.com 提醒我。"
一个更高级的 Agent(例如使用了 LangChain 的 PythonAstREPLTool 工具)可以做到:
- 分解任务:理解需要获取股价和发送邮件两个核心功能。
- 编写代码:自主编写 Python 代码,使用 yfinance 库获取股价,使用 smtplib 库发送邮件。
- 执行与调试:在安全的执行环境中运行代码。如果代码出错(比如库没安装),它甚至会尝试生成修复代码(例如 pip install yfinance)并再次执行!
- 完成任务:成功获取股价,并根据条件判断是否发送邮件。
这已经非常接近一个初级程序员的工作流了!将这种能力应用到数据分析、自动化测试、日常办公等领域,能极大地提升我们的工作效率。
未来已来,你准备好了吗?
LangChain 和 AI Agent 的出现,正在开启一个全新的"AI 自动化"时代。从处理个人待办事项,到自动化企业复杂的工作流,其潜力是无穷的。
今天这篇文章只是一个起点,希望能为你打开一扇通往新世界的大门。如果你对 AI、对自动化、对未来充满好奇,那么 LangChain 绝对是你不能错过的利器。
快快动手,构建属于你自己的第一个 AI Agent 吧!