核心概念
本稿では、ソフトウェア開発における問題解決の重要なステップである、報告された問題を再現するためのコード生成をLLMが継続的に学習し改善していく手法を提案しています。
要約
EvoCoder:継続学習による問題コード再現
本稿は、ソフトウェア開発における問題解決の重要なステップである、報告された問題を再現するためのコード生成をLLMが継続的に学習し改善していく手法、EvoCoderを提案しています。
ソフトウェア開発において、問題解決は品質と安定性を維持するために不可欠です。問題解決において、報告された問題を再現するコードを自動生成することは、問題の特定と解決を加速させるために非常に重要です。
従来のコード生成手法は、一般的なエラーには対応できても、個々のコードリポジトリに特有のエラーには対応できませんでした。これは、プロジェクト固有の書式設定規則や、LLMが解釈・適用に苦労する人間定義の規則に依存しているためです。
EvoCoderは、継続学習とReflection LLMを用いた新しい問題コード再現手法です。EvoCoderは、Actor LLMが問題コードを再現し、その行動軌跡をメモリに保存する階層的なReflectionアーキテクチャを採用しています。Reflection LLMは、その軌跡から経験を抽出します。抽出された経験をより適切に維持・活用するために、階層的な経験プールを設計しました。上位層は一般的な経験を、下位層はリポジトリ固有の経験を格納します。経験を最新の状態に保ち、継続的に洗練させるために、Reflection LMが経験の階層を操作するための5つのアクション(追加、削除、マージ、承認、変更)を定義しました。