当前位置: 首页 > news >正文

从零到一:用 LangChain 搭建你的第一个 AI Agent,让 LLM 自己干活!

导读:,2024年最火的不是大模型本身,而是基于大模型的AI Agent。它能自主思考、调用工具、执行任务——不再是"你说一句我回一句"的聊天机器人,而是真正能帮你干活的数字员工。本文从零带你搭建一个完整的 AI Agent,包含搜索工具、计算工具、文件操作三大能力代码可复现,建议收藏!

一、什么是 AI Agent?

简单来说,AI Agent = LLM(大语言模型)+ 工具(Tools)+ 记忆(Memory)+ 规划(Planning)

传统的 LLM 只能根据训练数据回答问题。而 Agent 可以:

  • 🧠自主决策:遇到不会的问题,自己去搜索
  • 🔧调用工具:可以执行代码、查询数据库、发送邮件
  • 🔄多步推理:一个问题拆成多步,逐步解决
  • 💾记忆上下文:记住之前的对话和操作结果

二、Agent 核心架构解析

主流的 Agent 框架(LangChain、AutoGPT、MetaGPT)都遵循ReAct模式:

Thought(思考) → Action(行动) → Observation(观察) → Thought(再思考)...
阶段说明示例
感知理解用户意图"帮我查今天天气并推荐穿搭"
规划拆解为子任务①查天气 ②根据天气推荐
执行调用具体工具search_weather() → recommend_outfit()
反思评估结果是否满足信息不完整 → 再次搜索
输出整合结果返回"今天 25°C 晴天,建议穿..."

三、环境准备

pip install langchain==0.1.0 langchain-openai python-dotenv duckduckgo-search

四、动手实现:三大工具集成

4.1 搜索工具

from langchain.tools import tool from duckduckgo_search import DDGS @tool def web_search(query: str) -> str: """当需要查询实时信息时,使用此工具进行网络搜索。""" with DDGS() as ddgs: results = list(ddgs.text(query, max_results=3)) formatted = [] for r in results: formatted.append(f"📌 {r['title']}\n {r['body'][:200]}...") return "\n\n".join(formatted)

4.2 计算工具

import math @tool def calculator(expression: str) -> str: """执行数学计算。支持 +、-、*、/、**、sqrt() 等运算。""" allowed_names = {"sqrt": math.sqrt, "sin": math.sin, "pi": math.pi, "log": math.log} result = eval(expression, {"__builtins__": {}}, allowed_names) return f"计算结果:{result}"

4.3 文件工具

from datetime import datetime @tool def file_writer(content: str, filename: str = "agent_output.txt") -> str: """将内容写入文件。""" with open(filename, "w", encoding="utf-8") as f: f.write(f"# Agent 生成于 {datetime.now()}\n\n{content}") return f"✅ 内容已成功写入 {filename}"

五、完整代码与运行效果

from langchain_openai import ChatOpenAI from langchain.agents import AgentExecutor, create_tool_calling_agent from langchain_core.prompts import ChatPromptTemplate llm = ChatOpenAI(model="gpt-4o", temperature=0.1) tools = [web_search, calculator, file_writer] prompt = ChatPromptTemplate.from_messages([...]) agent = create_tool_calling_agent(llm, tools, prompt) agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True, max_iterations=5) response = agent_executor.invoke({"input": "帮我查一下 2025 年 Gartner AI 技术成熟度曲线"}) print(response['output'])
🤖 Agent:已为您整理好 Gartner 2025 AI 技术成熟度曲线报告,核心发现:生成式 AI 进入"幻灭期",Agentic AI 位于"期望膨胀期"顶峰。

六、踩坑记录与优化建议

  • 坑1:Agent 无限循环→ 设置max_iterations=5
  • 坑2:工具描述不清晰→ 详细描述参数和用途
  • 坑3:温度参数过高→ 使用temperature=0.1

七、总结与展望

要点说明
Agent 本质LLM + 工具 + 记忆 + 规划
核心模式ReAct:思考→行动→观察→反思
关键参数temperature=0.1, max_iterations=5

💡福利时间:关注本博主,后台回复「Agent实战」获取完整源码 + 企业级 Agent 架构图!

http://www.jsqmd.com/news/875014/

相关文章:

  • ARCADE:用AR任务驱动评估,弥合CV模型指标与真实感知的鸿沟
  • Arm调试中MEM-AP访问属性的配置与应用
  • Keil MDK网络调试中TCP序列号错误分析与优化
  • 机器学习势函数在氧化镓多晶型相变模拟中的应用与验证
  • 手把手教你用命令行管理BitLocker:快速解密‘等待激活’的C盘/D盘(附原理图解)
  • 科学计算中线性与非线性模型选择:从数据特性到应用场景的决策指南
  • 电池阻抗测量技术:伪随机序列与信号处理应用
  • WinPE + DiskGenius 实战:给单硬盘Windows系统加装ESP分区,实现Legacy到UEFI引导切换
  • 年轻人为何对AI成功学集体嘘声?
  • 用格拉姆矩阵特征值调整替代SVD,高效求解带正交约束的优化问题
  • AArch64架构下非缓存内存的指令缓存机制解析
  • 翻译工具:AI跨语言执行任务
  • 运维工程师私藏技巧:用Ventoy在Deepin/UOS上批量部署Windows 10的完整流程与避坑点
  • FPGA在材料测试中的高精度控制与并行处理应用
  • 别再傻傻重装系统了!Windows 10/11家庭版一键升级专业版保姆级教程(附密钥获取思路)
  • AI与建模仿真融合:数字孪生从静态走向智能的核心路径与实践
  • 告别VMware网络冲突!CentOS Stream 9虚拟机静态IP配置保姆级避坑指南
  • Keil MDK 5.24浮动许可证监控异常分析与解决方案
  • Jenkins CVE-2017-1000353漏洞原理与实战利用解析
  • MACCMS远程命令执行漏洞CVE-2017-17733深度解析
  • Playwright Python真实浏览器负载测试实战指南
  • 大语言模型如何革新生命周期评估:从数据提取到智能分析
  • Windows 10下scrcpy连接安卓手机的常见坑点排查:以荣耀50为例,告别ERROR和连接失败
  • 从一次OOM宕机看透Linux内存管理:Swap、Cgroups与OOM Killer的相爱相杀
  • Appium环境搭建全指南:Android与iOS跨平台稳定配置
  • AI记忆门控系统:从全量存储到智能分层,实现精准长期记忆
  • 你的Linux启动慢?可能是UEFI这七个阶段在“摸鱼”!性能调优实战指南
  • RCE漏洞深度解析:命令执行与代码执行的本质区别及实战绕过
  • Unity官网下载地址的深层逻辑:版本、平台与模块精准匹配指南
  • 基于情感分析的计算机视觉API开发者问题分类与情绪挖掘