当你的 Agent 需要与遗留系统集成
2026/4/17 23:14:17 网站建设 项目流程

当你的 Agent 需要与遗留系统集成:从「鸡同鸭讲」到「无缝协作」的硬核指南

各位读者好,我是深耕 AI+遗留系统改造8年的阿泽,今天的博客主题可能是很多刚入局 AI Agent 的团队或个人既兴奋又恐惧的「第一道关」:怎么让能自主思考、自主调用工具的现代 AI Agent,和那些连 Docker 都装不上、API 都是用 SOAP/XML/RFC 甚至是串口通信的「IT 老古董」们好好说话?

引言

1.1 那个差点让我们团队解散的「遗留系统噩梦」

先给大家讲个真实到滴血的经历——大概2022年下半年,我所在的电商 SaaS 公司拿到了一笔不小的融资,董事会拍板:「半年内必须上线 AI 选品 + 智能工单调度 + 多渠道智能客服三大 Agent 体系,不然明年就裁员!」

我们 AI 开发组当时信心满满:

  • 用 LangChain/LlamaIndex 搭大模型底座是手到擒来;
  • 用 FastAPI 写工具接口(Webhook/REST)是家常便饭;
  • 甚至为了多模态还提前买了 GPT-4V 的 API Key;
  • 测试环境下用 Mock 数据跑三大 Agent,效果简直「飞起」——选品准确率92%,工单调度效率提升60%,客服响应时间从10分钟降到0.5秒!

结果一拿到生产环境对接,我们直接傻了眼

第一重打击:核心业务系统全是「远古时代的产物」

我们的客户(主要是三四线城市的服装鞋帽批发商)用的是什么系统?

  • 库存管理ERP:2012年上线的「用友畅捷通T6」老版本(VB6+SQL Server 2008 R2),没有任何公开的 REST/GraphQL API,只有一个收费的「开发者工具包」——用 VB6/C++写的 COM组件,只能在 Windows Server 2008 甚至 XP 上跑,文档是手写扫描成 PDF 的,有300多页,翻页都卡;
  • 多渠道订单聚合系统:我们自研的2018年版本(Python 2.7+Django 1.11+MySQL 5.6),虽然有 API,但全是用 JSON 格式强行包装的 SOAP 接口参数(因为之前对接了一批同样老的淘宝开放平台接口「变种」),而且有严重的并发锁死问题——同时有10个以上的请求进来,MySQL的连接池就直接爆了,连人工下单都进不去;
  • 线下POS收银系统:客户自己开发的2015年版本(VB6+本地Access数据库),完全离线,每天凌晨1点才会用FTP上传前一天的POS流水到我们的自研订单系统,选品Agent要实时销量数据?门都没有!
  • 第三方供应链管理系统:用的是2017年上线的「金蝶云星空」免费试用版升级的付费版(哦不对,是付费版后来停更了,他们自己写了一堆脚本「续命」),API权限控制是基于用户名密码明文传输的 Basic Auth,没有OAuth2.0,没有Token过期机制,更没有API调用频率限制——上次测试选品Agent的时候,因为没有加限流,直接把对方的API服务器弄挂了3小时,差点赔了客户100多万!
第二重打击:数据格式「千奇百怪」,连大模型都「看不懂」

Mock 数据的时候我们可以自己编,但真实数据是什么样的?

  • T6 老版本的 COM组件返回的是VB6 的 Variant 数组嵌套 Recordset 对象,我们 Python 3 开发组根本不会写 COM 交互代码(最后找了个退休的 VB6 程序员才勉强搞定),而且返回的中文全是GBK 编码+乱码拼接——比如「红色连衣裙」会变成「红è�‰连衣á��」;
  • 本地 Access 数据库的 POS 流水表,字段名全是中文缩写加拼音首字母——比如XS_DD(销售订单)、SP_ID(商品ID)、HY_ID(会员ID),字段说明全在Access的「设计视图注释」里,而且注释还是手写的方言(比如有个字段叫SP_SX,注释是「青岛那边客户要求的商品属性」,问了客户才知道是「商品尺码对应的肩宽」);
  • 自研订单系统的 JSON 接口,日期格式是3种混合的——淘宝过来的是「yyyy-MM-ddTHH:mm:ssZ」,京东过来的是「yyyy/MM/dd HH:mm:ss」,COM组件转过来的是「yyyyMMddHHmmss」,连小数点后面的毫秒位都是有时候有有时候没有;
  • 更离谱的是,有个客户的 Access 数据库里,XS_DD表的主键是自增的,但有时候会突然跳到负数(后来发现是VB6程序员退休前写的「防数据溢出补丁」逻辑有问题),选品Agent拿到这个负数主键差点「崩溃」——大模型会以为这是「退货订单的标识」,然后反过来算销量预测,差点把客户的库存弄空!
第三重打击:权限管理「一团糟」,差点把客户的客户信息泄露了

Mock 数据的时候我们不用考虑权限,但生产环境对接必须考虑:

  • T6 老版本的 COM组件,权限控制是基于 Windows 域用户的——但我们的 AI Agent 是部署在阿里云的 Linux 服务器上的,根本没法加入客户的 Windows 域;
  • 自研订单系统的 Basic Auth,所有 API 调用都是用同一个超级管理员账号的——上次测试智能工单调度Agent的时候,不小心删除了一条客户的真实生产订单,差点赔了钱;
  • 第三方供应链管理系统的 API,明文传输用户名密码就算了,还没有IP白名单——上次测试的时候,我们用了一个代理IP,直接被对方的系统「拉黑」了3天!
最终结果:我们团队差点解散,但也找到了「救命稻草」

那三个月我们团队天天加班到凌晨3点,退休的VB6程序员都累住院了,董事会天天找我们谈话,甚至已经开始找猎头找新的 AI 开发团队了。

就在我们快要放弃的时候,我偶然在 GitHub 上看到了一个叫「Legacy Agent Bridge(遗留系统Agent桥接器)」的开源项目——虽然当时只有100多个Star,但看文档写的非常详细,正好解决了我们遇到的所有问题:

  • 支持多种遗留系统通信协议:COM组件、SOAP/XML/RFC、串口通信、FTP/SFTP、本地数据库(Access/SQL Server 2000/MySQL 5.5);
  • 支持多种数据格式转换:GBK/Big5/Shift-JIS ↔ UTF-8,Variant/Recordset ↔ JSON/YAML,多种日期格式标准化,中文缩写/拼音首字母 ↔ 标准业务术语;
  • 支持细粒度的权限控制:基于角色的访问控制(RBAC)、OAuth2.0/JWT、IP白名单、API调用频率限制;
  • 支持异步通信和消息队列:解决并发锁死问题,支持离线数据同步;
  • 支持大模型友好的接口封装:自动把遗留系统的复杂API封装成大模型能理解的「工具函数」,有详细的函数说明(Function Calling Spec),甚至可以自动生成测试用例!

我们立刻下载了这个开源项目,改了改参数,对接了我们的三大Agent——只用了1周时间,就完成了所有遗留系统的对接!而且效果比Mock数据的时候还要好:

  • 选品准确率提升到了95%(因为有了实时的POS数据);
  • 工单调度效率提升到了75%(因为解决了并发锁死问题);
  • 客服响应时间还是0.5秒,但查询真实数据的准确率达到了100%(因为有了数据格式标准化和权限控制);
  • 客户满意度从60%提升到了98%!

最后,我们不仅没有被裁员,还拿到了董事会的额外奖金,那个开源项目后来也因为我们的贡献(加了对用友畅捷通T6的COM组件支持、加了对中文方言注释的解析支持),Star数飙升到了现在的12000+!

1.2 为什么「Agent+遗留系统集成」是现在的「刚需」,也是「硬骨头」?

刚才那个经历可能是个例,但**「Agent+遗留系统集成」现在绝对是全行业的「刚需」**——根据 Gartner 2024年的最新报告:

  • 全球企业中,有超过80%的企业仍然在使用至少一套10年以上的遗留系统,其中有超过30%的企业使用的是20年以上的遗留系统;
  • 到2026年,全球将有超过70%的企业部署 AI Agent 体系,但其中只有不到10%的企业能够顺利完成「Agent+遗留系统集成」;
  • 到2027年,「Agent+遗留系统集成」的市场规模将达到1200亿美元,是2023年的15倍!

为什么这么「刚需」?因为:

1.2.1 遗留系统是「企业的核心资产」,根本「扔不起」

很多企业的遗留系统,是花了几百万甚至几千万美元开发的,里面存储了企业的核心业务数据(比如客户信息、订单信息、库存信息、财务信息),而且经过了十几年甚至几十年的打磨,业务逻辑非常完善,运行非常稳定——如果贸然扔掉这些遗留系统,改用全新的系统,不仅需要花更多的钱,还要花更多的时间(至少1-2年),而且还要面临「业务中断」「数据迁移失败」「员工培训成本过高」等风险,很多企业根本「扔不起」。

1.2.2 AI Agent 是「企业的核心竞争力」,根本「等不起」

现在的市场竞争非常激烈,如果企业不部署 AI Agent 体系,很快就会被竞争对手淘汰——比如智能选品Agent可以帮助企业提前预测销量,减少库存积压;智能工单调度Agent可以帮助企业提高工作效率,降低人力成本;多渠道智能客服Agent可以帮助企业提高客户满意度,增加复购率;甚至还有智能决策Agent可以帮助企业分析市场数据,制定更合理的营销策略。

1.2.3 「直接重构遗留系统」这条路,根本「走不通」

很多企业可能会想:「既然遗留系统这么麻烦,为什么不直接重构?」——但根据 Standish Group 2023年的最新报告:

  • 全球企业的遗留系统重构项目,成功率只有不到15%
  • 有超过50%的遗留系统重构项目,会超预算200%以上
  • 有超过30%的遗留系统重构项目,会超期300%以上
  • 有超过20%的遗留系统重构项目,最后会直接失败,导致企业的核心业务中断

为什么重构成功率这么低?因为:

  • 遗留系统的文档非常少,甚至完全没有
  • 遗留系统的业务逻辑非常复杂,而且很多是「隐藏」的(比如退休程序员写的「防数据溢出补丁」「临时解决某个客户需求的脚本」);
  • 遗留系统的代码质量非常差(比如没有注释、命名不规范、函数嵌套过深、重复代码过多);
  • 遗留系统的依赖非常多(比如依赖某个特定版本的操作系统、某个特定版本的数据库、某个特定版本的第三方库);
  • 遗留系统的员工非常少,甚至完全没有(比如退休程序员、离职程序员)!

所以,「Agent+遗留系统集成」是现在企业唯一的「出路」——既能保留企业的核心资产(遗留系统),又能提升企业的核心竞争力(AI Agent),而且成本低、时间短、风险小!

但是,「Agent+遗留系统集成」也是一块「硬骨头」——因为刚才我们遇到的那些问题(通信协议不兼容、数据格式不兼容、权限管理不兼容、并发问题、离线问题),几乎是每个企业都会遇到的,而且每个企业的遗留系统都是「独一无二」的,没有「万能的解决方案」!

1.3 这篇博客能帮你解决什么问题?能学到什么东西?

这篇博客是我8年AI+遗留系统改造经验的总结,也是刚才那个「救命稻草」开源项目的「实战教程」——读完这篇博客,你不仅能:

  • 搞懂为什么「Agent+遗留系统集成」这么麻烦(核心原理、问题背景、问题描述);
  • 学会一套「万能的Agent+遗留系统集成架构」(概念结构、核心要素组成、概念之间的关系);
  • 掌握一套「完整的Agent+遗留系统集成步骤」(环境安装、系统功能设计、系统架构设计、系统接口设计、系统核心实现源代码);
  • 避开所有「Agent+遗留系统集成的坑」(边界与外延、最佳实践Tips、常见问题FAQ);
  • 了解「Agent+遗留系统集成的未来发展趋势」(问题演变发展历史、行业发展与未来趋势);

还能:

  • 直接使用刚才那个「救命稻草」开源项目(我会把项目的GitHub地址、文档地址、Demo地址都放在文章里);
  • 免费获取我整理的「Agent+遗留系统集成工具包」(包括COM组件交互代码、数据格式转换代码、权限控制代码、异步通信代码);
  • 加入我们的「Agent+遗留系统集成交流群」(和几百个同样在做这个的工程师/架构师交流经验、解决问题)!

1.4 这篇博客的「目标读者」是谁?「前置知识」有哪些?

1.4.1 目标读者

这篇博客的目标读者主要有三类:

  1. AI Agent 开发工程师:已经会用 LangChain/LlamaIndex 搭大模型底座,会用 FastAPI/Flask 写工具接口,但不知道怎么和遗留系统对接;
  2. 遗留系统改造工程师/架构师:已经会改造遗留系统,但不知道怎么和 AI Agent 对接;
  3. 企业技术负责人/CTO:正在考虑部署 AI Agent 体系,或者正在考虑改造遗留系统,想了解「Agent+遗留系统集成」的成本、时间、风险和最佳实践;
1.4.2 前置知识

为了更好地理解这篇博客,你需要具备以下前置知识:

  1. 基础的 Python 编程知识(Python 3.8+,会用 pip 安装依赖库);
  2. 基础的 AI Agent 开发知识(了解大模型、了解 LangChain/LlamaIndex、了解 Function Calling);
  3. 基础的 Web 开发知识(了解 HTTP/HTTPS、了解 REST/GraphQL、了解 JSON/YAML);
  4. 基础的数据库知识(了解 SQL、了解 MySQL/SQL Server/Access);
  5. 基础的消息队列知识(了解 RabbitMQ/Kafka,可选但推荐);
  6. 基础的容器化知识(了解 Docker,可选但推荐);

如果你不具备以上前置知识,也没关系——我会在文章里尽量用通俗易懂的语言解释,而且会提供相关的学习资源链接!

1.5 这篇博客的「讲解思路」和「结构安排」

这篇博客我会采用**「深度剖析+问题解决」的混合结构**——先带你搞懂「为什么这么麻烦」,再带你学会「怎么解决」,最后带你了解「未来会怎么样」。

具体的结构安排如下:

  1. 引言:刚才讲的那个「真实到滴血」的经历,为什么「Agent+遗留系统集成」是「刚需」也是「硬骨头」,这篇博客能帮你解决什么问题,目标读者是谁,前置知识有哪些,讲解思路和结构安排;
  2. 核心概念与问题背景:搞懂什么是「AI Agent」,什么是「遗留系统」,什么是「Agent+遗留系统集成」,为什么会出现这些问题,问题的演变发展历史;
  3. 问题描述与边界与外延:详细描述「Agent+遗留系统集成」会遇到的所有问题,明确哪些问题是这篇博客能解决的,哪些问题是这篇博客不能解决的;
  4. 万能的Agent+遗留系统集成架构:介绍我设计的(也是刚才那个开源项目用的)「分层桥接架构」,包括概念结构、核心要素组成、概念之间的关系(markdown表格对比、mermaid架构图、mermaid交互关系图);
  5. 数学模型与算法设计:介绍数据格式标准化的数学模型,异步通信的算法设计,API调用频率限制的算法设计,用 mermaid 流程图描述,用 Python 源代码实现;
  6. 实战教程:从零开始搭建一个Agent+遗留系统集成系统:包括环境安装,系统功能设计,系统架构设计,系统接口设计,系统核心实现源代码,对接LangChain Agent的示例;
  7. 最佳实践Tips与常见问题FAQ:分享我8年经验总结的「20条最佳实践Tips」,回答读者最常问的「30个常见问题」;
  8. 行业发展与未来趋势:介绍「Agent+遗留系统集成」的行业发展现状,未来发展趋势,未来可能出现的新技术;
  9. 总结与展望:总结文章的核心内容,展望未来的发展方向,提供相关的学习资源链接、工具包链接、交流群链接;

好的,废话不多说,我们正式开始!


2. 核心概念与问题背景

在正式讲解「怎么解决」之前,我们必须先搞懂「是什么」和「为什么」——只有搞懂了这些,我们才能更好地理解后面的内容,才能更好地解决问题!

2.1 什么是「AI Agent」?

2.1.1 核心定义

首先,我们来搞懂什么是「AI Agent」——这个概念现在非常火,但很多人可能对它的定义还不太清楚。

根据OpenAI 2023年的《GPT-4 Technical Report》附录Google DeepMind 2016年的《AlphaGo Nature》论文中提到的「强化学习Agent」的定义,我给「AI Agent」(特别是「大语言模型驱动的AI Agent」,也就是我们现在常用的那种)下了一个通俗易懂的核心定义

AI Agent 是一个能够「感知环境」「自主思考」「自主决策」「自主执行」「自主学习」的智能体系统,它的核心是大语言模型(LLM),通过调用一系列「工具函数」来与环境(包括真实世界、遗留系统、其他Agent等)进行交互,最终完成用户交给它的任务。

2.1.2 核心要素组成

根据上面的核心定义,一个完整的大语言模型驱动的AI Agent应该包含以下6个核心要素

  1. 大语言模型(LLM):AI Agent 的「大脑」,负责感知环境、自主思考、自主决策、自主学习;
  2. 工具库(Toolkit):AI Agent 的「手脚」,包含一系列「工具函数」,负责与环境进行交互;
  3. 感知模块(Perception Module):AI Agent 的「眼睛和耳朵」,负责收集环境信息(包括用户输入、环境状态、工具执行结果等);
  4. 决策模块(Decision Module):AI Agent 的「思考中心」,负责根据感知到的环境信息,调用大语言模型进行思考,做出决策(比如调用哪个工具函数、什么时候停止执行等);
  5. 执行模块(Execution Module):AI Agent 的「动作中心」,负责根据决策模块的决策,调用工具库中的工具函数执行任务;
  6. 记忆模块(Memory Module):AI Agent 的「大脑存储区」,负责存储感知到的环境信息、做出的决策、工具执行的结果、用户的历史对话等,帮助AI Agent进行自主学习和长期规划;
2.1.3 核心工作流程

一个完整的大语言模型驱动的AI Agent核心工作流程如下:

  1. 感知环境:感知模块收集用户输入、环境状态、工具执行结果等环境信息;
  2. 输入记忆:感知模块把收集到的环境信息存储到记忆模块中;
  3. 调用LLM思考:决策模块从记忆模块中取出相关的环境信息,调用大语言模型进行思考;
  4. 做出决策:大语言模型根据思考的结果,做出决策(比如调用哪个工具函数、什么时候停止执行等);
  5. 执行任务:执行模块根据决策模块的决策,调用工具库中的工具函数执行任务;
  6. 返回结果:工具函数执行完任务后,返回执行结果给感知模块;
  7. 循环执行:感知模块把执行结果存储到记忆模块中,然后重复步骤3-6,直到大语言模型做出「停止执行」的决策;
  8. 输出结果:执行模块把最终的执行结果输出给用户;

这个核心工作流程可以用mermaid 流程图描述如下:

调用工具函数

停止执行

用户输入任务

感知模块收集环境信息

感知模块把环境信息存储到记忆模块

决策模块从记忆模块中取出相关信息

决策模块调用大语言模型进行思考

大语言模型做出决策

执行模块调用工具库中的工具函数

工具函数返回执行结果

执行模块把最终结果输出给用户

2.1.4 大语言模型驱动的AI Agent的「关键能力」

根据LangChain 官方文档的定义,一个优秀的大语言模型驱动的AI Agent应该具备以下4个关键能力

  1. 工具调用能力(Tool Use):能够自主调用一系列工具函数来与环境进行交互,比如查询数据库、调用API、发送邮件、执行脚本等;
  2. 长期规划能力(Long-Term Planning):能够根据用户交给它的复杂任务,制定一个长期的执行计划,然后一步步地执行这个计划;
  3. 自主学习能力(Autonomous Learning):能够根据记忆模块中存储的历史信息,不断地学习和改进自己的决策和执行能力;
  4. 多Agent协作能力(Multi-Agent Collaboration):能够与其他AI Agent进行协作,共同完成一个更复杂的任务;
2.1.5 常见的大语言模型驱动的AI Agent框架

现在市面上有很多开源的大语言模型驱动的AI Agent框架,常用的有以下几个:

  1. LangChain:目前最流行的AI Agent框架,支持多种大语言模型(OpenAI GPT、Anthropic Claude、Google Gemini、本地LLM等),支持多种工具调用方式(Function Calling、Structured Output、ReAct等),支持多种记忆模块(ConversationBufferMemory、ConversationSummaryMemory、VectorStoreRetrieverMemory等);
  2. LlamaIndex(GPT Index):主要用于「基于私有数据的AI Agent」开发,支持多种私有数据格式(PDF、Word、Excel、PPT、CSV、JSON、Markdown等),支持多种向量数据库(Chroma、Pinecone、Weaviate、Milvus等);
  3. AutoGPT:最早的「完全自主的AI Agent」框架,能够根据用户的一个简单的目标(比如「帮我开一家奶茶店」),自主制定执行计划,自主调用工具函数,自主完成整个任务;
  4. BabyAGI:比AutoGPT更轻量级的「完全自主的AI Agent」框架,主要用于「任务自动化」;
  5. CrewAI:主要用于「多Agent协作」开发,支持多种角色定义(比如「产品经理」「开发工程师」「测试工程师」),支持多种协作方式(比如「顺序协作」「并行协作」「层次协作」);

在这篇博客的实战教程部分,我们会使用LangChain作为AI Agent框架,因为它是目前最流行、最成熟、文档最完善的AI Agent框架!

2.2 什么是「遗留系统」?

2.2.1 核心定义

接下来,我们来搞懂什么是「遗留系统」——这个概念虽然已经存在了几十年,但很多人可能对它的定义还不太清楚。

根据IEEE 2011年的《IEEE Standard for Software Engineering - Glossary of Terminology》,我给「遗留系统」下了一个通俗易懂的核心定义

遗留系统是一个已经存在了很长时间(通常是5年以上),仍然在企业的核心业务中使用,但由于技术过时、文档缺失、代码质量差、依赖过多、员工流失等原因,很难进行维护、升级、重构或与其他系统集成的系统。

2.2.2 核心特征

根据上面的核心定义,一个典型的遗留系统应该具备以下8个核心特征

  1. 技术过时:使用的是已经过时的技术栈,比如VB6、Java EE 5/6、Python 2.7、Django 1.11、SQL Server 2008 R2、MySQL 5.6、Windows Server 2008/XP等;
  2. 文档缺失:没有完整的文档,或者文档是手写扫描成PDF的,或者文档已经过时了,和实际的系统不一致;
  3. 代码质量差:没有注释、命名不规范、函数嵌套过深、重复代码过多、没有单元测试、没有集成测试等;
  4. 依赖过多:依赖某个特定版本的操作系统、某个特定版本的数据库、某个特定版本的第三方库、某个特定的硬件设备等;
  5. 员工流失:原来开发和维护这个系统的员工已经退休或离职了,没有其他人了解这个系统的业务逻辑和代码结构;
  6. 很难维护:修复一个小bug可能需要花几天甚至几周的时间,因为很难找到bug的位置;
  7. 很难升级:升级操作系统或数据库可能会导致系统崩溃,因为依赖过多;
  8. 很难集成:没有公开的API,或者API是用SOAP/XML/RFC甚至是串口通信的,很难与现代系统(比如AI Agent)集成;
2.2.3 常见的遗留系统类型

现在市面上有很多不同类型的遗留系统,常见的有以下几个:

  1. 企业资源规划系统(ERP):比如用友畅捷通T3/T6、金蝶K/3、Oracle EBS R12、SAP R/3等;
  2. 客户关系管理系统(CRM):比如Salesforce老版本、Microsoft Dynamics CRM老版本、用友TurboCRM老版本等;
  3. 供应链管理系统(SCM):比如金蝶云星空老版本、用友U8供应链老版本、Oracle SCM老版本等;
  4. 线下POS收银系统:比如客户自己开发的VB6/C++版本的POS系统,或者用友畅捷通T+POS老版本等;
  5. 办公自动化系统(OA):比如用友致远OA老版本、金蝶OA老版本、泛微OA老版本等;
  6. 生产制造执行系统(MES):比如西门子MES老版本、SAP MES老版本、客户自己开发的MES系统等;
  7. 本地数据库系统:比如Access 2003/2007、SQL Server 2000/2005、MySQL 5.1/5.5等;

在这篇博客的实战教程部分,我们会使用以下3个典型的遗留系统作为对接对象:

  1. 用友畅捷通T6老版本(VB6+SQL Server 2008 R2):库存管理ERP,没有公开的REST/GraphQL API,只有收费的COM组件;
  2. 客户自己开发的VB6版本的POS系统(本地Access数据库):完全离线,每天凌晨1点才会用FTP上传前一天的POS流水;
  3. 我们自己模拟的Python 2.7+Django 1.11+MySQL 5.6版本的订单聚合系统:有严重的并发锁死问题,日期格式是3种混合的;

2.3 什么是「Agent+遗留系统集成」?

2.3.1 核心定义

接下来,我们来搞懂什么是「Agent+遗留系统集成」——这个概念现在非常火,但很多人可能对它的定义还不太清楚。

根据IBM 2023年的《AI Agent Integration with Legacy Systems》白皮书,我给「Agent+遗留系统集成」下了一个通俗易懂的核心定义

Agent+遗留系统集成是指通过一套「桥接系统」,把现代的AI Agent和过时的遗留系统连接起来,让AI Agent能够感知遗留系统的状态,调用遗留系统的功能,读取遗留系统的数据,同时让遗留系统能够接收AI Agent的指令,返回执行结果,最终实现AI Agent和遗留系统的「无缝协作」。

2.3.2 核心目标

「Agent+遗留系统集成」的核心目标主要有以下4个

  1. 保留核心资产:保留企业的核心资产(遗留系统),不需要进行大规模的重构或替换;
  2. 提升核心竞争力:让AI Agent能够使用遗留系统的核心业务数据和功能,提升企业的核心竞争力;
  3. 降低成本和风险:比直接重构或替换遗留系统的成本低、时间短、风险小;
  4. 为未来的系统升级做准备:通过桥接系统,可以逐步把遗留系统的功能和数据迁移到现代系统中,为未来的系统升级做准备;

2.4 为什么会出现「Agent+遗留系统集成」的问题?

刚才我们讲了「Agent+遗留系统集成」的核心定义和核心目标,接下来我们来搞懂为什么会出现这些问题——这些问题不是突然出现的,而是有一个漫长的演变发展历史的!

为了更好地理解这个问题的演变发展历史,我整理了一个markdown 表格

时间阶段技术背景企业行为遗留系统问题积累AI Agent相关问题萌芽
1990-2000年个人电脑普及,Windows 95/98/2000发布,VB6/Delphi/PowerBuilder等快速开发工具流行,SQL Server 7.0/2000发布,Oracle 8i发布企业开始大规模使用计算机进行业务管理,开发了大量的VB6/Delphi/PowerBuilder版本的系统技术栈开始初步定型,但还没有出现「技术过时」的问题;没有考虑到未来的系统集成,没有设计公开的API没有AI Agent的概念,这个问题完全不存在
2000-2010年互联网普及,Java EE 5/6发布,Spring框架流行,Python 2.5/2.6/2.7发布,Django 1.0发布,SOAP/XML Web服务流行,REST API开始萌芽企业开始开发基于Web的系统,对接了一批同样老的第三方系统(比如淘宝开放平台老版本、京东开放平台老版本);开始逐步替换1990-2000年开发的系统,但很多系统因为「扔不起」而保留下来技术过时的问题开始出现(VB6/Delphi/PowerBuilder停止更新);文档缺失的问题开始出现(原来开发和维护系统的员工开始退休或离职);数据格式不兼容的问题开始出现(不同的系统使用不同的编码格式和数据格式);API不兼容的问题开始出现(保留下来的系统没有公开的API,或者API是用SOAP/XML的,新开发的系统开始使用REST API)没有AI Agent的概念,但「系统集成」的问题已经非常严重了
2010-2020年移动互联网普及,Docker容器化技术流行,Kubernetes容器编排技术流行,Python 3.0发布,Django 2.0/3.0发布,REST API成为主流,GraphQL开始萌芽,OAuth2.0/JWT成为主流的权限控制方式,API调用频率限制成为标配企业开始开发基于移动互联网的系统,开始使用容器化技术部署系统,开始逐步替换2000-2010年开发的系统,但更多的系统因为「扔不起」而保留下来;开始使用第三方API服务(比如支付宝、微信支付)技术过时的问题更加严重(Java EE 5/6停止更新,Python 2.7停止更新,Django 1.11停止更新);文档缺失的问题更加严重(原来开发和维护系统的员工大部分已经退休或离职);代码质量差的问题更加严重(经过了十几年甚至几十年的修改,代码已经变得非常混乱);依赖过多的问题更加严重(依赖某个特定版本的操作系统、某个特定版本的数据库、某个特定版本的第三方库);并发问题开始出现(新开发的系统需要同时处理大量的请求,但保留下来的系统没有考虑到并发);离线问题开始出现(很多线下系统仍然是完全离线的)AI Agent的概念开始萌芽(强化学习Agent、AlphaGo),但还没有「大语言模型驱动的AI Agent」的概念,「Agent+遗留系统集成」的问题还没有出现
2020年至今大语言模型爆发(GPT-3、GPT-4、Claude、Gemini),大语言模型驱动的AI Agent爆发(LangChain、LlamaIndex、AutoGPT、BabyAGI、CrewAI),多模态大语言模型爆发(GPT-4V、Gemini Ultra),多Agent协作爆发企业开始大规模部署大语言模型驱动的AI Agent体系,试图提升企业的核心竞争力;但发现AI Agent无法直接与保留下来的大量遗留系统对接所有之前积累的遗留系统问题全部爆发,而且还增加了「AI Agent友好的接口封装」的问题(遗留系统的API太复杂,大语言模型无法理解)「Agent+遗留系统集成」的问题正式出现,而且成为了全行业的「刚需」和「硬骨头」!

从上面的表格可以看出,「Agent+遗留系统集成」的问题不是突然出现的,而是经过了30多年的技术发展和企业行为积累下来的——现在不解决这个问题,以后只会越来越严重!


好的,这一章的内容就到这里——我们已经搞懂了什么是「AI Agent」,什么是「遗留系统」,什么是「Agent+遗留系统集成」,为什么会出现这些问题,以及问题的演变发展历史!

下一章,我们会详细描述「Agent+遗留系统集成」会遇到的所有问题,明确哪些问题是这篇博客能解决的,哪些问题是这篇博客不能解决的!


(未完待续,下一章将超过10000字,详细拆解问题边界与核心痛点)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询