Articles // Automation

Архитектура контент-завода на n8n

Разбираю гибридную схему: n8n как дирижёр, Python-микросервис под тяжёлую LLM-логику, Telegram как human-in-the-loop и git-деплой статических статей.

· 7 мин чтения ·

TL;DR

Контент-завод — это конвейер «инфоповод → черновик → модерация → публикация», где рутину делает автоматика, а решение оставляем человеку. Оркестратор — n8n, тяжёлую LLM-логику выносим в Python-сервис, модерация — в Telegram, публикация — git-коммит статического Markdown с авто-деплоем.

Зачем гибрид

Чистый n8n быстро упирается в потолок на сложной агентной логике: цепочки research → outline → draft → fact-check тяжело держать в визуальных нодах. Поэтому:

  • n8n дирижирует: расписание, сбор источников, дедуп, вызовы сервиса, ветвление, Telegram.
  • Python (FastAPI) делает агентный пайплайн и общается с локальной LLM по HTTP.

Стадии пайплайна

  1. Ingest — RSS, GitHub Releases, Hugging Face, arXiv.
  2. Dedup / Score — отсев дублей и скоринг релевантности темам сайта.
  3. Research → Outline → Draft — мульти-агентная генерация.
  4. SEO / GEO — структура H2/H3, перелинковка, мета.
  5. Fact-check — проверка фактуры, эскалация к API при низкой уверенности.
  6. Human-gate — Telegram Approve/Edit/Reject.
{
  "topic": "Intel Arc local inference",
  "stage": "draft",
  "confidence": 0.82,
  "frontmatter": { "slug": "...", "tags": ["AI", "LLM"] },
  "markdown": "## Введение..."
}

Контракт данных

Между стадиями ходит один JSON-объект «article job» — так любую стадию можно переиспользовать, перезапустить или вынести в отдельный сервис без переписывания пайплайна.

Публикация

При Approve драфт превращается в .md-файл с frontmatter, коммитится в репозиторий и пушится. Webhook/cron на сервере запускает сборку — статические страницы статей генерируются и выкладываются как обычная статика. Никакой отдельной CMS: статья — это файл в git.

Локальная генерация

Сердце завода — локальная LLM. На Intel Arc A770 это связка IPEX-LLM/OpenVINO без CUDA; подробный разбор стека и выбора моделей — в отдельной статье.

Выводы

  • Гибрид n8n + Python снимает потолок визуальных нод на сложной логике.
  • Единый контракт «article job» делает стадии переиспользуемыми.
  • Human-in-the-loop в Telegram — страховка от публикации «воды» и галлюцинаций.

FAQ

Зачем гибрид n8n + Python, а не только n8n?

n8n удобен как оркестратор и для интеграций, но многошаговую агентную логику и работу с локальной LLM проще держать в Python-сервисе с чётким API.

Где human-in-the-loop?

Каждый драфт уходит в Telegram с кнопками Approve/Edit/Reject. Публикуется только то, что прошло модерацию.

Обсудить проект в Telegram