20 loop-паттернов, которые отличают AI-систему от одноразового агента
Агент — это работник. Цикл — то, что заставляет работника становиться лучше. 20 паттернов проектирования циклов, которые постоянно встречаются в продакшн AI-системах: качество, память, планирование, исследование и самооптимизация.

Перевод и адаптация статьи «20 Loop Design Patterns Every AI Engineer Should Know» от Sai Rahul (@sairahul1). Картинки из оригинала заменены на схемы.
Большинство AI-инженеров умеют собрать агента. Очень немногие умеют собрать систему, которая становится лучше после первой попытки. Этот разрыв стоит шестизначных сумм.
Вот разница: агент — это работник. Цикл — то, что заставляет работника улучшаться.
Самые способные AI-системы в продакшне сегодня — не одиночные вызовы модели. Это циклы:
flowchart LR
G["Генерация"] --> E["Оценка"] --> L["Обучение"] --> I["Улучшение"] --> G
Снова и снова. Пока результат не станет действительно хорошим.
Агенты против циклов
Старый способ: промпт → ответ → готово.
Новый способ: генерация → критика → переписывание → оценка → повтор → запоминание → улучшение.
Первый — рабочий на заводе, который делает работу один раз. Второй — рабочий, который разбирает каждую ошибку, переписывает регламент и становится на 3% лучше каждую смену.
Команды, которые сейчас отгружают продакшн-AI, не пишут промпты лучше. Они строят циклы лучше.
Категория 1 — циклы качества
Задача: сделать результат лучше до того, как он покинет систему.
1. Генерация → Критика → Переписывание
Самый важный цикл в AI-инжиниринге.
flowchart LR
GEN["Генератор:<br/>создаёт результат"] --> CRIT["Критик:<br/>разбирает результат"]
CRIT --> RW["Генератор переписывает<br/>по замечаниям"]
RW --> Q{"Порог качества<br/>достигнут?"}
Q -- "нет" --> CRIT
Q -- "да" --> OUT["Результат уходит"]
Не одна модель — две роли, один конвейер. Используется для текстов, код-ревью, отчётов, стратегических документов, продающих писем.
Ключевая мысль: модель, которая генерирует, — не лучший судья собственного результата. Отдельный критик каждый раз находит то, что генератор пропустил.
2. Оценка и повтор (Score-and-Retry)
Сгенерировать. Оценить. Повторить, если ниже порога. Просто, мощно, недоиспользуется.
Лучше всего работает там, где качество измеримо: точность извлечения данных, соответствие формату, фактическая корректность, скоринг лидов. Генератор не знает, что его оценивают. Оценщик — знает. Это разделение и есть паттерн.
3. Мульти-критик
У одного критика есть слепые зоны. Используйте четырёх:
flowchart TD
OUT["Результат"] --> C1["Критик корректности:<br/>факты верны?"]
OUT --> C2["Критик стиля:<br/>ясно и хорошо написано?"]
OUT --> C3["Критик безопасности:<br/>уместно и безопасно?"]
OUT --> C4["Критик домена:<br/>соответствует стандартам отрасли?"]
C1 & C2 & C3 & C4 --> ALL{"Все четверо<br/>одобрили?"}
ALL -- "да" --> SHIP["Выпускаем"]
ALL -- "нет" --> OUT
Каждый оценивает независимо. Применяется в медицинском AI, юридических документах, финансовом анализе, регулируемом контенте.
4. Состязательная критика
Единственная работа критика — сломать ответ. Не улучшить. Сломать.
Вопросы состязательного критика: какие допущения здесь не выдерживают? каких доказательств не хватает? что скажет скептик? где это уверенно, но неверно?
Генератор затем защищается или переписывает. Выживает лучший ответ. Используется для синтеза исследований, проверки инвестиционных тезисов, стратегического планирования, анализа рисков.
5. Ансамбль судей
Один судья даёт шумные оценки. Пять судей усредняют шум. Один и тот же результат прогоняется через несколько оценщиков, оценки агрегируются, дальше проходят только результаты с высоким консенсусом.
Категория 2 — циклы памяти
Задача: выучить, что произошло, чтобы следующий раз был умнее.
6. Reflexion
Самый важный паттерн самоулучшения из существующих:
flowchart LR
T["Агент выполняет задачу"] --> F{"Провал?"}
F -- "да" --> A["Агент разбирает,<br/>почему провалился"]
A --> S["Сохраняет урок"]
S --> R["Повторяет попытку<br/>с уроком в контексте"]
R --> T
F -- "нет" --> OK["Готово"]
Каждая итерация умнее предыдущей. Это разница между системой, которая падает один раз, и системой, которая падает только один раз.
7. Обновление памяти
После каждой задачи сохраняются три вещи: какое решение принято, какой получился результат, что стоило бы сделать иначе. Будущие запуски наследуют это знание. Система на шестом месяце — не та же, что на первом: она прочитала шесть месяцев собственной истории.
8. Библиотека ошибок
Храните каждый провал: неверный ответ, плохой результат, упавшее выполнение, краевой случай. Перед новой задачей — сначала поиск по библиотеке ошибок. Есть похожий провал → известный фикс применяется ещё до старта. Система перестаёт наступать на одни грабли дважды. Самый недоиспользуемый паттерн в продакшн-AI.
9. Паттерны успеха
Большинство инженеров хранят только провалы. Храните и успехи: подход, контекст, что именно сработало. Учитесь на победах, а не только на ошибках.
10. Сжатие памяти
Память растёт бесконечно, а безлимитная память — неюзабельная память. Когда накопилось N записей — сжимаем: много конкретных воспоминаний → меньше абстракций более высокого уровня. Контекст остаётся управляемым, паттерны — доступными, система — быстрой.
Категория 3 — циклы планирования
Задача: адаптировать план, когда реальность меняется.
11. План → Выполнение → Перепланирование
Самая частая ошибка в проектировании агентов — считать план фиксированным. Планы ломаются при контакте с реальностью.
flowchart LR
P["Создать план"] --> X["Выполнить шаг"]
X --> O["Наблюдать результат"]
O --> U["Обновить план"]
U --> X
Не водопад — спираль. Каждый виток затягивает подход туже. Применяется, когда среда меняется, у задач есть зависимости, а цели — длинные.
12. Динамический workflow
Большинство конвейеров фиксированы: шаг 1 → шаг 2 → шаг 3, всегда. Динамические меняются по результатам: вывод A → ветка X, вывод B → ветка Y, вывод C → сразу шаг 5. Конвейер сам решает свою форму в рантайме. Используется в мультидокументных исследованиях, маршрутизации поддержки, адаптивных контент-конвейерах.
13. Декомпозиция цели
Входит большая цель. Система дробит её на подцели, подцели — на задачи, задачи — на шаги. Декомпозиция продолжается, пока каждая единица не станет достаточно маленькой для выполнения одним вызовом.
14. Оценка прогресса
Каждые N шагов — остановка и вопрос: «Мы вообще приближаемся к цели?» Да — продолжаем стратегию. Нет — меняем стратегию, инструменты или план. Система следит за собственным прогрессом, а не слепо исполняет. Используется в долгих исследовательских агентах, многодневных автономных задачах, агентах-отладчиках.
15. Удовлетворение ограничений
Крутимся, пока не выполнены все ограничения. Очень частый паттерн в продакшне: результат не готов, пока не проходит каждое бизнес-правило.
Категория 4 — циклы исследования
Задача: найти лучший ответ, пробуя несколько путей.
16. Ветвление и исследование
Не привязывайтесь к одному пути — исследуйте несколько одновременно:
flowchart TD
T["Задача"] --> B1["Вариант A"]
T --> B2["Вариант B"]
T --> B3["Вариант C"]
B1 & B2 & B3 --> CMP["Сравнить результаты"]
CMP --> BEST["Выбрать лучшую ветку,<br/>отбросить остальные"]
Используется для вариантов контента, архитектурных решений, отладки нескольких гипотез, A/B-генерации.
17. Поиск по дереву
Ветвление идёт на один уровень вглубь. Поиск по дереву — на любую нужную глубину: раскрываем самые перспективные узлы, отсекаем слабейшие, продолжаем, пока решение не найдено. Вычислительно дорого, но находит решения, недоступные одиночным вызовам.
18. Дебаты
Два агента, одна тема, противоположные позиции:
flowchart LR
A["Агент A:<br/>защищает ответ"] <--> B["Агент B:<br/>атакует ответ"]
A --> R["Раунды: вызов допущениям,<br/>требование доказательств,<br/>вскрытие слабой логики"]
B --> R
R --> FIN["Итоговый ответ рождается<br/>из несогласия"]
Состязательное давление находит то, что пропускают уверенные ответы одиночного агента. Используется для инвестиционных решений, стратегического планирования, оценки рисков, критики исследований.
Категория 5 — циклы оптимизации системы
Задача: цикл улучшает сам цикл.
19. Оптимизация промпта
Большинство инженеров пишут промпт один раз и больше не трогают. Циклы оптимизации это меняют: система прогоняет промпт на тестовом наборе → оценивает каждый вывод → находит, где промпт проваливается → переписывает его под эти провалы → прогоняет и оценивает заново.
Промпт становится лучше автоматически, без участия человека. Лучшие промпты в продакшн-AI написаны не человеком — они выведены эволюцией.
20. Оптимизация workflow
Здесь начинается самое интересное: цикл улучшает цикл.
flowchart TD
M["Система измеряет себя"] --> LAT["Задержка:<br/>сколько занимает каждый шаг?"]
M --> COST["Стоимость:<br/>сколько токенов на вызов?"]
M --> QUAL["Качество:<br/>какая оценка на каждой стадии?"]
LAT --> FIX["Слишком медленно →<br/>параллелим шаги"]
COST --> FIX2["Слишком дорого →<br/>меняем на дешёвую модель,<br/>где качество держится"]
QUAL --> FIX3["Качество падает →<br/>добавляем критика перед выходом"]
FIX & FIX2 & FIX3 --> M
Это начало по-настоящему самоулучшающихся систем: не просто улучшающиеся результаты, а системы, которые перепроектируют сами себя.
Паттерн за всеми 20 паттернами
Каждый цикл выше разделяет одну структуру:
Действие → Наблюдение → Оценка → Корректировка
Это весь рецепт. Результат никогда не финален с первой попытки — результат это отправная точка. Цикл — то, что превращает отправную точку в продакшн.
Полная карта
| Категория | Паттерны |
|---|---|
| Качество | Генерация→Критика→Переписывание · Оценка-и-повтор · Мульти-критик · Состязательная критика · Ансамбль судей |
| Память | Reflexion · Обновление памяти · Библиотека ошибок · Паттерны успеха · Сжатие памяти |
| Планирование | План→Выполнение→Перепланирование · Динамический workflow · Декомпозиция цели · Оценка прогресса · Удовлетворение ограничений |
| Исследование | Ветвление · Поиск по дереву · Дебаты |
| Самооптимизация | Оптимизация промпта · Оптимизация workflow |
Большинство думает, что агенты — это будущее. Агенты — просто работники. Циклы — то, что заставляет работников улучшаться.
Самый большой сдвиг в AI сейчас — не лучшие модели. Это переход от «промпт → ответ» к «генерация → оценка → обучение → улучшение».
Команды, которые освоят проектирование циклов, будут строить не лучшие промпты — а системы, которые становятся лучше каждый день после деплоя. Без чьего-либо участия.