开云(中国)股份有限公司 | 手工具制造专家

公司新闻

2026年ReAct Agent架构揭晓:原生工具调用与LangGraph状态机解析

  ReAct(Reason + Act)架构要解决的问题是开放式研究里最经典的问题。本文要做的是一个 Research Brief Agent:会上网搜索、抓取真实 URL、压缩证据,最终产出一份带真实引用的结构化简报。重点不在于功能,而在于 正确写法——不再依赖那种脆弱的 Thought: / Action: 字符串解析。

2026年ReAct Agent架构揭晓:原生工具调用与LangGraph状态机解析(图1)

  ReAct 论文最初证明了,让 LLM 在动手之前先把推理写出来,效果会明显更好。

  demo 阶段勉强能跑到了生产环境就问题成堆。模型对格式的幻觉源源不断:一会儿漏掉 Action Input: 前缀,一会儿调用一个根本不存在的工具,正则当场就崩。

2026年ReAct Agent架构揭晓:原生工具调用与LangGraph状态机解析(图2)

  这套写法早就被淘汰了,但Reason、Act、Observe 这三段核心节奏依然成立,只是执行模型完全换了一种思路。

  现在的工具使用系统不再做字符串解析,而是原生的、结构化的 API tool calling。schema 校验由 LLM 提供方负责——OpenAI、Anthropic、Google 都是如此——严格性放在他们那一侧。

  循环一直跑到 LLM 觉得证据足够,然后输出一段普通的文本回复,而不是再发一个 tool call。

2026年ReAct Agent架构揭晓:原生工具调用与LangGraph状态机解析(图3)

  只有消息还不够。引用也要追踪:不光要让 LLM 写出一段总结,还得拿到一份能在 UI 里渲染的具体引用列表。

2026年ReAct Agent架构揭晓:原生工具调用与LangGraph状态机解析(图4)

  把图连起来之前得先有工具,一个常见错误是给 agent 一个返回完整原始 HTML 的工具——第一轮循环还没结束,上下文窗口就已经被冲爆。

  错误处理的写法值得多看一眼:httpx 抛超时,捕获之后把异常转成 JSON 字符串返回。一个失效链接不应当能整死一整张图的执行。错误以字符串形式回流,LLM 把它读作一次 observation,自然会去尝试别的链接。

2026年ReAct Agent架构揭晓:原生工具调用与LangGraph状态机解析(图5)

  ReAct 图的结构出乎意料地简单——本质上只要两个主节点:一个让 LLM 推理,一个执行工具。

  reason_node 是认知工作真正发生的地方,整段消息历史会一次性喂给模型;信息不够时,模型会回一条带 tool_calls 的 AIMessage。

  如果让 ToolNode 把结果直接倒回 state 就此打住,等于错失了一个机会。引用应该在过程中就抽出来,不必等到写最终简报时再让 LLM 凭记忆复盘每一个 URL。

  这个节点拦下原始的工具输出做一次解析,更新结构化的 citations 账本,顺手也维护 stagnant_turns。Agent 连续三轮没找到任何新 URL,那就是卡住了。

  一个开放式 agent 的最大一个问题是无法收敛。你问的是 2026 年的实践,它一头扎进 2018 年的 API 文档——这种情况发生时,你需要清楚地知道是哪些搜索结果把它带歪的。

  State 不过是一份消息列表,不持久化的话,脚本一退出就什么都没了。前面几篇文章里造好的 Postgres checkpointer 现在派上用场。

  把 topic 哈希成 thread_id,相同主题二次运行时就会从中断点续上,而不是从零开跑。还有一个更现实的好处:整个 ReAct 循环会在数据库里留下完整可查询的记录。

  各部分拼起来之后,整个 workflow 看起来很顺:agent 推理,工具执行,state 被清洗,循环再来一遍。条件触发后,落到 finalization 阶段。

  这段代码现在跑起来,多数时候表现得很漂亮:搜索、抓几个页面、写出一份扎实的简报。

  LLM 会判定手头的信息还差点意思,于是换个略不一样的关键词再搜一次,再抓一个页面,再搜一次。每次新增的 ToolMessage 都在拉长上下文窗口,agent 渐渐失焦被自己堆出来的海量文本搞混了。

  循环不加约束的后果非常具体——一个 agent 可以心安理得地连发 100 次 tool call,把 API 预算烧光,最后在超过模型最大 token 限制时直接挂掉。

  路由里那个 max_steps 检查只是基础款;stagnant_turns 用来抓住卡住的瞬间。生产环境要的远不止这些:实时监控 token 用量、为特定工具加熔断器(circuit breaker)、给 agent 留一个 逃生舱 在彻底找不到答案时去找人介入——一整套约束都得跟上。

2026年ReAct Agent架构揭晓:原生工具调用与LangGraph状态机解析(图6)

  到这一步,一个能跑的 ReAct 循环已经具备:原生 tool calling,state 持久化,脆弱的字符串解析换成了结构化的证据收集。

  但成本失控的问题还存在。后续我们会把这个循环锁紧——硬性约束、token 预算、循环检测算法一起上,把这份原型变成可以放到生产环境长期运行的模式。

  特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

  1979年越南女兵炸毁我军坦克,罗兴元端起高压喷火枪,将千度烈焰灌进了十米外的地道

  上海一市民通过12345“随申拍”举报地铁站台吸烟者,收到答复:巡视员未发现,若发现会制止,不配合会报警,市民:理解但希望加强巡视

  小米SU7自动泊车时撞上悬空墙体;车主:以后不再用了;厂家:悬空障碍物会影响到泊车辅助功能

  演员毛晓彤凌晨从医美诊所离开引网友热议,其晒医院检测报告回应:作为一个从小爱吃面食的天津人,查出面粉不耐受可怎么办

  国家电网第二批录了10500人,清华才7个,一所你没听过的学校进了444人

  尚界汽车法务部:北京国际车展现场有观众蓄意破坏展车内饰,造成车辆损伤,已做好取证

  詹皇29+13+6无缘今日最佳,申京33+16也落选,只因塔图姆刷爆纪录

  新商业周报|多家电商平台发布618相关政策;珀莱雅业绩首现双降;微信宣布5国可用微信支付

  英伟达适配DeepSeek-V4 AI模型,开箱性能超150 tokens/sec/user

导航栏目

新闻中心

联系我们

公司名称: 开云(中国)股份有限公司

手 机: 13956202236

电 话: 0575-85786255

邮 箱: inkaiyun@qsbcpd.com

地 址: 浙江省绍兴市柯桥区中国轻纺城