LangChain 系列之Agent:从固定流程到模型自主决策
17 / 22 章
01 Agent 到底是什么? 普通大模型,只会回答。Agent 不一样,它可以先判断,再行动,再根据结果继续判断。 一句话:Agent = 会使用工具的大模型循环。 用户问“帮我分析这只股票今天为什么涨”,普通问答可能直接编。Agent
01 Agent 到底是什么?
普通大模型,只会回答。Agent 不一样,它可以先判断,再行动,再根据结果继续判断。
一句话:Agent = 会使用工具的大模型循环。
用户问“帮我分析这只股票今天为什么涨”,普通问答可能直接编。Agent 会先查行情,再查公告,再查新闻,再把结果合在一起回答。
这就是差别。不是模型更神,而是模型被接到了真实系统上。
02 为什么固定 Chain 不够?
Chain 适合固定流程。比如企业知识库问答:检索,拼上下文,调用模型,返回答案。流程清晰,稳定,可控。
但真实任务经常不固定。用户的问题可能需要查订单,也可能需要查数据库,也可能需要查网页,也可能先检索再计算。你提前写死所有分支,代码会越来越乱。
Agent 的价值,就是把“下一步做什么”交给模型判断。
但注意:不是把一切都交给模型。模型只负责决策。真正执行,还是工具和业务系统。
03 LangChain 里的 Agent,不是玄学
LangChain 官方现在把 Agent 讲得很清楚:Agent 是模型在循环中调用工具,直到任务完成。围绕这个循环,还有一层 harness,也就是模型、Prompt、工具、中间件、状态、检查点这些工程能力。
所以 LangChain Agent 不是一个“神秘智能体”。它更像一个可运行的图:模型节点负责判断,工具节点负责执行,状态负责保存消息,路由负责决定继续还是结束。
04 create_agent 做了什么?
从使用者看,create_agent 很简单:传模型,传工具,传系统提示词。
from langchain.agents import create_agent
from langchain.tools import tool
@tool
def query_order(order_id: str) -> str:
"""查询订单状态"""
return "订单已发货,预计明天到达"
agent = create_agent(
model="openai:gpt-5.5",
tools=[query_order],
system_prompt="你是一个客服助手,回答必须简洁准确。"
)
result = agent.invoke({
"messages": [{"role": "user", "content": "帮我查订单 123"}]
})
从源码视角看,create_agent 不是简单返回一个函数。它会创建一个 Agent Graph。这个 Graph 里至少有模型节点和工具节点。模型节点输出 tool_calls,工具节点执行工具,再把结果写回 messages。
如果模型还要继续调用工具,就继续循环。如果模型不再返回 tool_calls,就结束。
05 Agent 的状态核心:messages
Agent 不是靠一个字符串记上下文。它靠状态。状态里最重要的字段,就是 messages。
messages 里会依次保存用户消息、模型消息、工具调用、工具返回、最终回答。每一轮模型调用,都会读取这组消息。
这也是为什么前面我们专门讲过 Messages。Agent 是 Messages 的高级用法。
06 Agent Loop 怎么跑?
源码链路可以压缩成五句话。
第一步,agent.invoke() 把用户输入写入 State。
第二步,图运行时进入 model node。
第三步,model node 把 messages、system_prompt、tools 组装好,调用模型。
第四步,模型如果返回 tool_calls,图会路由到 tools node;tools node 执行工具,生成 ToolMessage。
第五步,ToolMessage 进入 messages,图再回到 model node。直到模型不再返回 tool_calls。
所以 Agent 的本质不是“模型会思考”。而是“模型输出动作,系统执行动作,结果再喂回模型”。
07 Tool Calling 和 Agent 的关系
上一章讲 Tool Calling,我们只讲到模型怎么选择工具。到了 Agent,这个动作被自动循环起来。
手动 Tool Calling 是你自己写 while 循环:发现 tool_calls,就执行工具,再把结果塞回模型。
Agent 是 LangChain 帮你把这个循环封装好。
但封装不等于不用理解。线上排查时,你一定要知道:模型有没有返回 tool_calls?工具有没有执行?ToolMessage 有没有回填?最后有没有再次调用模型?
08 什么场景适合 Agent?
不是所有任务都要 Agent。能固定流程,就别上 Agent。Agent 强在动态决策,也贵在动态决策。
一句话:固定流程用 Chain。动态工具调用用 Agent。复杂审批和状态机用 LangGraph。
09 Agent 的能力边界
Agent 很强,但也危险。它可能选错工具,可能传错参数,可能重复调用,可能把成本打爆。
所以生产环境不能让 Agent 裸奔。
工具必须白名单。参数必须校验。高风险动作必须人工确认。工具结果必须审计。模型失败必须降级。
10 企业项目里怎么落地?
推荐架构还是老规矩:Java 主服务做业务,Python AI 服务做 Agent。
Java 负责鉴权、用户、订单、权限、审计。Python 负责 LangChain、模型、工具、RAG、Agent 编排。
Agent 不直接碰生产数据库。它通过受控工具访问业务系统。每次调用都要有 requestId、userId、toolName、args、result、cost、latency。
11 智能客服里的 Agent 怎么跑?
用户问:我的订单怎么还没到?
Agent 第一轮调用模型。模型判断需要查订单,于是返回 query_order 工具调用。
工具节点查询订单系统,返回物流状态。
模型第二轮读取 ToolMessage,发现还需要查售后规则,于是调用 policy_search。
拿到规则后,模型生成最终答案:订单当前在哪,预计多久到,是否可以补偿,下一步怎么做。
这就是 Agent 比普通 RAG 更强的地方:它不是只查一次资料,而是会根据中间结果继续行动。
12 源码理解的关键点
理解 Agent,不要背概念。抓住四个点就够。
第一,Agent 的输入输出是 State,不只是字符串。
第二,State 里最关键的是 messages。
第三,模型是否返回 tool_calls,决定图往哪里走。
第四,工具执行结果必须变成 ToolMessage,再喂回模型。
这四点明白了,LangChain Agent 就不玄了。
14 总结
Chain 是固定流水线。Agent 是动态决策循环。
Tool Calling 是单次工具选择。Agent 是把工具选择、工具执行、结果回填、再次判断串成循环。
create_agent 的价值,不是少写几行代码,而是把模型、工具、Prompt、中间件、状态和运行时组织成一个可控的 Agent Graph。
真正落地时,Agent 不能裸奔。必须有权限、审计、限流、超时、人工确认和降级兜底。
下一章,我们继续讲新版 LangChain 的核心入口:create_agent。重点看它的参数、运行图、状态 schema、中间件和结构化输出。
相关推荐

巴西AI黑马Rio 3. 5 翻车:被指套壳缝合两款国产大模型
近日,由巴西里约热内卢市政府旗下IT公司推出的开源大模型Rio 3.5 397B在AI圈引发广泛关注。该模型号称在多项基准测试中斩获SOTA,成功杀入全球大模型 第一 梯队,一时间风头无两。 核心权重遭数学起底 然而,这款黑马模型发布不足 24 小时便遭遇反转。AI智能体开源项目联盟Nex-AGI发布声明,直指Rio 3. 5 实际上是一款套壳缝合模型。 N

顾客用AI伪造病历“碰瓷”餐厅,多店连续受害终难逃法网
日前,上海市杨浦区人民法院公开审理并当庭宣判了一起利用AI技术进行敲诈勒索的案件。被告人杨某通过AI软件伪造医院诊断证明及收费单据,以在餐厅就餐导致生病为由实施诈骗。 AI技术沦为犯罪工具 今年上半年,当地一家烤肉店向警方报警,称有顾客以“吃坏肚子”为由恶意索赔。该顾客出示了AI生成的就诊记录和医疗发票,迫使店家赔付了 2000 元。 随后,烤肉店店长在与同

越狱风波引发全球封杀,顶尖AI模型Claude Fable5 遭遇“光速下架”
近日,Anthropic公司发布了号称史上 最强 的Mythos级大模型Claude Fable5,凭借在编程与复杂任务处理上的碾压级表现,该模型迅速成为技术圈的焦点。然而,仅仅72小时后,这款备受瞩目的AI产品便遭遇了美国政府的“全球封杀令”,被迫全线停服。 此次禁令的力度 史无前例 。美国政府以国家安全为由,不仅禁止美国境外的个人与机构访问该模型,甚至明

智商不减、成本砍掉四分之三!百度通用智能体DuMate完成关键进化
6月15日,百度旗下企业级通用智能体产品“百度搭子DuMate”宣布完成核心引擎升级,国内通用智能体 首次 通过Harness引擎及工程优化实现了任务消耗的大幅下降。 此次升级在保障Agent智能能力与任务执行效果不受影响的前提下,通过Harness引擎以及多项工程层面的持续调优,成功将任务执行过程中的Token消耗显著降低了75%,对应用户的积分消耗也同步
LangChain 系列 之 Short-term Memory:当前会话内如何保存状态?
1. 短期记忆到底是什么? Short-term Memory = 当前 thread 内的状态保存。它让 Agent 在同一段会话里记住前面发生过什么。 LangChain 官方把短期记忆叫做 thread-level persisten
PyTorch 系列 之 nn.Module:所有模型的骨架
开篇:Module 不是“普通父类” 写 PyTorch 模型,最终都会回到 nn.Module。 它不是一个空壳父类。它是模型的总管:管参数、管子模块、管状态、管调用、管保存加载。 你写的 forward 只是计算逻辑。真正让模型“像模型
阅读补充
一句话看懂
01 Agent 到底是什么? 普通大模型,只会回答。Agent 不一样,它可以先判断,再行动,再根据结果继续判断。 一
事件背景
这篇内容围绕“LangChain”展开,热闻岛基于公开信息整理事件背景、主要进展与可继续关注的方向。
事件时间线
发布
相关信息进入公开传播
更新
热闻岛对内容进行整理与补充。
看点
- · LangChain的最新进展是什么
- · 相关信息对用户或行业会带来哪些影响
- · 后续是否会有新的回应或处理结果
后续关注
- · 后续官方回应或权威通报
- · 相关主体的进一步说明
- · 事件对普通用户和平台传播的持续影响
免责声明:本文仅代表作者观点,不构成投资建议、法律建议、医疗建议。财经类内容尤其需要注意风险;爆料类信息请以权威通报为准。
评论 (0)
登录后即可发表评论
去登录