为什么智能体需要运行时:从 Class 到 Execution Domain 的转变

已完成

智能体的本质是行为系统,而非代码片段。只有将其从 class 提升为 workload,才能实现企业级的调度、治理与协作。

智能体(Agent)并不是一个“更聪明的函数”,也不是一个“带状态的类”。它本质上是一种持续运行的行为系统。如果仅用 class、函数调用或框架编排来承载这种系统,往往会在工程实践中遇到瓶颈。

运行时(Agentic Runtime)的出现,并非架构设计的超前选择,而是复杂智能体系统在现实工程条件下的自然演进

Agent 不等于 class

当前主流的 Agent 开发方式,通常将智能体实现为一个 class:

  • 封装 prompt、memory、tools
  • 由框架在 Python 进程中直接调用

这种方式在 Demo 阶段是可行的,但它隐含了一个前提:Agent 是一次性的、同步的、无状态的执行体。

而真实的智能体具备以下特征:

  • 明确的生命周期(启动、规划、执行、反思、终止)
  • 持续推进的内部状态
  • 多轮推理与多工具协作
  • 多智能体并行与协作
  • 随时可能被中断、回滚或接管

class 是静态结构;Agent 是动态行为系统

当系统的本质是“行为”而非“代码结构”时,仅靠 class 或函数调用难以完整表达和治理。

Agent 需要的不是调用,而是调度

传统函数调用模型假设:

  • 输入确定
  • 执行路径有限
  • 输出一次性返回

而智能体的执行模式则是:

  • 推理 → 行动 → 反馈 → 再推理
  • 任务动态拆分
  • 多角色并行协作
  • 上下文持续累积

在这种模式下,“执行”本身需要被调度。

调度的对象不仅仅是 CPU 或线程,还包括:

  • 推理步骤
  • 工具调用
  • 状态推进
  • 并行任务之间的依赖关系

没有调度器,就难以实现可扩展的智能体系统。

Agent 执行是任务图,而不是一次调用

以“生成一份市场分析报告”为例,真实的执行过程通常包括多个智能体协作。下面的列表展示了典型的任务分解流程:

  • Planner 拆解任务
  • Research Agent 搜集资料
  • Analyst Agent 生成分析
  • Evaluator 校验质量
  • Router 决定是否重试或切换模型

这实际上构成了一个动态生成、可回放、可中断的任务图(Execution Graph)

这种执行语义:

  • 难以用同步函数表达
  • 难以靠框架内部变量维护
  • 难以通过 try/except 恢复

因此,必须由运行时来持有和推进。

工程现实:环境碎片化的挑战

在实际工程中,环境碎片化是智能体系统面临的重要挑战。下方列表总结了碎片化环境带来的典型问题:

  • 状态需要在多个沙箱之间搬运
  • 中间产物通过对象存储或临时文件传递
  • 延迟不可控
  • 失败点增多
  • 调试和回放难度提升

这并非简单的实现问题,而是执行语义被拆散后带来的必然结果

因此,智能体系统需要的不是“更多工具”,而是一个统一的执行域(Execution Domain)

Agent 需要状态,而状态必须属于运行时

智能体的核心并非 Prompt,而是状态推进。

一个可运行的智能体,至少需要以下状态语义:

  • Session State:长期上下文
  • Task State:当前任务进度
  • Intermediate State:推理中间态
  • Tool Trace:工具调用轨迹

这些状态应具备:

  • 可持久化
  • 可回放
  • 可审计
  • 可恢复

如果仅将这些状态存放在内存变量、数据库或日志系统中,容易导致一致性和治理难题。

状态不仅是存储问题,更是运行时语义问题。

Agent 需要治理,而治理不能仅靠代码实现

当智能体进入企业级场景时,治理问题变得尤为重要。下方列表总结了常见的治理需求:

  • 工具调用权限
  • 数据访问范围
  • 资源上限控制
  • 决策过程审计
  • 成本约束

这些问题的共同特征是:

它们属于“执行时问题”,而非“编写代码时问题”。

因此,治理能力需要由运行时统一承载。

框架与运行时的分工边界

框架(Framework)关注如何组织逻辑,而运行时(Runtime)关注如何让逻辑可靠地发生

下表对比了二者的分工:

维度框架Agentic Runtime
控制对象代码流程执行生命周期
状态变量与对象Session / Task / Trace
并发进程/线程执行图级并发
工具执行函数调用隔离执行域
恢复有限中间态恢复
审计基本无全链路可追溯
表 1: 框架与 Agentic Runtime 的分工对比

二者并非替代关系,而是职责分离、协同配合

行业趋势:从代码结构到治理实体

从多个方向可以观察到行业的收敛趋势:

  • 智能体被当作 Workload
  • 执行图成为一等语义
  • Sandbox(受控执行域)成为运行时核心
  • 人工接管能力被视为必需

这意味着:

智能体正从“代码结构”演进为“可治理的执行实体”。

总结

智能体之所以需要运行时,并不是因为它“更复杂”,而是因为:

  • 它是持续运行的行为系统
  • 它依赖统一的执行域
  • 它必须被调度、治理和接管

从 class 到 workload,从代码到运行时,这是智能体系统走向工程化、规模化和可治理的关键路径。

创建于 2025/12/02 更新于 2025/12/02 1728 字 阅读约 4 分钟