智能体开发的“地基“:为什么 LangChain 是首选工具?
上篇聊了智能体本质 – 目标驱动、环境交互、动态决策。概念清楚了接下来怎么动手你是个有经验的 Python 开发者。想写个能调工具的智能体。方案 A直接调 OpenAI API很快发现问题远不止发请求、拿结果。消息格式要手拼、多轮历史自己维护、工具调用手动解析 JSON 再 dispatch、出错自己重试、超 token 自己截断……代码越写越长逻辑越缠越乱。方案 B用 LangChain定义好工具框架自动完成消息拼接、工具解析、结果回注、循环控制。你只关注一件事决策逻辑。核心问题智能体开发痛点在哪LangChain 为何能解决一句话智能体开发 从模型调用走向系统工程。LangChain 价值 封装重复逻辑让你聚焦决策规则设计。图1纯 API 痛点 vs LangChain 方案第一性原理智能体开发到底难在哪先想清楚智能体和一次 API 调用的本质区别智能体 ≠ 调一次 API。智能体 循环Loop。基本运行流程用户输入 LLM 推理 需要工具 调用工具 结果反馈 继续推理 输出答案每次循环要处理六件事#任务描述1消息格式化问句转 API 的 message 结构2模型调用HTTP 请求、流式、重试、token 计数3工具调用解析从 LLM 返回的文本/JSON 提取工具名和参数4结果注入工具执行结果重新格式化成 LLM 能理解的输入5上下文维护整轮交互拼到历史消息列表6循环控制继续还是结束最大迭代错误恢复 痛点公式N 个工具 x M 步循环 N x M 次手动编排。类比纯 API 开发 不用框架写 Web 服务。你可以手写 HTTP 解析器 路由 中间件 – 但为什么要重复造轮子什么时候该用纯 API 只需一次性 LLM 调用如翻译一句话直接调 API 够用。但任务需要多步推理、工具调用、外部知识中的任何一项就需要抽象层了。10 行代码见分晓纸上谈兵不如看代码。同一个场景——带加法工具的对话——两个方案对比。方案 A纯 API 调用import openai, json def add(a: int, b: int) - int: return a b messages [{role: user, content: 123 456 等于多少}] while True: resp openai.chat.completions.create( modelgpt-4, messagesmessages, tools[{type: function, function: {name: add, description: 加法计算器, parameters: {type: object, properties: {a: {type: number}, b: {type: number}}}}}}] msg resp.choices[0].message if not msg.tool_calls: print(msg.content); break for tc in msg.tool_calls: if tc.function.name add: args json.loads(tc.function.arguments) result add(args[a], args[b]) messages.append({role: tool, tool_call_id: tc.id, content: str(result)})如果工具从 1 个变成 5 个循环跑 10 步还要处理错误恢复、token 截断 每加一个工具if-else 多一条每多一步消息列表长一段。复杂度不是线性增长——是指数级膨胀。方案 BLangChainfrom langchain.tools import tool from langchain.agents import create_tool_calling_agent, AgentExecutor tool def add(a: int, b: int) - int: 加法计算器 return a b agent create_tool_calling_agent(llm, [add], prompt) executor AgentExecutor(agentagent, tools[add]) result executor.invoke({input: 123 456 等于多少}) print(result[output])关键对比维度纯 APILangChain工具定义手写 JSON Schema if-else dispatchtool装饰器 声明式注册循环控制自己写 while breakAgentExecutor 自动管理消息管理手动维护 messages 列表框架自动拼接和回注扩展工具加一个工具 加一个 if-else 分支加一个tool函数注册即可换模型改 model 参数 兼容性代码换ChatXxx()类名错误处理自己 try-except 重试框架内置核心洞察工具增多、交互复杂时纯 API 复杂度线性暴涨。LangChain 保持 O(1)——你不再写怎么调而是声明要什么。五大核心组件为什么需要LangChain 不是大一统黑盒是由多个独立组件组成的工具箱。每个组件解决一类问题。不需要一次性全上用多少取多少——这才是工程思维。3.1 LLM 抽象层——为什么需要直接调 OpenAI API某天想换 Anthropic 或本地 Ollama——调用代码、消息格式、参数映射几乎全部重写。LLM 抽象层 “统一换肤层”。from langchain_openai import ChatOpenAI from langchain_anthropic import ChatAnthropic from langchain_ollama import ChatOllama llm ChatOpenAI(modelgpt-4) # llm ChatAnthropic(modelclaude-3-opus) # 换一行即可 # llm ChatOllama(modelllama3) # 本地也在话下 result llm.invoke(你好) # 后续代码全不改还自动处理重试策略、token 计数、流式输出、响应解析。什么时候用 项目可能涉及多模型时测试期换模型、生产用收费模型兜底免费模型、本地开发用 Ollama。一生只用一家模型一个实例直接调 SDK 也行。3.2 Chain——为什么需要单次 LLM 调用只能做一件事。真实世界需要多步流程先查知识库 → 再调工具 → 最后整理输出。Chain “工作流胶水”。chain {context: retriever | format_docs, question: lambda x: x[question]} / | prompt | llm | StrOutputParser() result chain.invoke({question: 公司年假政策是什么})用|管道符串联——像 Unix 管道一样直观。手写 3-5 个函数编排、传中间结果、处理错误——Chain 让流程清晰如流程图。什么时候用 任务含 2 步以上“先检索再生成”、“先分析再决策”或需复用流程组合时。3.3 Tool——为什么需要LLM 只能生成文本做不了数学、查不了数据库、调不了外部 API。Tool “手脚扩展”。三个要素浓缩成一条tooltool def search_weather(city: str, date: str) - str: 查询指定城市在指定日期的天气情况 return f{city}在{date}的天气是晴天25°C。函数名 name注释 description类型注解 args_schema。框架自动三件事转 function definition → 解析 tool_calls → dispatch 并回传结果。没这个抽象手写 JSON Schema → 拼到 API 调用 → 解析返回 → if-else dispatch → 格式化回注——每个工具加一个分支每次循环重复一遍。什么时候用 智能体需调用外部功能搜索、计算、数据库、API就用 tool。超过 1 个工具省下的工作量已超过学习成本。图2Agent 执行循环——框架自动完成从解析工具调用到结果回注的全链路3.4 Memory——为什么需要LLM 天生无状态。每次对话它对之前说过的话一无所知。Memory “短期记忆”。不用 Memory每次手动把历史拼到 messages 列表——还得自己管消息长了怎么办。策略原理适用场景ConversationBufferMemory完整保留所有历史对话轮次少需完整上下文ConversationBufferWindowMemory只保留最近 K 轮长对话防 token 溢出ConversationSummaryMemoryLLM 生成摘要极长对话需压缩VectorStoreRetrieverMemory按语义检索最相关片段超大规模历史什么时候用 只要需要多轮对话聊天机器人、多步排查、客服Memory 是必选。起始推荐BufferWindowMemory——简单、可控、不爆 token。3.5 VectorStore——为什么需要LLM 知识有截止日期不包含你的私有数据。问公司的年假政策是什么——它不可能知道。VectorStore “长期知识”。from langchain_community.document_loaders import PyPDFLoader from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain_openai import OpenAIEmbeddings from langchain_community.vectorstores import FAISS loader PyPDFLoader(员工手册.pdf) docs loader.load() chunks RecursiveCharacterTextSplitter( chunk_size500, chunk_overlap50).split_documents(docs) vectorstore FAISS.from_documents(chunks, OpenAIEmbeddings()) retriever vectorstore.as_retriever()没有这个抽象层每个数据源自己写加载器、调 embedding API 自己管索引、检索策略自己实现——一个 RAG 写下来至少 200 行样板代码。什么时候用 智能体需知道训练数据中没有的信息时——文档问答、私有知识库、帮助中心。通用知识问答LLM 预训练知识已足够。工程决策什么时候用 LangChain技术选型没有银弹。场景推荐方案原因一次性 LLM 调用翻译一句话curl / 直接 SDK一行代码解决简单对话机器人单轮 QA直接 API 手写 history引入框架反而重多工具智能体3 工具 多轮LangChain工具调度循环复杂度超出人工管理范围多步 RAG 问答检索生成LangChain VectorStore文档加载、切分、检索、生成一体化生产级复杂 AgentLangChain LangGraph需状态持久化 流式 人工审核毫秒级响应场景纯 API 手写框架有极小开销核心原则不为了用框架而用框架。简单场景直接调 API更干净、更快、心智负担更低。但当你需要 3 个以上工具、多轮交互、外部知识时LangChain 的抽象层省的不是一行代码——是一整个工程。常见误区误区真相“用了 LangChain 就不用写代码”框架只处理基础设施核心决策逻辑还得你自己写“所有场景都应该用 LangChain”简单场景用框架反而引入不必要的复杂度“tool 万能的”复杂工具的输入输出需要仔细设计 schema“Memory 能自动解决所有上下文”要先选合适的策略和窗口大小总结回到开头智能体开发这么复杂怎么入手LangChain 的答案把复杂性拆开分层解决。LLM 抽象层 — 一行代码换模型Chain — 管道符串起多步流程Tool — 装饰器声明即用Memory — 多种策略按需选VectorStore — 私有数据也能用五个组件划出智能体开发的地基。理解了它们你就从知道 LangChain 是个框架变成了知道 LangChain 为什么长这样。系列回顾篇标题核心1从自动执行到自主决策智能体本质 目标驱动 环境交互 动态决策2LangChain 是首选工具智能体开发 从模型调用到系统工程概念 工具两条腿走路。下一步组装第一个完整的智能体程序——真正的动手时刻。参考LangChain 官方博客 / LangChain 1.0 Release / 百度开发者技术博客 / dev.to 技术对比 / OpenAI API 文档这里给大家精心整理了一份全面的AI大模型学习资源包括AI大模型全套学习路线图从入门到实战、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等资料免费分享扫码免费领取全部内容1. 成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。这里我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。2. 大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。书籍含电子版PDF3. 大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。4. 2026行业报告行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5. 大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。6. 大模型面试题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。7. 资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容

相关新闻

盘古模型热带气旋快速增强预报评估

盘古模型热带气旋快速增强预报评估

文献来源:Evaluation of the Pangu model in forecasting rapid intensification of tropical cyclones 期刊:Atmospheric and Oceanic Science Letters, 2026, 19: 100721(开放获取,CC BY-NC-ND) 作者:Yuc…

2026/7/31 1:57:08 阅读更多 →
副业“刚需化”时代:五大热门副业方向深度解析

副业“刚需化”时代:五大热门副业方向深度解析

2025年,中国灵活就业人员达2.8亿人,预计2026年将增至3.2亿人,占全国7.25亿总就业人口的44%以上。灵活就业已正式从就业市场的“补充形式”转变为“重要支柱”。在灵活就业覆盖近半数就业群体、超七成职场人对副业感兴趣的当下,副业…

2026/7/31 1:57:08 阅读更多 →
数值策划之货币数值设计

数值策划之货币数值设计

PDF版本: 链接: https://pan.baidu.com/s/1AkWPVp5gRcjJwn_PxEsJYQ 提取码: jxpd 1.如果您是游戏中的经济学家,您会如何设计游戏中的金币产出和消费机制? 作为游戏中的经济学家,我会设计一个平衡和有趣的金币产出和消费机制。首…

2026/7/31 1:57:08 阅读更多 →

最新新闻

多邻国架构实战:构建高效多语言系统的核心设计与实现

多邻国架构实战:构建高效多语言系统的核心设计与实现

在日常开发中,我们经常会遇到需要处理多语言、多地区业务逻辑的场景,比如国际化应用、多租户系统等。这类需求通常被称为"多邻国"模式,即系统需要同时服务于多个不同的语言环境或业务区域。本文将围绕"多邻国216"这一技术…

2026/7/31 2:37:21 阅读更多 →
嵌入式开发必知:USART、IIC、SPI、485、CAN五大通讯协议核心对比与实战选型

嵌入式开发必知:USART、IIC、SPI、485、CAN五大通讯协议核心对比与实战选型

1. 项目概述:为什么我们需要梳理这些通讯协议?干了这么多年嵌入式开发,从51单片机到ARM Cortex-M系列,再到各种复杂的工控和车载项目,我发现一个绕不开的核心就是通讯。无论是让两块芯片“说上话”,还是让一…

2026/7/31 2:37:21 阅读更多 →
平衡车-电机调速和调向

平衡车-电机调速和调向

芯片引脚介绍TB6612FNG 是一块专为驱动直流电机设计的双路全桥驱动芯片。VM:电机电源输入,给电机供电,接STLink5V电源;VCC:接3.3V;GND:接地;AO1/AO2:A通道输出&#xff0…

2026/7/31 2:37:21 阅读更多 →
智能体面试准备(十二):从零手写一个 ReAct Agent——把 B1 到 B11 焊成一台能跑的

智能体面试准备(十二):从零手写一个 ReAct Agent——把 B1 到 B11 焊成一台能跑的

智能体面试准备(十二):从零手写一个 ReAct Agent——把 B1 到 B11 焊成一台能跑的机器 写在前面:B2 讲过 ReAct 范式,B11 讲过怎么评估 Agent。这篇是收官实战——不调任何框架(LangChain/CrewAI 统统不用&…

2026/7/31 2:37:21 阅读更多 →
Equalizer APO深度解析:Windows音频处理流水线的架构揭秘与实战宝典

Equalizer APO深度解析:Windows音频处理流水线的架构揭秘与实战宝典

Equalizer APO深度解析:Windows音频处理流水线的架构揭秘与实战宝典 【免费下载链接】equalizerapo Equalizer APO mirror 项目地址: https://gitcode.com/gh_mirrors/eq/equalizerapo Equalizer APO是一款基于Windows APO(Audio Processing Obje…

2026/7/31 2:37:21 阅读更多 →
嵌入式开发核心:ADC与PWM原理、实战与STM32应用全解析

嵌入式开发核心:ADC与PWM原理、实战与STM32应用全解析

1. 项目概述:从“信号”到“控制”的桥梁在嵌入式开发和硬件控制的世界里,ADC(模数转换器)和PWM(脉宽调制)是两个绕不开的核心技术。无论你是想让单片机“听懂”现实世界的温度、光照,还是想精准…

2026/7/31 2:36:21 阅读更多 →

日新闻

物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:34 阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:34 阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:34 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻