TL;DR
- cognee извлекает контекст из логов агента, идентифицируя сценарии, где выполнение навыка дало сбой.
- n8n оркестрирует цикл: анализ лога → генерация исправления (diff) → ожидание одобрения → запись улучшенных инструкций.
- Исправление применяется только после ручного подтверждения diff, что предотвращает деградацию навыка.
Разбор
Ключевая проблема self-improving агентов — автоматическое применение «исправлений» может ухудшить навык, если модель ошибочно интерпретирует сбой. Решение — двухфазный цикл с человеческим контролем.
Фаза 1: Детекция и анализ. Когда агент выполняет навык (например, парсинг JSON из ответа API), n8n триггерит воркфлоу при неудачном review run. cognee извлекает из логов: входные данные, вывод агента, метрики (точность, время выполнения). Пример команды для cognee:
context = cognee.extract(log_entry, query="Почему агент вернул None вместо списка?")
Результат — структурированный контекст: «Агент не обработал случай пустого массива в ответе API».
Фаза 2: Генерация и применение фикса. n8n передаёт контекст LLM (например, GPT-4) с промптом: «Предложи исправление инструкций навыка в формате unified diff». LLM возвращает diff:
--- skill_instructions.md
+++ skill_instructions.md
@@ -5,3 +5,5 @@
- Если ответ API — массив, извлеки первый элемент.
+- Если массив пуст, верни пустой объект.
n8n приостанавливает выполнение и отправляет diff пользователю (через Telegram/email). После одобрения — применяет патч к файлу инструкций и перезапускает навык.
Выводы
- Ручное одобрение diff — обязательный барьер против «галлюцинаций» LLM, которые могут сломать работающий навык.
- cognee + n8n — минимальная связка: cognee даёт качественный контекст, n8n — гибкую оркестрацию с ожиданием подтверждения.
- Подход масштабируется: можно добавить A/B тестирование исправления перед записью.
Нужна такая автоматизация? Обсудить проект в Telegram: https://t.me/Cvister0