简介:智能体进入大型组织时,常被默认从新建项目起步,但真实系统往往由多种语言与老旧组件构成。本文对比“新建独立智能体服务”与“智能体下沉到现有语言运行时”两条路径,从架构、治理、集成成本、适用场景等维度拆解差异,帮助技术负责人判断在多语言遗留环境中应如何让智能体安全进入业务链路。
当前,智能体相关的能力演示大多集中在相对理想化的环境中:新建一个项目,选择 Python 或 TypeScript,安装 SDK,接入模型,定义工具,然后完成流式输出。这种路径对创业团队或全新应用开发是可行的,因为它从零开始,技术栈统一,仓库干净,依赖可控。
但如果把智能体放进一家已经运行多年的大型组织,情况会完全不同。大型组织内部的信息系统普遍不是单一语言,而是由多个时代、多个团队、多种运行环境组合而成。例如:
这些系统不是为了智能体而设计的,也不会因为智能体出现就被整体重写。真正需要回答的问题不是“某门语言是否流行”,而是:智能体能否进入这些既有系统,同时不破坏它们周围的权限、审计、变更控制和运行约束。
这正是本文要讨论的核心:在多语言混合的遗留环境中,智能体应该以什么方式接入。核心对比对象是两种完全不同的落位策略,一种是独立智能体服务,另一种是智能体下沉到现有语言运行时中。
这种方案的特点是智能体框架运行在独立进程中,通常使用 Python、TypeScript 等现代语言构建。它不直接修改遗留系统,而是通过 HTTP、消息队列、文件交换、数据库轮询或旁路桥接等方式与旧系统交互。
这类方案的代表做法是“给遗留系统包一层 API”,或者让智能体作为 sidecar 旁路进程存在。它默认智能体拥有自己的运行环境、自己的依赖版本、自己的模型调用逻辑和自己的工具注册体系。
这种方案的思路完全不同。它不执着于“把旧语言改成新语言”,而是问另一个问题:智能体应该住在离数据、交易、审核流最近的地方。
如果一笔异常交易的处理逻辑在 COBOL 批处理中,那么受治理的智能体循环就应该靠近 COBOL 批处理;如果仿真模型在 Fortran 中,那么 Fortran 进程应该能够自己调用模型并执行策略;如果一个控制面由 Lua 驱动,那么决策与审批步骤也可以由 Lua 承载。
方案B并不是要求所有语言都实现完整智能体框架,而是让智能体的关键控制点嵌入现有执行链路,以现有语言可以调用的方式存在。
尽管两种路径在部署方式上差异很大,但它们仍然共享一些目标与约束:
这些相同点说明,问题的核心不只是“能不能调用模型”,而是能不能在既有治理框架中安全地调用模型与工具。
方案A的集成边界在旧系统外部。它通过接口调用、文件交换、消息订阅等机制与旧系统通信。乍看上去很整洁,因为旧系统不需要大改。但代价是:智能体所需的策略、授权、检查点、事件关联与人工审批流程也必须跨进程重建。一次模型调用触发一个审批,审批状态如何传回独立智能体服务,这本身就是新的集成问题。
方案B的集成边界在旧系统内部。它让现有运行时直接发起受控的智能体循环,审批、检查点、审计事件可以复用旧系统已有的状态机制。虽然改造成本更高,但治理连续性更好。
| 维度 | 方案A:独立智能体服务 | 方案B:智能体下沉到现有运行时 |
|---|---|---|
| 部署位置 | 旧系统外部,独立进程 | 旧系统内部,靠近数据与交易 |
| 接口方式 | API、消息、文件、轮询 | 进程内调用、批处理步骤内嵌 |
| 权限治理 | 需跨进程重建 | 可复用现有权限与变更流 |
| 审批与检查点 | 需自行实现或映射 | 可接入现有作业流 |
| 审计关联 | 易断裂,需跨系统关联 | 更易保持同一上下文 |
| 改造成本 | 对旧系统改动小 | 对旧系统改动较大 |
| 运行耦合度 | 较低 | 较高 |
治理是大型组织最难绕开的问题。方案A中,智能体作为一个新加入的独立进程,本质上是一个新的“系统参与者”。它需要新的身份、新的授权入口、新的审计通道。即使旧系统原有的权限模型很成熟,智能体也可能无法直接复用。
方案B中,智能体不是新的系统参与者,而是现有作业链中的一个步骤。如果批处理程序已经具备作业级权限、步骤级检查点与审计日志,那么智能体步骤可以继承这些机制,而不必另起一套。
例如,一个异常交易在批处理中被识别后,方案B可以在同一作业中进入智能体决策步骤,调用模型给出建议,再进入人工审批步骤,最后写回检查点。整条链路的上下文天然连续。
独立智能体服务需要考虑进程崩溃后如何恢复。它需要保存所有未完成任务的检查点,包括哪些工具已经执行、哪些审批正在等待、哪些审计事件已经发出。如果旧系统本身没有面向智能体的状态接口,那么这些状态只能保存在智能体服务内部,造成状态分散。
下沉式路径则可以借助现有作业调度器的恢复能力。批处理作业本身就有重启、续跑与回滚机制,智能体步骤如果内嵌其中,就能与作业级恢复策略保持一致。
方案A的最大优势是语言生态成熟。Python 等语言在模型调用、工具注册、向量检索、流式输出等方面具备丰富组件,接入主流模型也相对方便。方案B则受限于旧语言生态。COBOL、Fortran、Lua 等语言不一定具备成熟的智能体编排库,也可能缺乏异步模型调用所需的网络能力。
但这并不意味着方案B不可行。它通常采取“最小必要能力”策略:旧语言只承担决策循环中最关键的一小段,模型调用仍可通过外部网关或内部服务完成。旧语言只需能发起调用、解析结果、执行动作、记录审计即可。
在实践中,很多组织最终会选择混合路径。例如,用现代语言构建智能体控制面,但在关键执行点由旧语言系统发起调用并写入本地检查点。两条路径不是非此即彼,关键在于明确哪些环节必须留在旧系统内,哪些环节可以外置。
在做选择时,建议从以下条件判断:
不管决定偏向哪条路径,以下注意事项都值得提前评估:
智能体进入大型组织最难的部分,不在于选择哪个模型,也不在于如何流式输出,而在于它要在哪个位置接入系统,以及在接入后如何继续遵守既有的治理约束。
“新建一个智能体服务”和“把智能体下沉到现有语言运行时”,本质上是两种对风险和治理的不同回答。前者以隔离和快速迭代换取了治理重建成本;后者以更高的系统内改造换取了更连贯的审计与状态管理。
真正成熟的方案不会一刀切。让关键决策留在关键系统内部,让模型交互保持受控,让人工审批与审计贯穿全链路,才是多语言智能体框架最需要解决的工程问题。