>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
JavaScript

如何安全地让AI处理古老的遗留代码而不破坏任何东西

想象一个典型场景:你接手了一个有五年历史的项目。没有文档,原始代码作者三年前就离职了,业务逻辑分散在数百个文件中。将Claude Code或Cursor这样的AI代理连接到这样的代码库是令人恐惧的。你让它修复一个函数——它重写了相邻的模块,破坏了没人知道的隐式依赖关系。

最近,一个名为Reversa的有趣工具出现在GitHub上,由用户名sandeco的开发者创建。这个框架以一种独特的方式解决了这个问题:它深入遗留项目,执行逆向工程,并将源代码转换为可执行规范。

Reversa安装程序

为什么要用规范替换代码

大多数编码代理擅长从头创建项目。你写一个提示词,工具就会生成一个干净的结构和可工作的代码。这个技巧在遗留代码上不起作用。如果代理不理解架构约束和上下文,它就会盲目工作。

Reversa充当旧代码和现代AI助手之间的桥梁。这个工具不会以传统方式为人类编写文档。相反,它生成操作契约。基于这些契约,任何编码代理都可以立即看到游戏规则、数据库表、权限矩阵以及不能被违反的算法。

研究过程是如何运作的

安装通过一个命令在项目根目录运行:

npx reversa install

安装程序自动检测系统中已安装的引擎——Cursor、Claude Code、Codex、Windsurf或Copilot。之后,它将技能集复制到.agents/skills/目录并创建配置文件。

当你在AI客户端中运行/reversa命令时,一组专门的代理管道就会启动。每个代理在分析过程中执行自己的角色:

  • Scout(侦察员)扫描表面结构,识别语言、框架和入口点。
  • Archaeologist(考古学家)深入模块,解析数据结构和复杂算法。
  • Detective(侦探)提取隐式业务规则、状态图和访问规则。
  • Architect(架构师)将收集的数据编译成C4图表、ERD模式图和集成地图。
  • Writer(编写者)将最终规范格式化为契约,并绑定到特定的代码行。

一个有趣的细节:Reversa在最终文档中用特殊的准确度徽章标记每个声明。🟢图标表示该规则直接由代码支持,包含文件和行引用。🟡图标放置在AI进行逻辑推理的地方。红色标记🔴表示"空白点",即代码无法解释某些内容,需要人工干预。

默认安全

在复杂代码库上启动任何自动化工具时,主要担心的是数据丢失或意外编辑。Reversa的创建者强调了完全隔离。

该框架遵循一个严格规则:在分析过程中,项目的源代码永远不会被修改或删除。所有结果都由代理只写入两个服务文件夹:用于分析状态的.reversa/和用于最终规范的_reversa_sdd/

此外,该工具不请求或传输API密钥。所有分析工作都卸载到你已经在本地运行的AI工具上。

数据提取后会发生什么

创建规范只是第一步。基于生成的_reversa_sdd/文件夹,你可以通过额外的命令启动其他工作流。

  • /reversa-forward帮助逐步演进系统,将新需求转化为可工作的代码,并进行回归控制。
  • /reversa-migrate准备将遗留堆栈迁移到现代架构的计划。
  • /reversa-docs将收集的数据编译成带有交互式D3图表和3D架构地图的静态HTML站点。
  • /reversa-debugger记录错误并将其因果链接到规范。

如果你需要运行完整周期而不需要频繁停止和确认,可以使用自主模式/reversa-autonomous。在该模式下,工具在启动时进行面试式提问,然后独立工作。

结果保存在哪里

_reversa_sdd/文件夹内,会出现清晰的Markdown文件结构。你可以在其中找到数据字典、领域描述、角色矩阵、OpenAPI规范和Mermaid格式的序列图。

_reversa_sdd/
├── inventory.md              # Инвентаризация файлов
├── dependencies.md           # Зависимости и версии
├── code-analysis.md          # Помодульный технический анализ
├── data-dictionary.md        # Словарь данных
├── domain.md                 # Бизнес-правила и глоссарий
├── state-machines.md         # Конечные автоматы в формате Mermaid
├── architecture.md           # Обзор архитектуры
├── confidence-report.md      # Отчет о точности анализа 
└── sdd/                      # Спецификации отдельных компонентов

如果在系统完善期间通过/reversa-forward修改代码,一个特殊的Sync代理会小心翼翼地将新功能的信息添加到_reversa_sdd/addenda/文件夹,保留变更历史。

值得采用吗

Reversa看起来是一个成熟的尝试,在将遗留项目交给AI之前为它们带来秩序。该项目正在积极开发中,2026年5月在arXiv上发表的最新预印本用学术方法支持了该框架的架构。

该工具对于继承了没有文档的服务以及计划从旧堆栈逐步迁移的团队很有用。你可以在任何测试仓库上试用该工具,因为它不会更改任何现有文件。

要快速开始,只需在终端运行npx reversa install并在常用的AI编辑器中打开项目即可。

相关项目