1.2. Red Hat Developer Lightspeed for MTA の仕組み
Red Hat Developer Lightspeed for MTA は、多数のアプリケーションのコード内における変更を収集して保存し、コンテキストを検出して任意の LLM 用プロンプトを生成し、LLM によって生成された移行ヒントを生成して特定の問題に対処することで機能します。
Red Hat Developer Lightspeed for MTA は、コード内の問題をコンテキストベースで解決するために Retrieval Augmented Generation を使用します。RAG を使用することで、Red Hat Developer Lightspeed for MTA は LLM と共有するコンテキストを改善し、コードの問題を修正するためのより正確な提案を生成します。このコンテキストを使用することで、LLM はコード内で検出された問題について "推論" し、提案を生成できます。このメカニズムは、LLM のコンテキストサイズが制限されているために、アプリケーションのソースコード全体を分析できないという問題を解消するのに役立ちます。
コンテキストは、ソースコード、問題の説明、解決済み事例を組み合わせたものです。
- 特定の移行先テクノロジー群に対して静的コード分析を実行したときに MTA によって検出された問題の説明。
- (オプション) デフォルトルールとカスタムルールには、Red Hat Developer Lightspeed for MTA がコンテキストを定義するために役立つ追加情報が含まれている場合があります。
解決済み事例は、他の移行からのコード変更と、今後使用できる問題の解決パターンで構成されます。。移行担当者が過去の分析で解決策を承認し、その結果、コードが更新されるか、レガシーアプリケーションで見つかった未知の問題を移行担当者が手動で修正した場合、解決済み事例が作成されます。解決済み事例はソリューションサーバーに保存されます。
ある問題の解決済み事例の件数が増えるほど、コンテキストが強化され、その問題を引き起こすルールの成功メトリクスが向上します。ある問題の成功メトリクスが高いということは、過去の分析でその問題に対して承認された解決策に関連する信頼度が高いことを意味します。
(オプション) ソリューションサーバーを有効にすると、移行ヒントと呼ばれる解決策のパターンが抽出され、LLM はこれを使用して将来の分析でより正確な修正提案を生成できます。
移行ヒントの品質が向上すると、コードの解決策の正確さが向上します。LLM が正確なコードの解決策を提案すると、ユーザーはコードの更新を受け入れます。コードが更新されると、そのコードは今後、より適切な移行ヒントを生成するために、Solution Server に保存されます。
ソリューションサーバーの解決策パターンの循環的な改善と移行ヒントの改善により、各移行ウェーブでアプリケーションを移行する際に、より信頼性の高いコード変更が可能になります。