Recursive Self-Improvement Agents: Архитектура и вызовы внедрения
Я — Денис Шохирев, архитектор AI из Эрлангена, Германия. В DennisCraft AI Studio за последние полгода внедрил 14 production AI-агентов для B2B-клиентов в DACH на стеке Claude, Supabase, n8n, Doppler, self-hosted Postgres. Внедрение recursive self-improvement агентов всегда упирается в реальные production-грабли: циклические ошибки, гонки изменений, compliance-контроль. Архитектура recursive self-improvement агента Общий паттерн Recursive self-improvement агент — это система, которая способн
Я — Денис Шохирев, архитектор AI из Эрлангена, Германия. В DennisCraft AI Studio за последние полгода внедрил 14 production AI-агентов для B2B-клиентов в DACH на стеке Claude, Supabase, n8n, Doppler, self-hosted Postgres. Внедрение recursive self-improvement агентов всегда упирается в реальные production-грабли: циклические ошибки, гонки изменений, compliance-контроль.
Архитектура recursive self-improvement агента
Общий паттерн
Recursive self-improvement агент — это система, которая способна модифицировать собственные pipeline через итеративное самоанализ и пересборку. Обычно такой агент состоит из 3–5 модулей:
| Модуль | Назначение | Типичная реализация |
|---|---|---|
| Executor | Выполнение текущей логики | Claude Code, OpenAI SDK |
| Evaluator | Анализ результата, поиск ошибок | semgrep, bandit, gitleaks |
| Refiner | Формирование гипотез по улучшению | LLM с prompt engineering |
| Applier | Внесение изменений в pipeline | n8n, Supabase API |
Пример: автоматический код-ревью
В одном из недавних проектов для финтех-клиента агент автоматически анализировал и модифицировал backend-скрипты для оптимизации latency. После каждого изменения запускались bandit и semgrep для поиска CWE-89 (SQL-инъекции) и других паттернов. Непрерывное улучшение шло по кругу — пока не достигали стабильного состояния по всем метрикам SLA и безопасности.
import semgrep
from anthropic import Anthropic
from n8n_sdk import WorkflowApi
def analyze_code(code):
findings = semgrep.run(code)
return findings
def propose_improvements(code, findings):
client = Anthropic()
prompt = f"Code: {code}\nFindings: {findings}\nSuggest improvement:"
resp = client.completions.create(prompt=prompt)
return resp.completion
def apply_patch(workflow_id, patch):
api = WorkflowApi()
api.update_workflow(workflow_id, patch)
Классические проблемы внедрения
1. Бесконечные циклы и деградация
Recursive агенты склонны к зацикливанию: неудачные улучшения вызывают новые ошибки, которые приводят к дальнейшим "улучшениям". В одном из кейсов логика агента переписывалась 17 раз за ночь, пока не сработал guardrail на n8n: ограничение по числу итераций и rollback.
2. Стабильность и rollbacks
В продакшене всегда нужен механизм отката. Я реализую версионность pipeline через Supabase — каждый commit изменений сохраняется с checksum и rollback-метаданными. При деградации агент автоматически возвращается на стабильную ревизию.
3. Безопасность изменений
LLM-агенты часто генерируют небезопасные паттерны. На 3 последних внедрениях я ловил SQL-инъекции и несанкционированные запросы к внешним API даже после тренировки prompt-guardrails. Только bandit и semgrep реально ловят такие баги на этапе статического анализа.
Compliance и аудит в DACH
Регулируемые рынки: что обязательно
Все production-агенты, особенно в логистике и финтехе, проходят статический анализ, логирование изменений и аудит действий (audit trail). В Германии без этого невозможно соответствовать требованиям BaFin и DSGVO (GDPR). Я реализую полное логирование через self-hosted Postgres и интеграцию с SIEM, чтобы каждый шаг агента можно было восстановить при проверке.
Пример схемы audit trail
CREATE TABLE audit_trail (
id SERIAL PRIMARY KEY,
agent_id UUID,
action VARCHAR(255),
before_state JSONB,
after_state JSONB,
timestamp TIMESTAMPTZ DEFAULT now()
);
Практические подходы к контролю self-improvement
Guardrails на всех этапах
В продакшене я всегда выставляю лимиты на:
- Число итераций self-improvement (обычно не более 5 подряд)
- Время выполнения одного шага
- Возможность rollback по сигналу из системы мониторинга
Для этого в n8n реализую отдельные workflow-nodes, которые отслеживают прогресс и инициируют аварийный стоп.
Сценарии ручного подтверждения
На критических изменениях всегда требуется ручная верификация через web-интерфейс. Только после подтверждения изменений агент может продолжить цикл self-improvement.
FAQ
Какой стек лучше всего подходит для recursive self-improvement агентов?
Лично у меня работает связка Claude Code для анализа кода, Supabase для хранения состояния, n8n для оркестрации, bandit и semgrep для статического анализа. Это покрывает основные production-кейсы.
Как избежать "бесконечных" улучшений?
Ограничивайте число итераций, внедряйте checkpoints и вносите ручное подтверждение на каждом критичном шаге. Иначе агент может зациклиться и испортить pipeline.
Как контролировать безопасность изменений?
Внедряйте статический анализ (semgrep, bandit) на каждом шаге и ведите полный audit trail всех изменений. Без аудита compliance не пройти.
Что делать при деградации производительности?
Реализуйте быстрый rollback через версионность pipeline. Сохраняйте старые версии в Supabase или Postgres, чтобы можно было мгновенно откатиться.
Можно ли доверять LLM-агентам без ручного ревью?
В production — нет. Даже с guardrails и статическим анализом всегда нужен ручной контроль на критических этапах, иначе риски слишком высоки.
В каком этапе вашего self-improvement pipeline чаще всего появляются баги — на генерации патчей, валидации или во внедрении изменений? Напишите прямо. Я провожу бесплатный аудит стека для DACH-компаний, кто внедряет AI в регулируемых нишах. Пишите в LinkedIn или на @ger_dennis_ai.
Turn your process into an AI system
Fixed price. Production quality. DACH B2B focus.