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

Agent 框架别急着乱学:先用 LangChain 搞懂 7 个基本模块

先说结论。如果你想系统理解 Python Agent 框架LangChain 仍然值得作为第一篇。它不是最轻的也不是最“自动化”的但它把 Agent 应用里的关键零件都摆出来了模型、工具、状态、记忆、middleware、多 Agent 路由和 tracing。如果你只是想马上做一个复杂自动化 AgentLangChain 本身可能不够省事后面大概率会接 LangGraph 或 Deep Agents。但如果你想先看懂 Agent 应用到底由哪些模块组成LangChain 是很好的入口。1. 它到底解决什么问题LangChain 解决的不是“调用一次大模型”。它解决的是当一个 LLM 应用开始需要工具、上下文、记忆、权限控制、调试追踪时代码应该怎么组织。最小 Agent 入口现在非常直接from langchain.agents import create_agent你给它模型、工具和系统提示词它帮你跑一个基础 agent loop模型先判断要不要调用工具工具执行完把结果交回模型模型继续推理直到输出最终结果。2. 先看架构LangChain 把 Agent 拆成了什么可以把 LangChain Agent 理解成一个预组装好的运行图用户输入 ↓ messages / state ↓ 模型节点判断下一步 ↓ 工具节点执行工具 ↓ 工具结果写回 messages / state ↓ 继续模型调用或输出答案它底层依赖 LangGraph所以不是一个完全黑盒的“聊天机器人”。它更像一个预设好的 agent workflow。几个核心模块model负责推理和决定下一步tools让模型调用外部能力state保存 messages 和中间状态checkpointer保存短期会话状态store保存跨会话长期记忆middleware在模型调用、工具调用前后插入控制逻辑LangSmith看清每一步 trace3. 记忆、工具、多 Agent 是怎么处理的记忆LangChain 把记忆分成短期和长期。短期记忆就是当前会话里的上下文。它通常通过 checkpointer 保存比如同一个thread_id下的历史 messages。开发时可以用内存版生产环境通常要换成 Postgres 这类持久化方案。长期记忆通过 store 做。它更像一个跨会话资料库可以保存用户偏好、业务对象状态、历史任务结果等。简单说checkpointer 当前对话怎么接上 store 跨对话的信息怎么留下工具调用LangChain 的工具可以直接用 Python 函数定义。def get_weather(city: str) - str: Get weather for a given city. return fIts always sunny in {city}!函数名、参数类型、docstring 都会影响模型是否能正确调用工具。一个好的工具不只是“能跑”还要让模型知道什么时候该用、参数该怎么传、结果代表什么。多 Agent 交流LangChain 的多 Agent 不是“几个机器人随便群聊”。官方更推荐几种工程化模式subagent主 Agent 把子 Agent 当工具调用handoff通过工具调用切换当前负责的 Agentrouter先判断任务类型再路由到专门 Agentcustom workflow用 LangGraph 自己控制状态图它的核心还是 state、tool call 和 routing。多个 Agent 的交流本质上是状态和消息在不同 Agent 之间转移。4. 最小上手示例安装pip install -qU langchain langchain[openai]最小代码from langchain.agents import create_agent def get_weather(city: str) - str: Get weather for a given city. return fIts always sunny in {city}! agent create_agent( modelopenai:gpt-5.4, tools[get_weather], system_promptYou are a helpful assistant, ) result agent.invoke({ messages: [{role: user, content: Whats the weather in San Francisco?}] }) print(result[messages][-1].content)成功标志模型能识别天气问题调用get_weather最后输出带 San Francisco 的回答。官方示例里也会打印最后一条 message 的content_blocks方便你看到工具调用和最终文本。5. 一个真实使用场景我会用 LangChain 做一个“客服数据助手”用户问订单问题 ↓ Agent 判断是否需要查订单 ↓ 调用 search_orders 工具 ↓ 调用 refund_policy 工具 ↓ 生成回复建议 ↓ 保存会话状态这个场景里LangChain 的价值不是回答得多聪明而是你可以把工具、状态、权限、trace 拆开管理。6. 它不适合什么第一不适合完全不想理解架构的人。LangChain 的概念不少Agent、Tool、State、Middleware、Store、Checkpointer、LangGraph、LangSmith 都要看。第二不适合只想快速做一个“全自动复杂 Agent”的人。它是基础框架不是成品 Agent。第三如果你的工作流本来就是复杂状态图直接学 LangGraph 会更干脆。7. 和同类框架比它的位置在哪里和 LangGraph 比LangChain 更高层LangGraph 更底层。LangChain 帮你预组装常见 agent loopLangGraph 让你自己画状态图。和 CrewAI 比CrewAI 更像“组团队”LangChain 更像“搭运行时”。和 AutoGen 比AutoGen 更偏多 Agent 对话协作LangChain 更偏工具、状态和生产可控性。8. 结论LangChain 适合作为 Agent 框架系列的第一篇。它让你先建立这张地图模型负责推理 工具负责行动 状态负责过程 记忆负责延续 middleware 负责控制 LangSmith 负责观察 LangGraph 负责底层运行先用 LangChain 跑通一个单 Agent 两个工具 短期记忆 tracing再看后面的 LangGraph、CrewAI、AutoGen会清楚很多。
http://www.gsyq.cn/news/1345620.html

相关文章:

  • BsMax插件完整指南:3ds Max用户无缝迁移Blender的终极解决方案
  • 从仿真器视角看Verilog:为什么testbench里时钟必须用‘=’,数据推荐用‘<=’?
  • UEFITOOL 0.28:UEFI固件解析与修改的完整实战教程
  • 终极指南:免费掌握AMD Ryzen处理器深度调试的完整方法
  • 基础教程使用curl命令直接测试Taotoken大模型API的连通性与响应
  • 创业团队如何利用Taotoken的Token Plan有效控制AI应用开发成本
  • 告别折腾:esir高大全版OpenWrt软路由安装后,必做的5项安全与性能优化设置
  • QKeyMapper:重新定义你的Windows操作方式,打造个性化智能按键映射系统
  • 2026年电力电缆铝芯大揭秘!它究竟有哪些独特优势和应用场景? - 品牌推荐官方
  • 2026子女在香港读书要提前规划身份吗?什么时候申请合适? - 速递信息
  • 从RS232到RS485:给工控新人的串口通信选型与实战指南(含Modbus/PPI案例)
  • 喜马拉雅音频下载完整指南:三步构建个人离线音频库
  • 逻辑回归本质解析:S型函数、最大似然与线性决策边界
  • 如何永久保存微信聊天记录?免费开源WeChatMsg工具完全指南
  • 揭秘虚幻引擎资源宝库:FModel让你5分钟成为游戏资源分析专家
  • 如何用Translumo实现实时屏幕翻译:打破语言障碍的终极指南
  • 如何快速制作专业字幕:Subtitle Edit完整使用指南
  • 百联 OK 卡回收:让抽屉里的闲置卡变成零花钱 - 团团收购物卡回收
  • 告别ThinkPad默认开机画面:手把手教你为E14定制专属BIOS Logo(附PS制作GIF指南)
  • 企业AI知识库搭建实战:从文件管理到智能检索的完整方案
  • FM9788 移动电源管理 IC
  • DataRoom:一站式开源大屏设计器终极指南,快速构建专业数据可视化大屏
  • 移动端部署福音?YOLOv5结合EfficientNetV2主干网络的轻量化改造与性能实测
  • 还在为图表制作烦恼?Mermaid Live Editor让你3分钟搞定专业图表
  • 国内高校学生高频使用的AI论文平台有哪些?
  • DCIM存内计算技术:原理、挑战与自动化设计实践
  • 告别串口助手:用Python脚本实现YMODEM协议自动升级嵌入式固件(附源码)
  • Electron在鸿蒙PC上监听文件变化,chokidar静默失效,我被迫写了一个轮询器
  • WarcraftHelper终极教程:5分钟让魔兽争霸3焕发新生
  • Windows ADB驱动终极安装指南:3分钟搞定Android开发环境