コンテンツにスキップ
LinkedInX

自己修正とリフレクション

対象読者: AIが誤った結果に気づかず進んでしまう問題を解決したい方、自己チェックの仕組みを設計したい方
前提知識: 計画とタスク分解 の基礎

自己修正(リフレクション)とは、AIが自分の実行結果を確認し、想定と違えば方針を直す仕組みです。計画が「進む方向を決める」なら、自己修正は「ずれたときに戻る」役割を担います。

基本の流れ

graph LR
    Act["実行\n工程を進める"] --> Check["検証\n結果は期待どおりか"]
    Check -->|期待どおり| Next["次の工程へ"]
    Check -->|違う| Fix["方針を修正して再実行"]
    Fix --> Act

重要なのは、検証の材料を何にするかです。ここで設計が分かれます。

自己評価だけでは足りない

もっとも簡単な検証は、AI自身に「この結果は正しいか」と確認させる方法です。手軽ですが弱点があります。誤りの原因が自分の判断にある場合、同じ視点で見直しても気づけないのです。

信頼性を上げるには、外部の客観的な事実を検証材料に使います。

検証材料信頼性
自己評価AIが自分の出力を見直す低い(見落としが再現する)
実行結果テストの成否、コマンドの終了コード高い
別視点のレビューサブエージェントによる確認中〜高
人の確認レビューによる承認高い(ただしコストがかかる)
この表は横方向にスクロールできます。キーボードでは、表にフォーカスして左右の矢印キーを使用してください。

実務では「テストで機械的に確認できる部分は実行結果、判断が必要な部分は別視点のレビューか人の確認」という組み合わせになります。

ループの上限を決める

自己修正は無限に繰り返せてしまいます。改善しないまま同じ修正を試み続けると、時間とコストだけが増えます。

  • 修正回数の上限を決める(例:同じ工程は3回まで)
  • 上限に達したら、自動で続行せず人に引き渡す
  • 同じ失敗が2回続いたら、修正ではなく計画そのものを見直す

何を修正するかを区別する

失敗したときに直すべき対象は、いつも同じではありません。

失敗の種類直す対象
実行時のエラー入力やパラメータ
期待と違う出力指示やコンテキストの与え方
前提が崩れている計画そのもの
この表は横方向にスクロールできます。キーボードでは、表にフォーカスして左右の矢印キーを使用してください。

同じ手順を繰り返すだけの再試行は、3種類目の失敗には効きません。

まとめ

  • 自己修正は、実行結果を検証して方針を直す仕組み
  • 自己評価だけでは同じ見落としが再現するため、外部の客観的事実を使う
  • 修正ループには上限を設け、超えたら人へ引き渡す
  • 失敗の種類によって、直す対象(入力・指示・計画)を切り替える

関連リンク

クイズ