Короткий ответ
Автоматизация через Make + ИИ обычно строится как строгий конвейер: получить событие, собрать контекст, отправить запрос в модель, потребовать структурированный ответ в JSON, проверить его и только потом выполнить действие в рабочей системе. Такой подход хорошо работает для повторяющихся текстовых задач: классификация заявок, суммаризация писем, извлечение полей из документов, подготовка черновиков ответов, маршрутизация тикетов. Он не подходит для задач, где нужен полностью детерминированный результат, очень низкая задержка, юридически чувствительная обработка данных без согласованных процедур или принятие рискованных решений без участия человека.
Главная идея проста: не просите модель «вести процесс», дайте ей одну узкую функцию внутри сценария Make. Make отвечает за порядок шагов, условия, retries, ветвление и запись результата, а ИИ отвечает за преобразование текста в полезный и проверяемый вывод. Чем уже роль модели и чем жестче формат ответа, тем стабильнее автоматизация.
Что понадобится
Для первого рабочего сценария не нужен отдельный бэкенд. Достаточно Make, API-доступа к модели, источника входящих данных и места, куда пойдет результат. Сразу подготовьте несколько реальных тестовых примеров и правило валидации: это важнее, чем выбор «самой умной» модели.
- Аккаунт в Make для сборки сценария, логики маршрутов, обработки ошибок и истории запусков. Документация: https://www.make.com/en/help.
- API провайдера модели. Для старта удобно взять провайдера с понятной документацией по API и structured output, например https://platform.openai.com/docs/overview.
- Источник данных: форма, CRM, почта, Google Sheets, webhook, чат, задача из трекера.
- Система назначения: таблица, CRM, база знаний, Telegram, почта, help desk.
- Тестовый набор из нормальных, пограничных и ошибочных входов. Желательно не меньше 20 примеров, иначе вы не увидите типовые сбои.
- Схема результата: какие поля обязательны, какие значения допустимы, когда нужен ручной просмотр.
Как выбрать способ подключения модели
Выбор зависит не от моды, а от четырех критериев: нужен ли строгий JSON, есть ли готовый модуль в Make, насколько важна переносимость между провайдерами и нужен ли вам дополнительный серверный код. В большинстве случаев практичнее начинать с простого запроса к модели и жесткой схемы ответа, а не с многошагового агента.
| Вариант | Когда выбирать | Плюсы | Ограничения |
|---|---|---|---|
| Нативный модуль Make | Нужен быстрый старт без кода и типовой сценарий | Быстрая настройка, меньше ручной конфигурации, понятные поля | Меньше гибкости, возможны ограничения по новым возможностям API |
| HTTP-запрос к API модели | Нужен строгий контроль над телом запроса, заголовками и форматом ответа | Максимальная гибкость, легче менять prompt, параметры и схему | Нужно самостоятельно настраивать авторизацию, парсинг и обработку ошибок |
| Webhook + свой сервис | Нужна сложная бизнес-логика, кэш, собственная валидация или работа с несколькими моделями | Полный контроль, удобнее версионировать логику и тесты | Выше сложность, появляется отдельный контур поддержки |
Если это ваш первый сценарий, начните с Make + HTTP. Так вы лучше увидите структуру запроса и сможете быстрее диагностировать ошибки на стороне модели.
Пошаговый план
Ниже практический план для типового сценария: новая запись в таблице или CRM приходит в Make, ИИ определяет категорию, приоритет и краткое резюме, после чего результат записывается обратно и при необходимости отправляется оператору.
- Сведите задачу к одному измеримому действию.
Не начинайте с цели вроде «автоматизировать поддержку». Начинайте с одной функции: классифицировать входящее обращение, извлечь имя компании и сумму, подготовить черновик ответа, определить тональность. У результата должны быть явные поля и критерий готовности. Например:
category,priority,summary,needs_human_review. - Выберите триггер и ключ идемпотентности.
Триггером может быть новая строка, входящее письмо, webhook из формы или запуск по расписанию. Сразу решите, как избежать повторной обработки. Проще всего использовать внешний идентификатор записи и поле статуса вроде
processed_atилиai_status. Это защитит от дублей, если сценарий перезапустится. - Очистите и ограничьте входящие данные.
Перед вызовом модели уберите служебный шум: HTML-подписи, длинные цепочки переписки, пустые поля, бинарные вложения, не относящиеся к задаче атрибуты. Если вход слишком большой, сначала сократите его правилами: возьмите тему письма, последнее сообщение, имя клиента, тип заявки и несколько ключевых метаданных. Чем меньше мусора в контексте, тем выше стабильность.
- Сконструируйте prompt так, чтобы модель не угадывала формат.
Лучший prompt для автоматизации короткий и технический. В нем должно быть: роль модели, задача, допустимые значения полей, запрет на лишний текст и условия для ручной проверки. Полезно прямо указать: вернуть только JSON без пояснений.
Задача: классифицируй обращение клиента. Верни только JSON с полями {"category":"billing|bug|sales|other","priority":"low|medium|high","summary":"string","needs_human_review":true|false}. Если не хватает данных или есть риск неверной интерпретации, установи needs_human_review=true.Если провайдер поддерживает структурированный вывод, используйте его. Если нет, все равно требуйте жесткий JSON и добавляйте последующую валидацию в Make.
- Соберите сценарий в Make.
Минимальная схема такая: триггер, модуль подготовки данных, вызов модели, модуль парсинга JSON, проверка обязательных полей, запись результата, уведомление об ошибке или ручной проверке. Если вы работаете через HTTP, храните API-ключ в connection или защищенном параметре, а не в теле сценария. Не передавайте в модель то, что ей не нужно: токены, пароли, внутренние заметки, персональные поля без причины.
- Добавьте валидацию после ответа модели.
Самая частая инженерная ошибка не в том, что модель ответила плохо, а в том, что этот ответ без проверки отправили дальше. В Make проверьте: JSON вообще распарсился, все обязательные поля присутствуют, значения входят в ожидаемый список, длина резюме не выходит за пределы, пустые строки не просочились в CRM. Если хотя бы одно правило нарушено, отправляйте запись на альтернативную ветку: повторный запрос, уведомление оператору или ручной разбор.
- Предусмотрите ошибочные маршруты и retries.
Разделите ошибки на три класса. Первый класс: технические проблемы, например тайм-аут или временная ошибка API; здесь уместен повторный запуск. Второй класс: структурные ошибки, например невалидный JSON; тут лучше сделать один повтор с более жесткой инструкцией. Третий класс: содержательная неопределенность; здесь нужен человек, а не бесконечные повторы. Отдельно логируйте исходный вход, ответ модели, итоговую ветку маршрута и причину отказа.
- Оставьте человеку право последнего слова в рискованных кейсах.
Если сценарий влияет на деньги, договоры, персональные данные, публикацию контента, удаление записей или внешние коммуникации, не делайте полностью автономное выполнение на первом этапе. Используйте флаг
needs_human_reviewи отправляйте такие кейсы, например, в Telegram или почту на подтверждение. Документация Telegram Bot API: https://core.telegram.org/bots/api. - Запускайте с тестовым набором, а не сразу на всем потоке.
Сначала прогоните сценарий на исторических данных. Сравните результат с ручной обработкой: совпадает ли категория, не теряется ли критичная информация, не слишком ли часто включается ручной просмотр. Только после этого включайте сценарий на ограниченном сегменте данных и наблюдайте журнал запусков в Make.
- Версионируйте prompt и схему.
Когда меняете формулировку задачи, список полей или правила валидации, сохраняйте версию. Иначе через две недели вы уже не поймете, почему качество стало хуже или лучше. Практически это можно вести в отдельной таблице: версия prompt, дата изменения, кто изменил, что изменилось, на каком наборе данных проверено.
Рабочее правило такое: Make должен знать, что делать при каждом исходе, а модель должна отвечать только в пределах схемы. Если сценарий нельзя описать как явную последовательность веток, его рано автоматизировать.
Типичные ошибки
- Слишком широкая постановка задачи. Модель просят «обработать обращение», хотя на самом деле нужны три поля и одно решение о маршруте.
- Отсутствие строгого формата ответа. Свободный текст удобен для чтения человеком, но плохо подходит для автоматизации.
- Передача лишнего контекста. Чем больше нерелевантных данных, тем больше шум и вероятность ложной интерпретации.
- Нет идемпотентности. Один и тот же объект обрабатывается повторно после сбоя или ручного перезапуска.
- Нет ветки для сомнительных случаев. Если некуда отправить неопределенный ответ, сценарий либо ломается, либо делает рискованное действие.
- Ожидание абсолютной точности. Языковая модель вероятностна. Ее нужно страховать правилами, а не считать источником истины.
- Игнорирование безопасности. В модель отправляют больше данных, чем реально нужно для задачи, или хранят ключи в открытом виде.
- Отсутствие журнала изменений. Prompt меняют «на глаз», после чего качество становится непредсказуемым.
Как проверить результат
Проверка должна быть не интуитивной, а процедурной. Сначала соберите контрольный набор примеров: простые случаи, неоднозначные случаи и заведомо плохие входы. Затем пропустите их через сценарий и сравните с ручным эталоном по каждому полю. Если результат уходит в рабочую систему, проверяйте не только качество ответа модели, но и целостность всей цепочки: не теряются ли поля, не создаются ли дубли, правильно ли отрабатывают ошибочные маршруты.
- Проверьте валидность структуры. Каждый ответ должен распарситься и пройти правила по обязательным полям.
- Проверьте содержательную точность. Сравните вывод с ручной разметкой хотя бы на небольшом наборе реальных кейсов.
- Проверьте пограничные входы. Пустые сообщения, слишком длинный текст, смешанные языки, сарказм, неоднозначные формулировки, вложения без текста.
- Проверьте отказоустойчивость. Что происходит при тайм-ауте API, невалидном JSON, пустом ответе, повторном запуске сценария.
- Проверьте бизнес-эффект на малом трафике. Сколько ручных действий действительно снимает сценарий и не растет ли цена ошибок.
Хороший результат для первого релиза выглядит так: сценарий стабильно обрабатывает типовые кейсы, безопасно отводит сомнительные на ручную проверку и не ломает рабочие данные. Если для запуска вам приходится «доверять модели на слово», сценарий еще не готов.
FAQ
Нужен ли код, чтобы автоматизировать задачи через Make + ИИ?
Для базового сценария обычно нет. Достаточно модулей Make и, при необходимости, одного HTTP-запроса к API модели. Код нужен, если у вас сложная валидация, собственная бизнес-логика, кэширование или требования к безопасности и версии API выходят за рамки типового no-code потока.
Какую задачу лучше автоматизировать первой?
Ту, у которой понятный вход и проверяемый выход. Хорошие первые кандидаты: классификация лидов, извлечение реквизитов из письма, краткое резюме обращения, определение приоритета тикета, черновик ответа оператору. Плохой первый кандидат: полностью автономное принятие решений с финансовыми или юридическими последствиями.
Какую модель выбирать?
Начинайте не с максимальной мощности, а со стабильности. Важнее, чтобы модель уверенно следовала инструкции, возвращала структурированный ответ и укладывалась в ваши ограничения по задержке и бюджету. Если задача узкая, часто выгоднее простая модель с хорошей валидацией, чем сложная модель без страховок.
Можно ли передавать в модель персональные данные?
Только после внутренней проверки правил обработки данных, договорных условий и минимизации передаваемой информации. Для многих сценариев достаточно отправлять обезличенный текст, идентификатор записи и несколько рабочих атрибутов. Если поле не влияет на решение модели, не отправляйте его.
Когда нужен human review?
Когда ошибка может стоить денег, испортить отношения с клиентом, привести к утечке данных или к необратимому действию в системе. Также ручная проверка нужна на старте проекта, пока вы не увидели реальные распределения ошибок и не стабилизировали prompt, схему и маршруты.
Что делать, если модель отвечает нестабильно?
Сначала сузьте задачу, очистите вход, сократите prompt и зафиксируйте JSON-схему. Потом добавьте валидацию, один повторный запрос с более жесткой инструкцией и ветку на ручной разбор. Если и это не помогает, проблема, скорее всего, не в настройке модели, а в том, что задача пока слишком неоднородна для безопасной автоматизации.