0Pricing
AI Agents · Урок

Циклы итеративного самокорректирования

Запускайте тесты, разбирайте сбои и просите модель исправить их — так устроен внутренний цикл каждого современного агента-программиста

«Циклы итеративного самокорректирования» — бесплатный урок AI Agents на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения 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.'

Обнаруживайте повторяющиеся сбои

Если один и тот же тест не проходит три итерации подряд с одинаковыми ошибками, агент застрял. Перепланируйте или эскалируйте:

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.
'''

Эскалируйте к более мощной модели

Если недорогая модель застряла, повторите SAME запрос на исправление с более мощной моделью:

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

Проверяйте после каждого редактирования

Не выполняйте много редактирований, а затем проверку — будет слишком трудно определить причину сбоев. Измените что-то одно, проверьте, затем переходите к следующему изменению.

Включайте вывод тестов в контекст

Храните недавний вывод тестов в контексте агента. Без него агент не знает, что он только что сделал:

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

Избегайте бесконечных циклов «исправления»

Установите жесткий предел числа итераций. Если по достижении максимального числа итераций задача не выполнена, эскалируйте её человеку:

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

Отслеживайте метрики самокоррекции

  • Среднее число итераций до успеха
  • Задачи, от которых отказались после достижения максимального числа итераций
  • Задачи, выполненные за 1 итерацию, по сравнению с 5

Эти метрики помогают улучшать запросы и инструменты.

Самокритика без тестов

Для задач без четкого набора тестов добавьте этап критики: пусть агент проверит собственные изменения перед отправкой:

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

Входные данные для самокоррекции

Каковы самые важные входные данные для «цикла исправления» агента?

Повторение

Запуск → ошибка → исправление → повторение. Передавайте конкретные ошибки. Перечитывайте перед повторным исправлением. Обнаруживайте остановки. При застревании эскалируйте к более мощным моделям или людям.

Часто задаваемые вопросы

Урок «Циклы итеративного самокорректирования» бесплатный?

Да — полный текст урока «Циклы итеративного самокорректирования» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.

Чему я научусь в уроке «Циклы итеративного самокорректирования»?

Запускайте тесты, разбирайте сбои и просите модель исправить их — так устроен внутренний цикл каждого современного агента-программиста Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Agents?

Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Циклы итеративного самокорректирования»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Agents?

Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Шаблоны работы агентов: планирование — выполнение — проверка
  2. Инструменты для написания кода (чтение, редактирование, Bash)
  3. Циклы итеративного самокорректирования
  4. Архитектуры SWE-Agent и OpenDevin
← Назад к AI Agents