1.2. Red Hat Developer Lightspeed 用于 MTA 的工作原理
用于 MTA 的 Red Hat Developer Lightspeed 通过收集并存储大量应用程序代码中的更改,查找上下文来生成您选择的 LLM 的提示,并通过生成 LLM 生成的代码解析来解决特定问题。
红帽开发人员 Lightspeed 使用 Retrieval Augmented Generation,用于代码中的基于上下文的问题解析。通过使用 RAG,红帽开发人员 Lightspeed 用于 MTA 提高了与 LLM 共享的上下文,以生成更准确的建议来修复代码中的问题。该上下文允许 LLM "reason" 并为代码中检测到的问题生成建议。这种机制有助于克服 LLM 中限制的上下文大小,以防止它们分析应用程序的完整源代码。
上下文是源代码、问题描述和解决示例的组合:
- 当您为给定目标技术运行静态代码分析时,MTA 检测到的问题描述。
- (可选) 默认和自定义规则可能包含您包含的额外信息,可帮助 Red Hat Developer Lightspeed 来定义上下文。
解决的示例构成了来自其他迁移的代码更改,以及用于未来可能的问题的解决方案模式。当 Migrator 接受之前分析中的解决方案时,会创建一个解决的示例,这会导致在 Migrator 手动修复的传统应用程序中更新代码或不熟悉的问题。解决的示例存储在解决方案服务器中。
问题的更多解决示例实例增强了上下文,并改进触发此问题的规则的成功指标。这个问题的成功指标指的是与之前分析中接受的解决方案关联的更高的信任级别。
(可选)如果您启用解决方案服务器,它会提取一个解决方案模式,称为迁移提示,以便 LLM 用来生成更准确的修复建议。
迁移提示的质量改进会带来更准确的代码解析。来自 LLM 的准确代码解析会导致用户接受对代码的更新。更新的代码存储在解决方案服务器中,以便以后生成更好的迁移提示。
在解决方案服务器中对分辨率模式进行了改进,并改进了迁移提示会导致在不同的迁移中迁移应用程序时更可靠的代码变化。