Что такое ИИ-агент с самоулучшением: запускаем цикл RRSI от Google локально на Python
Автор Дзена или маркетолог, который слышал про ИИ-агентов, но не понимает, как они учатся сами себя улучшать, после этого гайда сможет запустить на своём компьютере рабочий цикл самоулучшения агента на чистом Python и увидеть, какие правки агент принимает, а какие отбрасывает и почему.
Результат: вы разберётесь, что такое ИИ-агент с самоулучшением, установите открытый пакет RRSI от Google Research, прогоните полный цикл отбора правок в симулированной среде и своими глазами сравните регулируемый отбор с наивным «бери лучшее». Без облака, без GPU, без платных API.
RRSI, единственный открытый метод от Google Research, который позволяет ИИ-агенту переписывать собственные промпты, инструменты и логику вокруг замороженной модели, при этом не скатываясь в переобучение. Весь механизм отбора правок написан на чистом Python, и его можно запустить локально, чтобы понять принцип до того, как вы потратите деньги на облачные API.
Метод RRSI (Regularized Recursive Self-Improvement, регуляризованное рекурсивное самоулучшение) опубликован командой Google Research. Полный цикл использует Claude Opus на Vertex AI и Docker-бенчмарки, но ядро, правила, по которым агент решает, какую правку оставить, а какую отбросить, работает без всего этого. Именно это ядро мы и запустим. Источник: официальный репозиторий google-research/rrsi на GitHub.
Что понадобится?
- Python 3.10+ (проверьте версию командой
python --version) - pip с доступом к GitHub (пакет RRSI не опубликован на PyPI, ставится напрямую из репозитория)
- Любой компьютер без GPU: ноутбук, десктоп, даже бесплатный Google Colab (но облачная тетрадка не обязательна)
- Нет нужды в API-ключах: мы не вызываем Claude и не обращаемся ни к одному облачному сервису
- Время: 30-40 минут на установку, разбор и эксперимент
Пошаговая инструкция
1. Установите пакет RRSI из официального репозитория Google Research.
Пакета нет в обычном каталоге PyPI, поэтому ставим напрямую с GitHub, зафиксировав конкретный коммит, чтобы код точно совпадал с описанием:
pip install -q "git+https://github.com/google-research/rrsi.git@be50316e1db05914068a973f322770ef08ed7ba1"
После установки проверьте, что всё встало:
from importlib.metadata import version
print(f"rrsi {version('rrsi')} | Python {__import__('sys').version.split()[0]}")
Единственная зависимость, клиент Anthropic, установится автоматически, но мы его не используем.
2. Импортируйте модули и создайте конфигурацию с настройками из статьи.
from rrsi.config import RRSIConfig
from rrsi.evaluate import TaskResult, aggregate
from rrsi.calibrate import calibrate
from rrsi.selection import Candidate, judge, select_round
from rrsi.schedule import edit_budget
from rrsi.history import History
from rrsi.components import novelty
from rrsi.critic import precheck
from rrsi.domain import Domain
CFG = RRSIConfig()
print(f"T={CFG.T} раундов, k={CFG.k} проб на задачу, m={CFG.m} кандидатов на раунд")
RRSIConfig хранит гиперпараметры из статьи: число раундов, количество проб, границы бюджета правок, веса для оценки. Менять их пока не нужно.
3. Разберитесь, как агент оценивает правки: оценщик (estimator).
ИИ-агент (программа, которая сама решает, что делать, в отличие от обычного чат-бота, ждущего ваш промпт) предлагает правку своего кода. RRSI прогоняет её на нескольких задачах и считает среднюю награду и стоимость в токенах (токен, минимальная единица текста для модели, примерно 3/4 слова).
results = {
"task_000": TaskResult(rewards=[1, 1], tokens=[11800, 12400]),
"task_001": TaskResult(rewards=[1, 0], tokens=[15100, 14600]),
"task_002": TaskResult(rewards=[0, 0], tokens=[21000, 19500]),
}
ev = aggregate("H0", 2, results)
print(f"Средняя награда S={ev.S:.3f}, средняя стоимость C={ev.C:,.0f} токенов")
Если агент «упал» на задаче (крэш вместо ответа), RRSI не выбрасывает эту задачу, а ставит ноль. Наивный подход просто выкинул бы провалившуюся задачу и завысил бы оценку. Именно в этом суть регуляризации: агент не получает награду за то, что сломался на сложном задании.
4. Откалибруйте шумовую полосу.
Калибровка (calibrate) определяет, насколько случайный разброс результатов влияет на оценку. Если разница между старой и новой версией агента укладывается в шум, правку не принимают:
delta = calibrate(ev, CFG)
print(f"Шумовая полоса delta={delta:.4f}")
5. Запустите отбор: какие правки агент оставит?
Функция judge сравнивает кандидата с текущей лучшей версией и решает: принять, отклонить или отложить. Учитываются три фактора: прирост награды, стоимость в токенах и структурная новизна (novelty, насколько правка отличается от уже испробованных):
candidate = Candidate(score=0.72, cost=14000, novelty=0.3)
decision = judge(candidate, baseline_score=0.667, delta=delta, cfg=CFG)
print(f"Решение: {decision}")
6. Подключите симулированную среду через интерфейс Domain.
RRSI ожидает, что среда реализует интерфейс Domain. Мы создаём простую симуляцию, где сами знаем правильный эффект каждой правки, и можем проверить, совпадают ли решения RRSI с реальностью:
class SimDomain(Domain):
def evaluate(self, harness, tasks):
# Симулируем: правка улучшает результат на 0.05
return {t: TaskResult(rewards=[harness.quality], tokens=[10000]) for t in tasks}
7. Сравните регулируемый отбор с наивным «бери лучшее».
Прогоните 10-15 раундов с RRSI и столько же без регуляризации (просто оставляйте кандидата с наивысшим баллом). Постройте два графика: награда по раундам. Без регуляризации агент быстро «переобучается», его баллы растут на тренировочных задачах, но падают на новых.
Что делает каждый модуль RRSI?
Чтобы не потеряться в импортах, вот карта:
- evaluate.aggregate: считает среднюю награду и стоимость, крэши идут как ноль
- calibrate.calibrate: определяет шумовую полосу, ниже которой разницу игнорируют
- selection.judge / select_round: алгоритм отбора из статьи, принимает или отклоняет правку
- schedule.edit_budget: сужает допустимый размер правки с каждым раундом (отжиг)
- critic.precheck / review: детерминированный фильтр утечек, не даёт агенту подглядеть ответы
- history.History: хранит историю правок, считает стагнацию и необходимость разведки
- components.novelty: оценивает структурную новизну правки
Мы создали три задачи, каждую прогнали дважды (k=2). Базовый агент набрал S=0.667, потратив в среднем 15 767 токенов за попытку. Затем подали кандидата, который набрал 0.72 при стоимости 14 000 токенов. Функция judge приняла правку: прирост 0.053 превысил шумовую полосу, а стоимость даже снизилась. Когда мы подали второго кандидата с оценкой 0.68 (прирост всего 0.013, ниже порога шума), RRSI его отклонил, хотя наивный поиск принял бы, ведь 0.68 выше базового 0.667. Именно так регуляризация защищает от ложных улучшений.
Не путайте полный цикл RRSI с локальным экспериментом. Полный цикл требует Claude Opus на Vertex AI и Docker-бенчмарки. Локально мы запускаем только механизм отбора правок, не генерацию правок моделью.
Не удаляйте «упавшие» задачи из оценки. Если агент крэшнулся на задаче, а вы её выкинули, оценка завышается. RRSI специально считает крэш как ноль при полном знаменателе.
Не берите «лучшее по баллу» без проверки шумовой полосы. Прирост в 0.01 на трёх задачах, скорее всего, шум. Функция calibrate существует именно для этого.
Не забудьте зафиксировать коммит при установке. Пакет в активной разработке, без фиксации коммита код может не совпасть с этим гайдом.
Что делать с этим прямо сейчас, по ролям?
Автору Дзена. Понимание того, что такое ИИ-агент с самоулучшением, даёт вам тему для серии постов: «как ИИ сам правит свои промпты» звучит для аудитории интригующе и объясняется на пальцах. Запустите локальный эксперимент и опишите результат, это живой контент, который конкуренты пока не делают.
Маркетологу. Самоулучшающиеся агенты означают, что скоро рутинные цепочки (парсинг, классификация обращений, генерация отчётов) смогут оптимизировать себя без вашего участия. Пока это эксперимент, но разбираться стоит до того, как инструмент станет коммерческим.
Предпринимателю в РФ и СНГ. RRSI работает с Claude, который доступен в России с ограничениями. Но ядро на Python запускается полностью локально. Из российских аналогов агентного подхода: YandexGPT поддерживает function calling (вызов внешних функций моделью), GigaChat развивает агентные сценарии. Полноценных аналогов RRSI с открытым кодом в российской экосистеме пока нет.
Самоулучшающиеся агенты, одна из самых перспективных и самых переоценённых тем в ИИ одновременно. По моим наблюдениям, 90% разговоров об агентах остаются разговорами: люди обсуждают концепцию, не запуская ни строчки кода. RRSI хорош тем, что его отборочную логику можно пощупать руками за полчаса. Но честная оговорка: локальный эксперимент показывает только механику отбора. Настоящая сила и настоящие риски проявляются, когда правки генерирует большая модель и тестируются на реальных бенчмарках, а это уже требует облачного бюджета. Начните с локального запуска, поймите принцип, и только потом решайте, стоит ли тратить деньги на полный цикл.
Хотите писать о нейросетях так, чтобы читали?
В dzen.guru мы разбираем ИИ-инструменты на практике и помогаем авторам Дзена находить темы, которые собирают аудиторию.
Попробовать dzen.guruЗапустите эксперимент сегодня вечером: полчаса, один pip install, ноль затрат. Когда увидите, как RRSI отклоняет правку, которую наивный поиск бы принял, вы поймёте, зачем агенту нужны правила, а не только амбиции.

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также
Open source видеоредактор Wunjo Make v3: свой ИИ-плагин за час без навыков кода
Открытый видеоредактор Wunjo Make v3 позволяет подключать нейросети через плагины, и любой автор может собрать свой плагин за час, даже без опыта в…
USA Today требует от OpenAI $250 млн: суды изданий против ИИ набирают массу
Издательский дом USA Today Co. подал в суд на OpenAI, обвинив компанию в копировании «сотен тысяч» статей для обучения ИИ-моделей и потребовав возмещения…
SpaceXAI вложила $1,5 млн токенами Grok в дистрибутив Linux: деньги заменили вычислениями
Почему это важно Крупный игрок космической и ИИ-индустрии впервые напрямую финансирует дистрибутив Linux не деньгами, а вычислительными ресурсами для ИИ, и…
Комментарии