Создание платформы для продажи AI-курсов на базе n8n

Практический курс по разработке автоматизированной системы для генерации, упаковки и продажи образовательного контента. Вы научитесь объединять возможности генеративного ИИ с гибкостью low-code платформы n8n для создания полноценного бизнеса.

1. Проектирование архитектуры: выбор технологического стека, установка n8n и подключение API нейросетей

Проектирование архитектуры: выбор технологического стека, установка n8n и подключение API нейросетей

Добро пожаловать на первый урок курса «Создание платформы для продажи AI-курсов на базе n8n». Мы начинаем путь от идеи до полностью автоматизированной системы, которая способна генерировать уникальный образовательный контент, упаковывать его и доставлять клиенту без вашего прямого участия.

В этой статье мы заложим фундамент нашей будущей платформы. Мы спроектируем архитектуру, выберем инструменты, установим «мозг» нашей системы — n8n, и научим его общаться с искусственным интеллектом.

Зачем нам нужна собственная архитектура?

Многие пытаются создавать курсы вручную: сами пишут тексты в ChatGPT, сами верстают PDF-файлы, сами отправляют их по почте. Это работает, если у вас один клиент в неделю. Но если мы говорим о масштабируемом бизнесе, где курсы могут генерироваться под конкретный запрос пользователя в реальном времени, ручной труд становится узким местом.

Наша цель — создать конвейер (pipeline). Представьте завод: на входе поступает сырье (тема курса и оплата), внутри работают роботы (нейросети и скрипты), а на выходе получается готовый продукт (структурированный курс).

!Блок-схема, показывающая поток данных от оплаты клиента через обработку в n8n с использованием внешних сервисов до доставки готового курса.

Выбор технологического стека

Для реализации нашей задумки нам потребуется набор инструментов, которые легко интегрируются друг с другом. Мы будем придерживаться принципа Low-Code — минимум программирования, максимум визуальной логики.

1. Ядро системы: n8n

Почему именно n8n, а не Zapier или Make (бывший Integromat)?

* Стоимость: При больших объемах генерации контента Make становится очень дорогим из-за оплаты за каждую операцию. n8n можно установить на свой сервер (Self-hosted) и платить только за аренду сервера (около 5-10$ в месяц) без ограничений на количество операций. * Приватность: Данные ваших клиентов и промпты остаются на вашем сервере. * Гибкость: n8n позволяет писать JavaScript-код внутри узлов, если стандартных функций не хватает.

2. Интеллект: OpenAI API (GPT-4o) или Anthropic (Claude 3.5 Sonnet)

Для генерации качественных курсов нам нужны лучшие модели.

* GPT-4o: Отлично справляется со структурированием и следованием сложным инструкциям. * Claude 3.5 Sonnet: Часто пишет более «человечные» и литературные тексты, лучше работает с большими объемами контекста.

В рамках курса мы будем использовать OpenAI API как индустриальный стандарт, но архитектура n8n позволяет легко заменить модель в любой момент.

3. База данных: Google Sheets или Airtable

Для начала нам не нужен сложный SQL-сервер. Мы будем хранить информацию о заказах, статусах генерации и ссылках на готовые курсы в таблицах. Это наглядно и бесплатно.

4. Интерфейс доставки: Telegram или Email

Самый простой способ доставить курс — отправить его туда, где пользователь проводит больше всего времени. Мы настроим интеграцию с Telegram-ботом.

Установка n8n: Self-hosted решение

Мы будем устанавливать n8n на собственный виртуальный сервер (VPS). Это профессиональный подход, который дает полный контроль.

Шаг 1: Подготовка сервера

Вам понадобится любой VPS с операционной системой Ubuntu 20.04 или 22.04. Минимальные требования: * CPU: 1-2 ядра * RAM: 2 GB (желательно 4 GB для стабильной работы с тяжелыми данными) * Disk: 20-40 GB SSD

Шаг 2: Установка Docker

Мы будем запускать n8n в контейнере Docker. Это изолированная среда, которая гарантирует, что приложение будет работать одинаково на любой машине. Подключитесь к вашему серверу через SSH и выполните следующие команды:

Обновим списки пакетов:

Установим Docker:

Запустим службу Docker и добавим её в автозагрузку:

Шаг 3: Запуск n8n

Теперь мы запустим n8n одной командой. Мы используем флаг -v, чтобы создать «том» (volume) — специальное хранилище на диске, где будут лежать ваши данные. Если вы перезапустите или удалите контейнер, ваши настройки и созданные сценарии сохранятся благодаря этому тому.

Разберем параметры: * -p 5678:5678: Открывает порт 5678 (стандартный порт n8n). * -v ~/.n8n:/home/node/.n8n: Связывает папку .n8n на вашем сервере с папкой внутри контейнера.

После запуска вы увидите в консоли сообщение о том, что сервер запущен. Теперь вы можете открыть браузер и перейти по адресу http://ВАШ_IP_СЕРВЕРА:5678.

> Важно: Для продакшн-систем рекомендуется настраивать обратный прокси (Nginx) и SSL-сертификат для защиты соединения, а также использовать Docker Compose. Но для старта и обучения прямой запуск через Docker вполне подходит.

Знакомство с интерфейсом n8n

Когда вы впервые откроете n8n, вам предложат создать учетную запись администратора. После входа вы увидите рабочее поле — Canvas (Холст).

Основные элементы:

  • Workflows (Рабочие процессы): Здесь хранятся ваши сценарии.
  • Executions (Выполнения): Лог всех запусков. Здесь можно посмотреть, где произошла ошибка.
  • Credentials (Учетные данные): Самый важный раздел для безопасности. Здесь мы будем хранить ключи API.
  • !Интерфейс редактора n8n, показывающий пустое рабочее пространство и боковое меню навигации.

    Подключение API нейросетей

    Чтобы n8n мог отправлять запросы к GPT-4, нам нужно «познакомить» их. Это делается через API Key.

    Получение ключа OpenAI

  • Зарегистрируйтесь на платформе OpenAI Platform.
  • Перейдите в раздел API Keys.
  • Нажмите Create new secret key.
  • Обязательно скопируйте ключ сразу. Вы не сможете увидеть его снова.
  • Настройка Credentials в n8n

  • В n8n перейдите в меню Credentials слева.
  • Нажмите Add Credential.
  • В поиске введите OpenAI.
  • Выберите OpenAI API.
  • В поле API Key вставьте ваш ключ, полученный на предыдущем этапе.
  • Нажмите Save.
  • Теперь n8n имеет безопасный доступ к вашему аккаунту OpenAI. Ключ зашифрован и хранится в базе данных n8n.

    Создание первого тестового сценария

    Давайте проверим, что все работает. Мы создадим простейший сценарий: Запуск вручную -> Запрос к AI -> Вывод ответа.

  • Создайте новый Workflow.
  • Нажмите Add first step и выберите Manually Trigger (или On clicking 'Execute'). Это стартовая точка.
  • Нажмите «плюс» рядом с триггером, чтобы добавить следующий шаг.
  • Найдите узел OpenAI.
  • В настройках узла:
  • * Resource: Chat * Operation: Complete * Model: gpt-4o-mini (или gpt-3.5-turbo для теста, это дешевле). * Prompt (User Message): Напишите: «Привет! Придумай название для курса по кулинарии».
  • Нажмите Execute Node (Выполнить узел).
  • Если вы все сделали правильно, справа в окне Output вы увидите JSON-ответ от нейросети с вариантами названий. Например:

    Резюме

    Сегодня мы проделали большую работу: * Спроектировали логику работы платформы. * Выбрали стек: n8n + OpenAI + Telegram. * Развернули n8n на сервере с помощью Docker. * Настроили безопасное подключение к API OpenAI.

    Теперь у нас есть готовый фундамент. В следующей статье мы займемся самым интересным — разработкой промпт-инжиниринга для генерации структуры курса. Мы научим нейросеть не просто «болтать», а создавать методически верные учебные планы.

    2. Разработка AI-конвейера: создание сценариев n8n для автоматической генерации структуры и наполнения курсов

    Разработка AI-конвейера: создание сценариев n8n для автоматической генерации структуры и наполнения курсов

    В предыдущей статье мы успешно установили n8n и подключили к нему «мозг» — API OpenAI. Теперь у нас есть все необходимые инструменты, чтобы превратить идею в реальный продукт. Сегодня мы займемся архитектурой самого важного процесса: автоматической генерации полноценного образовательного курса.

    Многие новички совершают одну и ту же ошибку: они пытаются попросить нейросеть «написать курс» одним огромным запросом. В результате получается поверхностный текст, который обрывается на полуслове из-за ограничений длины ответа (токенов). Мы пойдем профессиональным путем и создадим каскадный конвейер.

    Логика каскадного конвейера

    Чтобы создать качественный продукт, нам нужно разбить задачу на подзадачи. Наш сценарий (Workflow) в n8n будет имитировать работу методического отдела:

  • Главный методист (Архитектор): Получает тему и составляет подробный план (структуру) курса.
  • Менеджер задач (Распределитель): Берет этот план и разбивает его на отдельные модули.
  • Копирайтер (Исполнитель): Пишет текст для каждого модуля по отдельности, удерживая контекст.
  • Редактор (Сборщик): Собирает готовые модули в единый документ.
  • !Схема автоматизированного конвейера генерации курса в n8n.

    Шаг 1: Генерация структуры в формате JSON

    Первый этап — получение скелета курса. Нам нужно, чтобы нейросеть вернула не просто текст, а структурированные данные, которые компьютер (n8n) сможет прочитать и обработать. Для этого идеальным форматом является JSON.

    Настройка узла OpenAI для структуры

    Создайте новый Workflow и добавьте узел OpenAI.

    * Resource: Chat * Model: gpt-4o (рекомендуется для сложной логики) или gpt-3.5-turbo (для тестов). * Response Format: Если модель поддерживает (например, gpt-4o или gpt-3.5-turbo-1106), выберите JSON Object. Это гарантирует валидность данных.

    Промпт-инжиниринг для структуры

    В поле User Message мы должны четко объяснить задачу. Используйте следующий шаблон:

    > Ты — профессиональный методолог образовательных курсов. Твоя задача — создать структуру курса по теме: "{{ json.topic }}. Это переменная, которая придет из предыдущего шага (например, из Telegram или Webhook).

    Шаг 2: Обработка ответа и подготовка к циклу

    После выполнения узла OpenAI мы получим текстовую строку, содержащую JSON. Чтобы n8n понял, что это массив данных, по которому нужно «пробежаться», нам нужно распарсить этот ответ.

    Если вы использовали настройку JSON Object в узле OpenAI, n8n часто сам распознает структуру. Если же ответ пришел как текст внутри поля content, используйте узел Code (или Edit Fields в новых версиях).

    Пример кода для узла Code (JavaScript):

    Теперь, если в курсе 5 модулей, на выходе из этого узла будет 5 отдельных элементов (items). Это ключевой момент для автоматизации.

    Шаг 3: Циклическая генерация контента (Loop)

    В n8n версии 1.0+ для обработки списков используется узел Loop Over Items. Он берет входящие элементы и пропускает их через цепочку действий по одному (или пакетами).

  • Добавьте узел Loop Over Items после узла Code.
  • Внутри цикла добавьте еще один узел OpenAI.
  • Промпт для генерации контента

    Здесь происходит магия наполнения. Мы просим нейросеть написать текст конкретного урока, используя данные текущей итерации цикла.

    Настройки узла OpenAI (внутри цикла): * Model: gpt-4o (для качественного текста) или claude-3-5-sonnet (через соответствующий узел, если подключен). * User Message:

    > Ты — автор образовательных курсов. Напиши подробный учебный материал для модуля курса. > > Тема курса: {{ json.module_title }} > Описание модуля: {{ json.module_title }} будут подставляться автоматически из текущего элемента.

    Шаг 4: Агрегация результатов

    После того как цикл завершится, у нас будет набор разрозненных текстов. Нам нужно собрать их обратно в единый массив или файл.

    Узел Loop Over Items имеет два выхода:

  • Loop: Для действий внутри цикла.
  • Done: Срабатывает, когда все элементы обработаны.
  • Однако, данные из цикла часто нужно явно собрать. В старых версиях n8n использовался узел Item Lists -> Aggregate. В новых версиях выход Done узла Loop обычно уже содержит массив всех результатов выполнения.

    Если вам нужно объединить все тексты в один большой документ Markdown, используйте узел Code после выхода Done:

    Управление контекстом и «галлюцинациями»

    При работе с AI важно помнить о двух рисках:

  • Потеря контекста: Если генерировать каждый модуль изолированно, нейросеть может повторяться. Например, во введении к третьему модулю она снова начнет здороваться и объяснять, что такое AI. Чтобы этого избежать, в промпт можно добавлять инструкцию: «Не пиши вступление к курсу, пиши сразу по теме модуля. Это часть большого курса».
  • Нарушение JSON: Иногда модель может добавить лишний текст перед JSON (например, «Конечно! Вот ваша структура...»). Использование режима JSON Object в настройках OpenAI API решает эту проблему на 99%. Если вы используете модель без этой функции, в узле Code нужно добавить очистку строки от лишних символов перед парсингом.
  • Масштабируемость решения

    Созданная нами архитектура универсальна. Вы можете легко усложнить её: * Добавить генерацию Quiz (тестов) после каждого модуля. * Добавить генерацию Prompt для создания иллюстраций к каждой главе через DALL-E или Midjourney. * Внедрить проверку фактов через поиск в Google (используя узел Google Search или Perplexity).

    Резюме

    Мы создали «сердце» нашей платформы. Теперь n8n умеет:

  • Принимать тему.
  • Думать над структурой (как методист).
  • Разбивать задачу на части.
  • Последовательно писать контент для каждой части.
  • Собирать результат воедино.
  • В следующей статье мы займемся «упаковкой»: научимся автоматически конвертировать полученный Markdown-текст в красивый PDF-документ и отправлять его клиенту в Telegram.