REPL-loop (цикл агента)
REPL-loop (Read-Eval-Print Loop — цикл чтения, выполнения, вывода) — фундаментальный паттерн взаимодействия между человеком и AI-агентом, в котором агент итеративно получает задачу, выполняет действие, наблюдает результат и продолжает до завершения цели.
Термин пришёл из программирования, где REPL — это интерактивная оболочка (Python REPL, Node.js REPL), в которой каждая введённая команда немедленно выполняется и выводит результат. В контексте AI-агентов REPL-loop описывает тот же принцип, но на уровне агентного цикла: агент не генерирует ответ за один проход, а итерирует через действия и наблюдения.
Классический REPL в программировании
$ python
>>> x = [1, 2, 3] ← Read (ввод)
>>> sum(x) ← Eval (выполнение)
6 ← Print (вывод)
>>> x.append(4) ← следующая итерация
>>> sum(x)
10Ключевые свойства:
Мгновенная обратная связь — результат виден сразу
Итеративность — каждый шаг строится на предыдущем
Стейтфулность — переменные сохраняются между шагами
REPL-loop в AI-агентах
AI-агент адаптирует тот же цикл, но вместо ввода — задача на естественном языке, вместо eval — вызов инструмента, вместо print — наблюдение за результатом:
Пример: агент пишет и запускает тест
ReAct: Reasoning + Acting
Распространённая реализация REPL-loop в LLM-агентах — паттерн ReAct (Reasoning + Acting), предложенный в 2022 году. Агент явно чередует шаги размышления (Thought) и действия (Action):
Явный Thought-шаг делает рассуждение агента прозрачным и помогает избежать прыжков к неверным действиям.
Виды REPL-loop в зависимости от инструментов
1. Code execution loop
Агент пишет код → запускает → видит ошибку → исправляет → повторяет:
Используется в: Claude Code, Cursor Agent, Devin, GitHub Copilot Workspace
2. Browser loop
Агент взаимодействует с браузером итеративно:
Используется в: Claude Computer Use, browser-use, Playwright MCP
3. File system loop
Агент читает → анализирует → редактирует → верифицирует:
4. Multi-agent loop
Несколько агентов взаимодействуют в цикле — оркестратор и специализированные субагенты:
Параметры качества REPL-loop
Глубина цикла (loop depth)
Сколько итераций делает агент, прежде чем достичь цели:
1-3 итерации — простые задачи (прочитать файл, добавить строку)
5-15 итераций — средние задачи (написать функцию с тестами)
20+ итераций — сложные задачи (реализовать фичу с нуля, провести исследовательское тестирование)
Слишком длинный цикл — признак плохого планирования или неподходящей задачи.
Детерминизм (determinism)
Один и тот же запрос должен давать схожий результат при повторном запуске. На практике LLM-агенты недетерминированы — важно при CI/CD-интеграции.
Стоп-критерий (stopping condition)
Агент должен знать, когда остановиться:
Явный: задача выполнена по чёткому критерию (тесты зелёные)
Неявный: агент решает сам («задача выглядит выполненной»)
По лимиту: принудительная остановка после N итераций
Без чёткого стоп-критерия агент может уйти в бесконечный цикл или остановиться преждевременно.
REPL-loop в тестировании
Исследовательское тестирование через REPL
Автоматическое исправление тестов
Генерация тест-данных
Управление REPL-loop: советы для QA
Давайте чёткие стоп-критерии:
Ограничивайте scope:
Задавайте формат наблюдений:
Используйте Human-in-the-Loop на ключевых точках:
Ограничения
Накопление ошибок — ошибка на раннем шаге может привести к цепочке неверных действий в последующих итерациях (error propagation).
Контекстный предел — каждая итерация добавляет информацию в контекст модели. При длинных циклах контекст заканчивается, и агент теряет ранние наблюдения.
Галлюцинации действий — агент может «выдумать» результат инструмента вместо реального вызова, если инструмент недоступен.
Зависание в локальном оптимуме — агент может зациклиться на одном подходе, не пробуя альтернативы.
Связанные материалы
Last updated