自己修正

Self-Correction

自己修正とは

自己修正(Self-Correction)とは、AIエージェントが自身の出力や行動のエラーを検出し、自律的に修正するプロセスのことです。自己反省で発見された問題点を実際に修正するアクションまでを含む、より実践的な能力です。

表:自己修正の要点まとめ
ひとことで言うと誤りやエラーに気づいたAIが、自分でやり直して直す仕組み。
どこで使うコード生成(エラーを見て修正)、計算ミスの訂正、形式違反の修正。
注意点無限にやり直し続けることがある。試行回数の上限を必ず設ける。

自己修正のプロセス

自己修正の典型的なプロセスは、まず出力の生成、次にその出力の検証(テスト実行、論理チェック、外部ツールでの確認など)、エラーの特定、そしてエラー原因の分析と修正という流れです。コーディングエージェントの場合、コードの生成→テスト実行→エラー検出→コード修正→再テストという反復サイクルが典型的です。

図:自己修正の流れ
1実行するコードや処理を走らせる
▶
2エラーを検知失敗の内容を取得
▶
3原因を推定何が悪かったか
▶
4修正して再実行直した版を試す
▶
5成功で終了上限回数で打ち切り
↺ 成功するか上限に達するまで1〜4をくり返す

自己修正の手法

外部フィードバックに基づく修正(テスト結果、APIエラー、ユーザーの指摘など)、自己評価に基づく修正(LLM自身による品質評価)、ルールベースの修正(事前定義されたバリデーションルール)など、複数の手法が存在します。外部フィードバックに基づく修正が最も信頼性が高いとされています。

自己修正の課題

LLMは時として正しい出力を誤って「修正」してしまったり、根本的な誤りに気づかず表面的な修正に終始したりすることがあります。また、自己修正のループが収束せず無限に修正を繰り返す可能性もあるため、適切な停止条件の設定が重要です。