Циклы рефлексии и самокритики
После каждого шага спрашивайте модель: «Это сработало? Что дальше?» — самый дешёвый способ повысить надёжность
«Циклы рефлексии и самокритики» — бесплатный урок AI Agents на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Что такое рефлексия
Рефлексия — это когда агент анализирует свои прошлые действия и спрашивает: «Что прошло хорошо? Что пошло плохо? Что следует сделать иначе?»
Самый дешевый способ повысить надежность агентов.
Статья о Reflexion
Shinn и другие представили Reflexion в 2023 году. После каждой неудачной попытки агент пишет самокритику и использует её как руководство для следующей попытки. Качество резко повысилось.
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.
'''Критик как отдельная модель
Используйте для критики другую модель:
- Снижает общие предубеждения
- Может быть дешевле (маленькая модель-критик, большая модель-автор)
- Или наоборот (маленькая модель-автор, большая модель-критик)
Рефлексия на уровне шага
Проводите рефлексию после каждого STEP, а не только в конце:
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. Для участков, критичных по задержке, пропускайте её. Для высококачественных результатов она того стоит.
Как избежать угодливой рефлексии
Если Вы спрашиваете «это сработало?», модель часто отвечает «да». Принудительно проводите критическую оценку:
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% в сравнительных проверках.
Генератор и проверяющий
Вариант: пусть одна LLM генерирует результат, а другая его проверяет. Если проверяющая модель отклоняет результат, генератор повторяет попытку с учётом причины отклонения. Сегодня этот подход используется во многих производственных агентах.
Когда NOT проводить рефлексию
- Одноэтапные задачи, которые и так дёшевы
- Чаты в реальном времени
- Участки системы, критичные к задержке
Идея Reflexion
Какова ключевая идея статьи Reflexion?
Итоги
Рефлексия — недорогой способ повысить качество. Анализируйте ошибки после сбоев, сохраняйте уроки и извлекайте их для похожих будущих задач. По возможности используйте отдельную модель-критика.
Изучай AI Agents с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 60
- Уроки
- 239
Часто задаваемые вопросы
Урок «Циклы рефлексии и самокритики» бесплатный?
Да — полный текст урока «Циклы рефлексии и самокритики» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.
Чему я научусь в уроке «Циклы рефлексии и самокритики»?
После каждого шага спрашивайте модель: «Это сработало? Что дальше?» — самый дешёвый способ повысить надёжность Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Agents?
Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Циклы рефлексии и самокритики»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Agents?
Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Иерархическая декомпозиция задач
- Стек целей и возврат назад
- Модели мира и прогнозирование на несколько шагов
- Циклы рефлексии и самокритики