Когда маршрутизация моделей решает рабочую задачу
У ИИ-помощника могут быть разные запросы: извлечь реквизиты, сопоставить документы, подготовить черновик или собрать материалы для решения сотрудника. Если люди вручную выбирают модель, одинаковые задачи могут попадать на разные маршруты. Руководителю трудно восстановить причину выбора и сравнить результаты.
Маршрутизация принимает решение для каждого запроса по его наблюдаемым признакам. Это не то же самое, что выбрать одну LLM для всего процесса. Это также не резервное переключение при отказе провайдера: fallback реагирует на техническую недоступность, а маршрутизатор — на содержание и условия задачи.
Несколько моделей не обязательно лучше одной. Дополнительные правила, проверки и вызовы оправданы, только если сравнение на рабочих примерах показывает пользу для конкретного процесса. Поисковый спрос и конверсия этой темы не измерены; её близость к услуге — редакционная гипотеза.
Составьте карту запросов и допустимых результатов
Не делите задачи только на «простые» и «сложные». Эти слова не объясняют, почему запрос должен попасть на конкретный маршрут. Для каждого класса запишите:
- входные данные и обязательные признаки;
- ожидаемый результат и его формат;
- разрешённые источники;
- последствия ошибки;
- сотрудника, который проверяет или принимает итог.
Не объединяйте в один класс извлечение полей, классификацию, поиск по документам, подготовку черновика и анализ неоднозначного материала. У этих операций различаются входные данные, допустимые источники, критерии результата и последствия ошибки.
Например, извлечение номера заказа отличается от сравнения двух документов: в первом случае можно проверить наличие и формат полей, во втором — полноту противоречий и ссылки на исходные фрагменты. Запрос управленческого решения образует ещё один класс, потому что итог принимает уполномоченный сотрудник.
Отдельно проверьте, можно ли выполнить операцию без языковой модели. Жёстко заданное сообщение, проверку формата или подтверждение действия рассматривайте как варианты для проектной проверки, а не как уже подтверждённую замену LLM для конкретного процесса.

Разберём ваш рабочий пример и покажем согласованный фрагмент решения до договора и предоплаты.
Определите разрешённые модели и границы каждой роли
Для каждого класса зафиксируйте не абстрактную «подходящую модель», а разрешённый маршрут:
| Что фиксировать | Зачем |
|---|---|
| Провайдер, версия или стабильный идентификатор модели | Восстановить фактический выбор |
| Разрешённые данные и источники | Не передать модели лишний контекст |
| Формат результата | Провести автоматическую и ручную проверку |
| Ограничение контекста | Предусмотреть неполный вход |
| Запрещённые действия | Не превратить подготовку ответа в самостоятельное решение |
| Действие при недоступности | Остановить запрос, уточнить его или применить отдельно проверенный fallback |
- Что фиксировать
- Провайдер, версия или стабильный идентификатор модели
- Зачем
- Восстановить фактический выбор
- Что фиксировать
- Разрешённые данные и источники
- Зачем
- Не передать модели лишний контекст
- Что фиксировать
- Формат результата
- Зачем
- Провести автоматическую и ручную проверку
- Что фиксировать
- Ограничение контекста
- Зачем
- Предусмотреть неполный вход
- Что фиксировать
- Запрещённые действия
- Зачем
- Не превратить подготовку ответа в самостоятельное решение
- Что фиксировать
- Действие при недоступности
- Зачем
- Остановить запрос, уточнить его или применить отдельно проверенный fallback
Размер модели или её место в линейке сами по себе не доказывают пригодность. Качество, полную задержку и расходы сравнивают на одинаковых рабочих примерах. Тариф, регион, размещение, доступность и правила обработки данных также проверяют для конкретной связки — статья не обещает их по умолчанию.
Постройте правила выбора и маршрут неопределённости
Базовый маршрут выглядит так:
- Нормализовать вход и выделить обязательные признаки.
- Определить класс запроса и проверить разрешения.
- Выбрать модель, выполнить запрос и проверить результат.
- Вернуть ответ либо запросить уточнение или помощь сотрудника.
Ставьте узкие условия перед общими. Если запрос подходит под несколько правил, заранее определите приоритет. В n8n Model Selector правила проверяются последовательно, а выбор останавливается на первом совпадении. Поэтому порядок условий входит в версию маршрутизатора и должен проверяться вместе с ними.
Состояние «не определено» — полноценный исход, а не ошибка оформления. Маршрутизатор может запросить недостающий признак, вернуть ограниченный ответ без опасного действия или передать задачу человеку. Численная уверенность классификатора сама по себе не доказывает правильность маршрута.
Учтите поведение пакетного входа в n8n
Общую архитектуру нужно отделять от реализации в выбранном workflow. Согласно текущей документации n8n Model Selector, выражение в sub-node при нескольких входных items разрешается по первому item. Документация также указывает, что правила проверяются по порядку до первого совпадения.
Из этого нельзя заключать, что разные элементы одного пакета автоматически получат независимый выбор модели. Для будущего решения можно рассмотреть три варианта:
- подавать запросы в селектор по одному;
- разделять пакет до определения маршрута;
- использовать другую архитектуру обработки.
Ни один вариант не универсален. Нужно испытать полный путь с одиночным входом и пакетом, где элементы относятся к разным классам, а затем сопоставить каждый исходный элемент с фактическим маршрутом.
Разделите качество, задержку и расходы
Не сводите три характеристики к одному рейтингу. Маршрут может лучше соблюдать формат, но требовать дополнительных проверок; другой может давать более короткий полный путь, но хуже обрабатывать пограничные случаи.
| Характеристика | Что проверять |
|---|---|
| Качество | Корректность полей, подтверждение источниками, обязательные элементы, формат и отсутствие запрещённого действия |
| Задержка | Полное время от входа до результата и время отдельных этапов по согласованной методике |
| Расходы | Фактические обращения к моделям, повторы, объём контекста и вспомогательные проверки |
- Характеристика
- Качество
- Что проверять
- Корректность полей, подтверждение источниками, обязательные элементы, формат и отсутствие запрещённого действия
- Характеристика
- Задержка
- Что проверять
- Полное время от входа до результата и время отдельных этапов по согласованной методике
- Характеристика
- Расходы
- Что проверять
- Фактические обращения к моделям, повторы, объём контекста и вспомогательные проверки
Измерение этапов — предлагаемая методика приёмки, а не заявленная встроенная функция платформы. Сравнивайте маршрутизацию с вариантом одного разрешённого вызова. Не предполагайте заранее, что меньшая модель, дополнительный классификатор или меньшее число обращений обеспечат приемлемый итог.
Ведите журнал маршрутизации без лишних данных
Журнал должен позволять восстановить основание выбора. Полезно сохранять идентификатор и время запроса, версию правил, определённый класс, сработавшее условие, модель и её версию или стабильный идентификатор, версию промпта, итоговый статус, задержку, учтённый расход, ручную передачу и код ошибки.
Для пакета добавьте связь исходного элемента с фактическим маршрутом. Сам текст запроса и ответа храните только в согласованном объёме. Срок хранения, маскирование, права доступа и удаление — требования будущего решения; их наличие нельзя предполагать без проверки архитектуры и настроек.
Условный маршрут одного запроса
Ниже — синтетическая проектная иллюстрация, а не клиентский кейс, выполненный тест или рекомендация конкретных моделей. Обозначения A и B условны.
| Наблюдаемые признаки | Класс | Разрешённый маршрут | Проверка результата | При неопределённости |
|---|---|---|---|---|
| «Извлеки номер заказа и дату»; документ доступен | Извлечение реквизитов | Модель A | Оба поля присутствуют, формат согласован, значения сверяются с документом | Отметить пропуск и передать на проверку |
| «Сравни условия двух документов»; оба документа доступны; нужны ссылки на фрагменты | Сравнение документов | Модель B | Перечислены противоречия и указаны подтверждающие фрагменты | Запросить документ или передать сотруднику |
| «Реши, можно ли принять условия поставщика» | Управленческое решение | Собрать материалы без самостоятельного решения | Ответ содержит факты для проверки и не утверждает решение | Передать ответственному сотруднику |
| Пакет содержит запросы разных классов | Пакетный вход | Только после отдельной проверки архитектуры | Каждый элемент связан со своим правилом и маршрутом | Разделить пакет или остановить обработку |
- Наблюдаемые признаки
- «Извлеки номер заказа и дату»; документ доступен
- Класс
- Извлечение реквизитов
- Разрешённый маршрут
- Модель A
- Проверка результата
- Оба поля присутствуют, формат согласован, значения сверяются с документом
- При неопределённости
- Отметить пропуск и передать на проверку
- Наблюдаемые признаки
- «Сравни условия двух документов»; оба документа доступны; нужны ссылки на фрагменты
- Класс
- Сравнение документов
- Разрешённый маршрут
- Модель B
- Проверка результата
- Перечислены противоречия и указаны подтверждающие фрагменты
- При неопределённости
- Запросить документ или передать сотруднику
- Наблюдаемые признаки
- «Реши, можно ли принять условия поставщика»
- Класс
- Управленческое решение
- Разрешённый маршрут
- Собрать материалы без самостоятельного решения
- Проверка результата
- Ответ содержит факты для проверки и не утверждает решение
- При неопределённости
- Передать ответственному сотруднику
- Наблюдаемые признаки
- Пакет содержит запросы разных классов
- Класс
- Пакетный вход
- Разрешённый маршрут
- Только после отдельной проверки архитектуры
- Проверка результата
- Каждый элемент связан со своим правилом и маршрутом
- При неопределённости
- Разделить пакет или остановить обработку
Последняя строка важна для реализации через sub-node n8n: выражение может разрешиться по первому item. Поэтому пакет нельзя считать корректно маршрутизированным только потому, что workflow завершился без технической ошибки.
Как проверить маршрутизатор перед рабочим запуском
Соберите согласованный набор из обычных запросов, обезличенных материалов, пограничных ситуаций и ранее найденных ошибок. Для каждого примера до запуска запишите ожидаемый класс, допустимые модели, результат и причину передачи человеку.
Проверьте как минимум неизвестный класс, пересечение условий, неполный контекст, недоступность разрешённой модели, повторный запуск, невозможность выполнить требование, ручную передачу и пакет с разными признаками элементов. Сохраняйте фактический маршрут и причину каждого расхождения.
Если команда использует metric-based evaluations n8n, учитывайте документированные условия доступности на дату проверки: n8n Cloud Pro и Enterprise, self-hosted Enterprise, а Registered Community и Starter — для одного workflow. Наличие этой функции не доказывает качество маршрутизатора и не задаёт подходящую метрику или проходной балл.
Универсального числа примеров и общего проходного значения нет. Критерии задают для конкретного процесса. Маршрутизатор готов к следующему этапу, когда выбор воспроизводится на согласованном наборе, существенные ошибки видны, неопределённость не маскируется уверенным ответом, а сотрудник может восстановить основание решения.
Ограничения и подготовка к внедрению
У проектируемого маршрутизатора остаются точки отказа: ошибочная классификация, пересечение правил, зависимость от их порядка, изменение модели, рост задержки, повторный вызов, неправильная обработка пакета и раскрытие лишних данных. Подтверждение действий, аварийная остановка, права, журнал и ручная проверка нужно включить в требования и затем испытать — статья не утверждает, что любая платформа предоставляет их автоматически.
Для обсуждения подготовьте:
- типы запросов и примеры ожидаемых результатов;
- используемые системы и режим обработки — одиночный или пакетный;
- разрешённые данные и текущие модели;
- ограничения по качеству, задержке и бюджету;
- ответственных за проверку и исключения.
Switch On AI проектирует ИИ-агентов под конкретные операции: определяет доступные данные и действия, готовит прототип и согласует проверочные сценарии. На странице разработки ИИ-агентов можно посмотреть состав работ и отличия агента от чат-бота и обычной интеграции.
Покажите нам карту запросов и два-три обезличенных примера разных классов. Мы разберём процесс, предложим правила маршрутизации и подготовим бесплатный прототип ключевого сценария. Прототип не равен внедрению: модели, доступы, состав разработки, стоимость, эксплуатационные расходы и критерии приёмки согласуются отдельно.
Вопросы по этой задаче
Чем маршрутизация отличается от выбора одной LLM?
Выбор одной LLM задаёт базовую модель для процесса, а маршрутизация принимает отдельное решение для каждого рабочего запроса по его признакам и разрешениям.
Чем маршрутизация отличается от fallback?
Маршрутизация выбирает модель по типу задачи. Fallback реагирует на недоступность или ошибку основного маршрута. Эти механизмы могут сочетаться, но их правила и повторные действия проверяют отдельно.
Можно ли поручить выбор модели другой LLM?
Такой классификатор можно спроектировать, но его ответ не доказывает правильность выбора. Нужны разрешённые маршруты, состояние неопределённости, журнал решения и проверка на рабочих примерах.
Как обрабатывать пакет из нескольких запросов в n8n?
В sub-node выражение при нескольких входных items может разрешаться по первому item. Поэтому независимую маршрутизацию элементов проверяют на конкретной схеме; при необходимости пакет разделяют до выбора модели.
Когда запрос нужно передать человеку?
Когда класс не определён, не хватает подтверждённых данных, результат не проходит проверку, требуется решение уполномоченного сотрудника или действие выходит за полномочия помощника.
