0Pricing
AI Agents · レッスン

反復的な自己修正ループ

テストを実行し、失敗を解析し、モデルに修正を依頼します — 現代のコードエージェントに共通する内部ループです。

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

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

なぜ自己修正するのか

最初の試みは失敗することがよくあります。コードエージェントを特徴づけるのは、次の能力です:

  1. コードを実行する
  2. エラーを読む
  3. コードを修正する
  4. 繰り返す

この内側のループこそが、本物のコーディングエージェントとテキスト補完のデモを分けるものです。

The Loop

def code_until_pass(task, max_iters=10):
    write_initial_code(task)
    for i in range(max_iters):
        result = run_tests()
        if result.passed:
            return 'success'
        fix_prompt = f'Tests failed:\n{result.stderr}\nRead the code, identify the bug, and fix it with edit_file.'
        agent.run(fix_prompt)
    return 'gave up'

役に立つフィードバックを提供する

単に「テストに失敗しました」と伝えるだけでは、次の行動につながりません。完全なエラー出力、スタックトレース、期待値と実際の値を渡してください:

fix_prompt = f'''
The tests failed with this output:

FAILED tests/test_utils.py::test_add
  AssertionError: expected 4, got 5
  at line 42

Fix the code by editing the file.
'''

修正し直す前に読み直す

モデルは忘れます。各反復でファイルの現在の状態を読み直すよう、必ず促してください:

fix_prompt = 'First, read_file the failing module. Then edit it.'

繰り返しの失敗を検出する

同一のエラーで同じテストに3回連続して失敗した場合、エージェントは行き詰まっています。再計画するか、エスカレーションしてください:

if same_error_count >= 3:
    return 'stuck — replanning needed'

Replan When Stuck

replan_prompt = f'''
The current approach is not working. The repeated error is:
{error}

Describe ONE alternative approach to solving the task.
'''

より大きなモデルにエスカレーションする

安価なモデルが行き詰まった場合は、同じ修正プロンプトをより強力なモデルで再試行してください:

if iter > 3 and using_cheap_model:
    switch_to_big_model()
    # often unblocks 50% of stuck cases

編集のたびに検証する

多くの編集をまとめてから検証してはいけません。失敗の原因を特定するのが難しくなるためです。1つ編集したら検証し、次を編集してください。

テスト出力をコンテキストに含める

直近のテスト出力をエージェントのコンテキストに保持してください。これがないと、エージェントは自分が直前に何をしたのか把握できません:

messages.append({'role': 'tool', 'content': f'After your edit, tests now: {test_summary}'})

無限の「修正」ループを避ける

反復回数に上限を設けてください。MAX_ITERS に達してもタスクが完了していない場合は、人間にエスカレーションしてください:

if iter == MAX_ITERS - 1:
    notify_human(task, current_state, error_history)
    break

自己修正の指標を追跡する

  • 成功までの平均反復回数
  • max_iter で諦めたタスクの数
  • 1回の反復で成功したタスクと、5回で成功したタスクの数

これらの指標を使って、プロンプトとツールを改善します。

テストなしで自己批評する

明確なテストスイートがないタスクでは、批評のステップを追加してください。提出前にエージェント自身の差分をレビューさせます:

critique_prompt = '''
Review your changes for:
- Off-by-one errors
- Missing error handling
- Breaking other tests
Return FIX LATER or DONE.
'''

自己修正への入力

エージェントの「修正ループ」にとって、最も重要な入力は何ですか?

まとめ

実行 -> エラー -> 修正 -> 繰り返し。具体的なエラーを渡してください。修正し直す前に読み直させてください。停滞を検出し、行き詰まったらより大きなモデルや人間にエスカレーションしてください。

よくある質問

「反復的な自己修正ループ」レッスンは無料ですか?

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

「反復的な自己修正ループ」で何を学びますか?

テストを実行し、失敗を解析し、モデルに修正を依頼します — 現代のコードエージェントに共通する内部ループです。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「反復的な自己修正ループ」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. Agenticパターン:計画・実行・検証
  2. コーディング用ツールのインターフェース(Read、Edit、Bash)
  3. 反復的な自己修正ループ
  4. SWE-AgentとOpenDevinのアーキテクチャ
← AI Agentsに戻る