如果只是调用一次大模型,代码通常并不复杂:准备 Prompt,发送给模型,再拿到返回结果。

但当需求变成“先判断问题,再查询数据,根据结果继续执行,必要时调用多个工具,并记住前面的信息”,单次 LLM 调用就不够了。开发者需要管理模型、工具、上下文、执行状态、异常处理以及整个调用循环。

这正是 AI Agent 要解决的问题。

LangChain 的作用,可以理解为把这些能力组织成一套统一的 Agent 开发框架。理解它不需要先记大量 API,先掌握 Model、System Prompt、Tools、Agent Loop、State / Memory、Middleware、Structured Output 这 7 个概念,就能建立完整的认识。

一、整体结构

AI Agent 可以简单理解为:由大模型负责判断下一步做什么,并能够使用外部工具持续执行任务的程序。

普通 LLM 调用通常是:

用户输入 → 模型 → 返回结果

而 Agent 更接近:

用户输入   ↓模型判断   ↓是否需要工具?   ↓调用工具   ↓获得结果   ↓再次交给模型判断   ↓……   ↓最终答案

也就是说,两者最大的区别不是有没有 Prompt,而是有没有一个持续运行的决策—执行循环

LangChain 当前通过 create_agent() 提供 Agent 的高层入口。它负责把模型、工具、状态、中间件等组件组装起来,底层则使用 LangGraph 的图运行时执行整个 Agent 循环。

因此可以把相关层级大致理解为:

应用程序   ↓LangChain Agent   ↓Model / Tools / Middleware / Memory   ↓LangGraph Runtime

LangChain 更关注“怎样方便地搭建 Agent”,LangGraph 则提供更底层的状态、节点、边和执行能力。

理解这个关系之后,再看下面 7 个概念就会清楚很多。

二、模型与提示词

第一个概念是模型(Model)

模型是 Agent 的决策中心。它负责阅读当前上下文,理解用户目标,并决定是直接回答,还是调用某个工具。

LangChain 对不同模型提供了统一接口。例如可以直接通过模型标识创建 Agent:

from langchain.agents import create_agent agent = create_agent(    model="openai:gpt-5.5",    tools=[])

也可以先创建具体模型对象,再交给 Agent。这样更方便配置温度、超时、Token 数量等参数。

和 Model 紧密相关的是第二个概念:系统提示词(System Prompt)

模型决定“怎么思考”,System Prompt 则规定“应该按照什么规则工作”。

例如:

agent = create_agent(    model="openai:gpt-5.5",    tools=[],    system_prompt="""你是一个库存管理助手。回答库存问题时必须以系统查询结果为准,不得自行猜测库存数量。""")

这里真正解决的问题,不是让 Prompt 写得更长,而是明确 Agent 的行为边界。

实际项目中,模型看到的不只有 System Prompt,还包括消息历史、可用工具、当前状态以及输出格式等。这些内容共同构成模型每一次调用时的上下文。LangChain 将这部分工作归入 Context Engineering,也就是上下文工程。

三、工具与调用

第三个概念是工具(Tool)

LLM 本身主要负责语言理解和生成,并不能访问你的数据库、内部 API 或业务系统。

如果希望 Agent 查询库存,就需要把查询库存的能力包装成 Tool。

from langchain.tools import tool @tooldef get_stock(product: str) -> int:    """查询指定商品当前库存数量。"""    stocks = {        "机械键盘": 12,        "无线鼠标": 5,    }    return stocks.get(product, 0)

这里的函数并不是由开发者直接决定什么时候调用。

LangChain 会把工具的名称、参数和描述提供给模型。模型结合用户问题判断是否需要调用,以及应该传入什么参数。工具执行后的结果又会重新放回 Agent 上下文,让模型继续判断下一步。

于是:

“机械键盘还有库存吗?”

可能被转换为:

调用 get_stock(product="机械键盘")

得到:

12

模型再根据这个结果生成最终回答。

这也是 Tool Calling 与普通函数调用的重要区别:函数由程序流程决定调用,Agent Tool 通常由模型根据当前任务决定是否调用。

四、Agent循环

第四个概念是 Agent Loop

如果只理解 Tool,而没有理解 Agent Loop,很容易把 Agent 看成“会自动调用函数的聊天机器人”。

实际上,Agent 最重要的机制是循环执行。

一次任务可能经历:

Model ↓Tool ↓Model ↓Tool ↓Model ↓Final Answer

例如用户提出:

查询机械键盘库存,如果超过 10 件,告诉我是否可以接一个 8 件的订单。

模型第一次并不知道库存,因此调用 get_stock()

工具返回 12。

结果重新进入模型后,模型发现:

12 > 10

同时:

12 >= 8

于是停止工具调用,给出最终答案。

LangChain 的 create_agent() 会自动建立这种循环。当模型继续产生 Tool Call 时,Agent 执行工具;当模型不再要求调用工具并产生最终输出时,循环结束。底层执行过程由 LangGraph 管理。

这一步实际上把开发者从大量手写流程代码中解放了出来。

否则你需要自己处理:

while True:    response = call_model()     if response.has_tool_call:        result = execute_tool()        append_result(result)    else:        break

而真实项目还会涉及多工具、失败重试、状态保存、调用限制等问题,循环很快就会变复杂。

五、状态与记忆

第五个概念是状态(State)与记忆(Memory)

Agent 在执行过程中需要不断保存数据。例如:

用户说了什么模型返回了什么调用了哪个工具工具返回了什么当前执行到哪一步

这些数据构成 Agent 的 State。

LangChain Agent 默认会维护消息状态,因此同一次执行过程中,模型可以看到前面的 Tool Message 和对话消息。

但如果希望第二次调用还能记住第一次的信息,就需要持久化。

LangChain 的短期记忆以线程为范围,可以通过 Checkpointer 保存 Agent State。

例如:

from langgraph.checkpoint.memory import InMemorySaver checkpointer = InMemorySaver() agent = create_agent(    model="openai:gpt-5.5",    tools=[get_stock],    checkpointer=checkpointer)

调用时指定同一个 thread_id

config = {    "configurable": {        "thread_id": "user-001"    }}

同一个线程后续执行时,就可以继续读取之前的状态。

需要注意,State 不等于长期记忆

短期记忆通常服务于当前会话线程;如果希望跨会话保存用户偏好、档案或长期知识,LangChain 还提供基于 Store 的长期记忆机制。

可以简单记成:

State / Checkpointer→ 当前会话发生了什么 Store→ 跨会话长期保存什么

六、中间件机制

第六个概念是中间件(Middleware)

当 Agent 从演示代码进入真实项目后,很快会出现新的需求:

模型失败时自动重试工具调用失败时统一处理调用危险工具前需要审批对敏感信息进行过滤限制最大模型调用次数上下文太长时自动摘要根据任务动态选择模型或工具

如果把这些逻辑全部塞进 Tool 或 Prompt,Agent 会越来越难维护。

Middleware 的作用,就是在 Agent 生命周期的关键位置插入控制逻辑,而不需要改写整个 Agent Loop。

例如可以在模型调用前处理上下文,在工具执行前检查权限,在模型返回后验证结果。

LangChain 还提供了多种内置 Middleware,包括摘要、Human-in-the-loop、模型调用限制、工具调用限制、重试、PII 检测等。

因此可以把它理解成:

Agent Loop    │    ├── before model    ├── model    ├── after model    ├── before / wrap tool    ├── tool    └── after tool

Middleware 并不是另一个 Agent,也不是独立 Runtime,而是嵌入 Agent 执行过程中的扩展机制。

七、结构化输出

第七个概念是结构化输出(Structured Output)

很多 Agent 教程最后只打印一段自然语言:

机械键盘目前库存 12 件,可以接受 8 件订单。

但真实系统往往不能只依赖这句话。

前端、数据库或后续业务逻辑可能更希望得到:

{  "product": "机械键盘",  "stock": 12,  "can_accept_order": true}

这就是 Structured Output 要解决的问题。

LangChain 可以通过 response_format 指定 Pydantic Model、Dataclass、TypedDict 或 JSON Schema,让 Agent 最终返回可验证的数据结构。结果会保存在 Agent State 的 structured_response 中。

例如:

from pydantic import BaseModel class StockDecision(BaseModel):    product: str    stock: int    can_accept_order: bool

创建 Agent 时:

agent = create_agent(    model="openai:gpt-5.5",    tools=[get_stock],    response_format=StockDecision)

这样 Agent 的最终结果就不再只是供人阅读的文本,还能直接参与程序逻辑。

这也是开发 Agent 时很容易被忽略的一点:自然语言适合人与 Agent 交流,结构化数据更适合 Agent 与系统交流。

八、完整示例

把前面的概念组合起来,可以得到一个很小但完整的 Agent。

先安装依赖:

pip install -U langchain langchain-openai

LangChain 当前要求 Python 3.10 及以上;不同模型提供商的集成通常安装在独立 Provider Package 中,例如 OpenAI 使用 langchain-openai

下面实现一个库存 Agent:

from pydantic import BaseModelfrom langchain.agents import create_agentfrom langchain.tools import toolfrom langgraph.checkpoint.memory import InMemorySaver  @tooldef get_stock(product: str) -> int:    """查询指定商品当前库存数量。"""    stocks = {        "机械键盘": 12,        "无线鼠标": 5,    }    return stocks.get(product, 0)  class StockDecision(BaseModel):    product: str    stock: int    can_accept_order: bool  agent = create_agent(    model="openai:gpt-5.5",    tools=[get_stock],    system_prompt="""你是库存管理助手。判断是否能够接单时,必须先查询实际库存。只有库存数量大于等于订单数量时才能接单。""",    response_format=StockDecision,    checkpointer=InMemorySaver(),)  result = agent.invoke(    {        "messages": [            {                "role": "user",                "content": "客户想订购 8 个机械键盘,可以接单吗?"            }        ]    },    {        "configurable": {            "thread_id": "order-001"        }    }) print(result["structured_response"])

运行结果

示例输出如下:

product='机械键盘' stock=12 can_accept_order=True

从这个结果可以看到,代码本身并没有写:

get_stock("机械键盘")

真正的执行过程是:

用户提出订单需求↓模型理解任务↓决定调用 get_stock↓Tool 返回 12↓结果写回 Agent State↓模型继续判断↓生成 StockDecision↓Agent Loop 结束

Model 负责判断,System Prompt 规定规则,Tool 获取外部数据,Agent Loop 负责持续执行,State 保存过程信息,Structured Output 则把最终结果转换成程序可直接使用的数据。

这几部分组合起来,才形成一个完整的 Agent。

九、使用边界

理解 LangChain 之后,还需要避免另一个误区:并不是所有 LLM 应用都需要 Agent。

如果业务流程完全确定,例如:

读取文件→ 提取文本→ 调用模型总结→ 保存数据库

这种流程用普通代码或固定 Workflow 往往更合适。因为每一步都已经由开发者确定,没有必要让模型判断下一步。

Agent 更适合那些执行路径无法在开发时完全确定的任务,例如:

根据问题决定查询哪个数据源根据搜索结果决定是否继续搜索根据用户意图选择不同工具根据执行结果动态调整下一步

如果只需要模型生成文本,直接调用 Model 就够了。

如果需要模型在有限工具之间自主决策,可以使用 LangChain Agent。

如果工作流包含大量明确的分支、并行节点、循环和人工审批,而且希望精确控制每一步,则可以进一步使用更底层的 LangGraph。

这种选择比单纯比较哪个框架“更强”更有意义。

最后

对于正在迷茫择业、想转行提升,或是刚入门的程序员、编程小白来说,有一个问题几乎人人都在问:未来10年,什么领域的职业发展潜力最大?

答案只有一个:人工智能(尤其是大模型方向)

当下,人工智能行业正处于爆发式增长期,其中大模型相关岗位更是供不应求,薪资待遇直接拉满——字节跳动作为AI领域的头部玩家,给硕士毕业的优质AI人才(含大模型相关方向)开出的月基础工资高达5万—6万元;即便是非“人才计划”的普通应聘者,月基础工资也能稳定在4万元左右

再看阿里、腾讯两大互联网大厂,非“人才计划”的AI相关岗位应聘者,月基础工资也约有3万元,远超其他行业同资历岗位的薪资水平,对于程序员、小白来说,无疑是绝佳的转型和提升赛道。

如果你还不知道从何开始,我自己整理一套全网最全最细的大模型零基础教程,我也是一路自学走过来的,很清楚小白前期学习的痛楚,你要是没有方向还没有好的资源,根本学不到东西!

下面是我整理的大模型学习资源,希望能帮到你。

👇👇扫码免费领取全部内容👇👇

在这里插入图片描述

最后

1、大模型学习路线

2、从0到进阶大模型学习视频教程

从入门到进阶这里都有,跟着老师学习事半功倍。

3、 入门必看大模型学习书籍&文档.pdf(书面上的技术书籍确实太多了,这些是我精选出来的,还有很多不在图里)

4、 AI大模型最新行业报告

2026最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

5、面试试题/经验

【大厂 AI 岗位面经分享(107 道)】

【AI 大模型面试真题(102 道)】

【LLMs 面试真题(97 道)】

6、大模型项目实战&配套源码

适用人群

四阶段学习规划(共90天,可落地执行)
第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型

  • 带你了解全球大模型

  • 使用国产大模型服务

  • 搭建 OpenAI 代理

  • 热身:基于阿里云 PAI 部署 Stable Diffusion

  • 在本地计算机运行大模型

  • 大模型的私有化部署

  • 基于 vLLM 部署大模型

  • 案例:如何优雅地在阿里云私有部署开源大模型

  • 部署一套开源 LLM 项目

  • 内容安全

  • 互联网信息服务算法备案

  • 👇👇扫码免费领取全部内容👇👇

    在这里插入图片描述

3、这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐