思特沃克利用生成式AI破解遗留系统黑箱
快速阅读: Thoughtworks顾问利用Gemini 2.5 Pro对无源代码的遗留系统进行逆向工程,通过分析数据库、用户界面和二进制文件生成系统功能规格书,加速了传统手动方法无法比拟的洞察速度,解决“黑盒问题”。
Thoughtworks 的顾问最近描述了一项实验,该实验将生成式人工智能应用于一个没有源代码的遗留系统。这篇文章发表在 Martin Fowler 的博客上,介绍了五人团队并行分析系统数据库、用户界面和二进制文件的试点项目。InfoQ 联系了作者 Thiyagu Palanisamy 和 Chandirasekar Thiagarajan,他们解释说,在为期两周的试点期间,团队使用 Gemini 2.5 Pro 分析了庞大遗留系统的一小部分。分析的结果是一份功能规格书——一份由领域专家验证的“蓝图”,描述了这个黑盒系统的内部运作。
人工智能在解码代码、总结二进制文件以及映射数据库变更方面表现出色,同时也简化了模式发现过程。这项练习展示了如何利用人工智能加速逆向工程,为遗留系统提供深入见解,其速度远超传统手动方法。许多企业在长期使用后依赖于变得模糊的关键系统,文档不完整,源代码可能丢失,机构知识随时间而消退。文章将此称为“黑盒问题”:系统可以工作,但其内部规则是隐藏的。目标不是重新生成代码,而是重构一个功能意图的“蓝图”,以较低风险指导现代化进程。
试点项目结合了多种技术。一方面,通过关联用户界面、数据库模式和运行时行为中的观察结果,连接不同数据源之间的点。另一方面,应用变更数据捕获方法追踪特定用户操作如何触发数据库变化。在此基础上,团队尝试通过将数据库活动与二进制调用联系起来来推断服务器逻辑。这进一步发展为人工智能辅助的二进制考古学,其中反编译工具和大型语言模型帮助总结函数并提出候选职责。
整个过程是迭代的,包括寻找相关函数、构建子树、验证入口点以及从片段组装规范形成连贯的功能。在每个阶段,人工智能通过生成摘要、突出关系或起草候选规则提供了速度优势,而人类则从不同角度验证结果。当领域专家审查输出时,确认其准确捕捉了行为,足以作为可靠的参考点。作者告诉 InfoQ,他们有信心这种方法可以在更大范围内扩展,前提是核心团队及其积累的上下文保持连续性。作者还提到,这些技术已被应用于其他客户项目,无论是否有源代码访问权限,都显著加快了背景构建的速度。
然而,实验也揭示了一些挑战。尽管人工智能加速了许多步骤,但模型并不总是可靠,存在幻觉、误报和覆盖范围不足的风险。每个假设都需要通过其他证据确认才能接受。验证至关重要。通过跨数据源的交叉检查和领域专家的审查,确保了草案规格的准确性,防止速度损害信任。此次试点不仅展示了架构师考虑人工智能辅助逆向工程时的前景,也指出了其局限性。该方法表明,人工智能可以帮助在用户界面、数据库和二进制文件之间关联证据,生成领域专家可以验证的初步规格。
在团队取得令人鼓舞的结果后,InfoQ 与作者 Thiyagu 和 Chandirasekar 进行了交谈,了解了更多关于试点设置及其技术潜力的看法。
(以上内容均由Ai生成)