首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AutoDev Bridge:构建 Agent 自动分析老旧系统,设计迁移路径与方案实施

在 2023 年,基于当时的模型能力有限,我们在 AutoDev 设计了一系列的遗留系统功能的特性。而在 2025 年,经过自动编程智能体 AutoDev Sketch 的一系列 迭代,我们开始思考如何将 AI 智能体应用到遗留系统中,便产生了 AutoDev Bridge 这个想法。

为什么大模型能做得更好?

过去,我们公司 Thoughtworks 在这方面有非常多的积累,包括从迁移策略的设计、安全防护网的搭建等等,但是不论哪种迁移模型(绞杀者、修缮者等)最后 都是需要人工介入的。而在 2025 年,已经有越来越多的 AI 智能体能够做到自动化迁移,因此我们进一步完善了我们的开源方案。

在遗留系统迁移上,为什么大模型能做得更好呢?

设计合理的路径规划。通常来说,优先基于成本考虑,而大模型作为一个知识库,能非常好的给你成本评估。

生成架构蓝图。结合目录结构、依赖信息、API,AI 能针对于当前系统描绘出初步的架构蓝图。

提炼代码中的业务知识。结合 AST 等,分析现有代码的业务逻辑,再基于其重写。

跨语言翻译。与生成代码不同的是,LLM 能非常好的将其翻译成目标语言,只需要几十秒到几分钟的时间。

迁移防护网的增强。即生成自动化测试来验证迁移的正确性,实现实现精准回归测试。(注:在前端依然有所不足)

……

所以,我们只需要思考两件事:

如何让 AI 能借助工具更好地理解遗留系统?

如何借助降低迁移的风险?

AutoDev Bridge 如何加速老旧系统迁移?

基于对遗留系统迁移的理解,我们设计了 AutoDev Bridge 的初步方案。它主要包括:

LLM 生成的迁移方案。(基于“探索-感知-响应”方案)

基于 C4 的当前架构现状分析。(基于 AI 工具调用)

结合 AST 与调用链的业务逻辑分析。(AI 理解代码)

生成迁移测试用例。

AI 辅助的代码翻译。

……

借助与 IDE 的紧密集成,AutoDev Bridge 能获得非常准确的 IDE 上下文,以进一步降低 AI 幻觉的产生。

探索-感知-响应:LLM 生成的迁移方案

autodev-bridge-framework.png

在过去,我们将遗留系统迁移定义为 Cynefin 中的复杂问题,即你无法预测结果,只能通过实践来发现。于是乎,我们参考了 Cynefin 的思想,设计了现有的 AutoDev Bridge 的思维框架,即你要先探索、再感知、再响应。由于,我们预期的是模型在行动前是需要有一个蓝图(C4 模型),所以我们将这个过程分为三个阶段:

探索:通过初步调用工具,获取系统的基本信息,如目录结构、依赖关系等。

感知:基于探索的结果,生成初步的架构蓝图、迁移方案。

响应:进行迁移方案的验证、生成迁移测试用例、生成迁移代码。

落地到国内的模型能力下,就会由由 V3 来进行探索,R1 进行方案设计,由 V3 进行响应。

面向架构视图的工具设计

为了更好让 AI 理解当前系统的架构,我们面向架构视图设计了一系列的工具。

如下便是 AI 基于某个项目的架构视图的分析结果:

autodev-brdige-c4.png

注:显然 DeepSeek 不能很好理解 C4 模型,还需要进一步的优化。

业务知识提取与理解

在业务逻辑分析中,我们主要是基于 API 的 AST 与调用链的业务逻辑分析。即先通过webApiView获取所有的 API,再通过knowledge获取 API 的调用链。 如:

在有了从 Controller 到 Repository 的调用链后,AI 就可以非常好地理解当前 API 的业务逻辑:

autodev-bridge-api-call-tree.png

当然,这只是一个简单的示例,实际上,AI 还需要结合搜索等工具,进一步获得更多的上下文。

总结

随着,我们研究的进一步深入,我们会逐步完善这个方案,以实现更好的自动化迁移。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O-Se6L5OBETvct-BO2KWYt0A0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券