AI Agents · レッスン

リフレクションと自己批評のループ

各ステップの後にモデルへ「うまくいきましたか?次は何をしますか?」と尋ねます — 最も低コストで信頼性を高める方法です。

レッスン 4/415 ステップ

「リフレクションと自己批評のループ」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

リフレクションとは

リフレクションとは、エージェントが自分の過去のアクションを振り返り、「何がうまくいったか?何がうまくいかなかったか?何を変えるべきか?」と問いかけることです。

エージェントの信頼性を高める、最も低コストな方法です。

Reflexion論文

Shinn らは2023年に Reflexion を発表しました。失敗するたびに、エージェントが自己批評を書き、それを次の試みへの指針として使います。品質は劇的に向上しました。

A Simple Reflection Loop

def with_reflection(task, max_attempts=3):
    reflections = []
    for attempt in range(max_attempts):
        result = agent.run(task, hints=reflections)
        if result.success:
            return result
        reflection = llm.invoke(f'''
Task: {task}
Attempt: {attempt + 1}
What went wrong: {result.error}

Reflect on what to do differently next time.
''').content
        reflections.append(reflection)
    return last_result

失敗しなくても自己批評する

成功した出力についても、エージェントに自己批評させることができます:

critique_prompt = '''
Review your answer for:
1. Is it factually correct?
2. Is it complete?
3. Are there obvious improvements?

If improvements possible, return REVISE: <revised answer>.
Otherwise return ACCEPT.
'''

別のモデルを批評役にする

批評には別のモデルを使います:

  • 共有されたバイアスを減らせる
  • コストを下げられる(小さな批評モデル、大きな作成モデル)
  • 逆の構成も可能(小さな作成モデル、大きな批評モデル)

ステップ単位のリフレクション

最後だけでなく、各ステップの後にリフレクションを行います:

thought = 'I will use search_kb'
action = call_search_kb(...)
observation = '...'
reflection = llm.invoke(f'Did that step help? Should I try a different tool next?').content

コストを意識する

リフレクションによってLLMの呼び出し回数は2倍になります。レイテンシーが重要な経路では省略してください。高品質な出力が必要な場合は、その価値があります。

お世辞的な振り返りを避ける

「うまくいきましたか?」と尋ねると、モデルはよく「はい」と答えます。批判的な評価を強制してください。

critique_prompt = 'List 3 SPECIFIC PROBLEMS with the previous answer. If you cannot find any, say WHY there are none.'

振り返りの記憶

振り返りを永続ストアに保存します。複数のセッションを重ねることで、エージェントは「学んだ教訓」のライブラリを構築します。

save_reflection({
    'task_type': 'sql-write',
    'lesson': 'Always check if table is partitioned before running heavy aggregations.',
    'created_at': now()
})

関連する過去の振り返りを取得する

新しいタスクの開始時に、タスクの種類に一致する教訓を取得します。

lessons = vector_db.search(embed(task_description), filter={'type': 'reflection'}, k=3)
prompt += '\nLessons learned from past tasks:\n' + '\n'.join(lessons)

具体的な成果

コードエージェントへのプロンプトに「各ステップの完了後、問題が起こる可能性を簡潔に記録し、再確認してください」と追加すると、ベンチマークでは通常、バグ発生率が15~30%低下します。

検証器と生成器

別の方法として、1つのLLMに生成させ、別のLLMに検証させます。検証器が却下した場合は、生成器が却下理由を使って再試行します。現在、多くの本番環境のエージェントで使われています。

振り返りを行わない場合

  • すでに低コストな一度きりのタスク
  • リアルタイムチャット
  • レイテンシーが重要な処理経路

Reflexionの重要な洞察

Reflexionの論文から得られる重要な洞察は何でしょうか?

まとめ

振り返りは、低コストで品質を高める手段です。失敗後に批評し、教訓を保存し、将来の類似タスクで取得します。可能であれば、別のcriticモデルを使用してください。

無料で開始

AI チューターと学ぶ AI Agents — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
60
レッスン
239

よくある質問

「リフレクションと自己批評のループ」レッスンは無料ですか?

はい。「リフレクションと自己批評のループ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。

「リフレクションと自己批評のループ」で何を学びますか?

各ステップの後にモデルへ「うまくいきましたか?次は何をしますか?」と尋ねます — 最も低コストで信頼性を高める方法です。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AI Agentsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「リフレクションと自己批評のループ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAI Agentsレッスンでコードを書いて実行できますか?

はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 階層的なタスク分解
  2. 目標スタックとバックトラッキング
  3. ワールドモデルと先読み
  4. リフレクションと自己批評のループ
← AI Agentsに戻る