从 ReAct 到生产级智能体运行时:一个大型运营平台的 Agent 框架自研之路
从 ReAct 到生产级智能体运行时:一个大型运营平台的 Agent 框架自研之路Agent 框架教程不少,但能系统讲清楚“范式原理 - 运行时分层 - 工程治理 - 真实项目落地”的中文资料仍然不多。很多文章停留在 Dify 拖拽、LangChain Demo 或单个 Function Calling 示例:接口能调通,页面也能返回结果,但一到真实业务环境,就开始面对循环失控、成本失控、状态丢失、工具越权、并发打爆和故障不可恢复。这篇文章不讨论“怎么快速做一个 Demo Agent”,而是讨论另一个更难、也更有工程价值的问题:当 Agent 真正进入核心业务链路后,我们到底该如何从零构建一个可控、可恢复、可扩展的生产级智能体运行时?全文围绕一个真实且典型的场景展开:大型运营平台中的 AI 运营助手。它需要理解自然语言任务,拆解意图,查询数据,执行工具,必要时调用外部系统,并对写操作做权限控制、幂等保护、补偿和审计。一、业务背景:为什么 Demo Agent 一进生产就失控我们服务的是一个大型电商运营平台。运营同学会提出类似下面的请求:帮我找出最近 7 天退款率超过 5% 且差评数持续上升的商品,先生成风险报告,再把高风险商品切到人工复核池,并给受影响用户发一张补偿券。这类请求有几个明显特征:输入是自然语言,且常常不完整、不规范。中间要经历意图识别、条件补全、知识查询、业务规则校验、工具调用和结果汇总。一部分操作是只读分析,一部分操作是带副作用的写入。任务链路往往跨越多个系统:商品中心、订单中心、营销中心、风控中心、工单系统。同一时段会出现大量并发任务,请求分布不均,晚高峰明显。团队最早的方案很常见:Prompt + ReAct + 几个工具 + 一层记忆检索。原型阶段效果很好,但一旦进入核心链路,问题会集中暴露:ReAct 循环在工具超时和弱错误提示下反复重试,导致一次任务跑出几十轮。模型上下文里同时塞历史对话、工具说明、RAG 结果和错误日志,Token 很快膨胀。Function Calling 和 MCP 工具混用,没有统一抽象层,模型经常把参数格式写错。长任务执行到第六步时如果服务重启,只能从头再来,已经执行过的写操作存在重复风险。所有链路同步阻塞,LLM、向量检索、工具调用串行叠加,吞吐量上不去。系统知道“模型会调用工具”,但不知道“这次为什么调、能不能调、失败后该不该重试、调过之后怎样补偿”。这说明问题已经不再是“模型够不够聪明”,而是:我们缺的不是一个 Agent Prompt,而是一个 Agent Runtime。二、先讲清楚范式:ReAct、Plan-and-Solve、Workflow 到底差在哪很多人知道 ReAct、Plan-and-Solve、Workflow 这些名词,但不知道它们真正的架构差异。生产系统里,范式不是概念问题,而是状态管理、调度方式和失败恢复方式的问题。2.1 ReAct 的本质:增量状态机ReAct 不是“模型边想边做”这么简单,它本质上是一种带反馈回路的增量状态机。否是用户任务ThoughtActionObservation是否完成Final Answer它的核心特点:每一轮决策都依赖上一轮 Observation。状态以 Trace 形式不断追加,而不是一次性规划完。非常适合探索式任务:排障、检索、诊断、多轮试探式决策。风险也非常明显:容易进入局部循环,且上下文会随步数不断增长。工程上,ReAct 要解决的不是“能不能让模型继续思考”,而是:循环最多跑多少步。每一步最长执行多久。哪些错误允许模型自修复,哪些错误必须强制终止。Trace 如何压缩,避免上下文无限膨胀。2.2 Plan-and-Solve 的本质:先计划,再调度Plan-and-Solve 将“推理”拆成两个阶段:规划阶段:生成可执行计划。执行阶段:按照依赖关系调度子任务。用户任务Planner任务 DAGTask 1Task 2Task 3Result StoreFinal Compose它和 ReAct 最大的区别不在于“先想还是边想”,而在于:状态载体从连续 Trace 变成了任务图 + 事实表。执行单元从“一个循环步骤”变成了“一个可独立重试的节点”。可以做并行调度,天然更适合结构化流程。某个节点失败时,不必重放整条链路。2.3 Workflow 的本质:显式流程控制Workflow 不是更高级的 Agent,而是把流程控制权从模型手里拿回来,交给工程系统。它适合:审批流、工单流、订单流这类强规则场景。对一致性、审计和可解释性要求很高的任务。需要人工确认和固定补偿逻辑的操作链路。2.4 三种范式怎么选维度ReActPlan-and-SolveWorkflow核心状态TraceDAG + Facts显式状态机调度方式串行循环拓扑调度引擎编排优势灵活、探索能力强易并行、易重试可控、可审计风险循环失控、成本失控计划失真灵活性不足适用任务搜索、诊断、开放式分析结构化多步骤执行高风险写操作、审批流生产级系统通常不会三选一,而是组合使用:用 ReAct 处理不确定性高的分析与探索。用 Plan-and-Solve 拆解复杂任务。用 Workflow 承接最终写操作和补偿流程。这也是本文后面运行时设计的基础。三、Agent Runtime 的真正职责:不是帮模型“更会答”,而是让系统“不会失控”生产级 Agent Runtime 至少要解决七件事:任务如何被接收、排队、调度。范式如何被选择,是走 ReAct、Plan-and-Solve 还是固定 Workflow。工具如何统一接入,包括本地函数、HTTP API、MCP Server。状态如何持久化,任务中断后如何恢复。记忆如何分层管理,避免“什么都记、什么都检索”。写操作如何做权限控制、幂等、补偿和审计。整条链路如何被观测、限流、隔离和扩展。如果一个系统只能把模型接上工具,那它是工具增强问答系统;只有当它开始承担这些运行控制职责时,它才称得上运行时。四、整体架构:从单个 Agent 进化为生产级运行时4.1 运行时分层我们最终将系统拆成七层:

相关新闻

Unity UI LayoutElement三剑客:Min、Preferred、Flexible属性深度解析与实战应用

Unity UI LayoutElement三剑客:Min、Preferred、Flexible属性深度解析与实战应用

1. 项目概述:从“能用”到“好用”的UI布局进阶之路在Unity UI开发里,RectTransform和基础布局组件(如Horizontal/Vertical Layout Group)是每个开发者入门的必修课。它们能快速搭建出规整的界面,但当你开始处理更复杂…

2026/10/12 8:29:00 阅读更多 →
Windows系统DLL文件缺失问题分析与专业修复方案

Windows系统DLL文件缺失问题分析与专业修复方案

1. DLL文件缺失问题的本质与影响每次打开软件时弹出"找不到xxx.dll"的报错窗口,可能是最让人抓狂的电脑问题之一。作为一名长期与Windows系统打交道的技术支持工程师,我处理过的DLL报错案例不下千例。DLL(Dynamic Link Library&…

2026/10/11 10:26:47 阅读更多 →
CC253x/CC254x低功耗定时器与ADC实战:从寄存器到可靠应用

CC253x/CC254x低功耗定时器与ADC实战:从寄存器到可靠应用

1. 项目概述在物联网和嵌入式设备开发领域,功耗和模拟信号处理能力是决定产品成败的两个关键。无论是需要常年靠电池供电的无线传感器节点,还是对数据精度有要求的便携式医疗设备,开发者都绕不开两个核心模块:低功耗定时器和模数转…

2026/10/4 21:07:22 阅读更多 →

最新新闻

数据指标体系构建实战:从北极星指标到指标字典落地

数据指标体系构建实战:从北极星指标到指标字典落地

数据指标体系这几年被提及的频率越来越高,但真正能在团队里落地、业务方愿意天天打开看的指标体系,其实并不多见。很多团队搭来搭去,最后都变成了报表堆砌——指标倒是几十上百个,真正被决策用的还是那三五个。问题不在工具&#…

2026/10/12 8:29:03 阅读更多 →
i.MX RT系列FlexSPI NOR连接方式详解:从引脚分配到Boot ROM启动配置

i.MX RT系列FlexSPI NOR连接方式详解:从引脚分配到Boot ROM启动配置

1. 从一块"点不亮"的板子说起:FlexSPI NOR连接方式为什么值得单独聊搞i.MX RT系列的朋友大概率都经历过这个场景:板子打样回来,焊上Flash,上电,串口一片安静,仿真器连上去发现芯片卡在ROM阶段&am…

2026/10/12 8:29:03 阅读更多 →
NDK开发实战:日志系统、JString转换与C++标准库避坑指南

NDK开发实战:日志系统、JString转换与C++标准库避坑指南

1. 从一个真实痛点说起:为什么NDK调试总让人抓狂如果你写过Android的JNI代码,大概率经历过这样的场景:C层某个函数返回了错误结果,你在代码里加了一堆printf,编译安装跑一遍,结果Logcat里干干净净&#xff…

2026/10/12 8:29:03 阅读更多 →
手机销售信息系统实战:从数据库设计到库存串号管理

手机销售信息系统实战:从数据库设计到库存串号管理

1. 项目概述与核心需求拆解1.1 一个销售信息系统,到底要解决什么问题先说结论:m246品牌手机销售信息系统,本质上是一套围绕“手机从入库到出库再到售后”全流程的数据管理工具。很多人一听到“销售信息系统”就觉得是做个进销存,把…

2026/10/12 8:29:03 阅读更多 →
基于RBAC的通用权限系统设计:风汐通用管理系统实践

基于RBAC的通用权限系统设计:风汐通用管理系统实践

去年有段时间我同时维护着三个内部业务系统,越做越觉得不对劲:每个系统的登录逻辑大同小异,菜单权限、按钮控制、角色分配这些东西几乎每开一个新项目都要重新来一遍,代码复制过去之后还要改表改字段改接口,真正业务功…

2026/10/12 8:29:03 阅读更多 →
artcraft:用工程化流程实现可复现的艺术创作

artcraft:用工程化流程实现可复现的艺术创作

1. 从“artcraft”这个名字说起:它到底想解决什么问题第一次看到“artcraft”这个标题,我脑子里蹦出来的第一反应是“艺术”加“手艺”,听起来像是个做创意工具的项目。但真正让我感兴趣的,是它背后隐含的那层意思——把“art”这…

2026/10/12 8:28:03 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →