ПродвинутыйПлатформа / AI-инженерия

Зафиксируйте модель агентов — планирование на одной, исполнение на другой

Нейтрализуйте выбор модели на клиенте, затем разделите режим планирования и исполнение, чтобы сильная модель планировала, а дешёвая исполняла.

На что на самом деле жалуется сообщество

«Наши разработчики переключают Claude Code на Opus, чтобы суммаризировать changelog», «у всех в настройках разные модели, и мы не видим, кто сколько потратил», «мы пробовали клиентскую политику, но любой может просто вернуть настройку обратно».

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

Как это делает GateLLM

Три слоя, ни один нельзя пропустить: белый список моделей группы ключей (входной шлюз) отклоняет неразрешённые имена моделей с 403; сквозное сопоставление по from «*» переписывает то, что запрашивает клиент, в санкционированную модель; а скрипт в слоте before оставляет режим планирования на сильной модели и переключается на модель исполнения при выходе.

Обходные запросы — вроде генерации заголовков диалога в Claude Code — не несут маркера планирования, поэтому попадают на дешёвую модель исполнения. Это ровно то поведение «не запускайте Opus на резюме», которого вы хотели.

5 рычагов, которые действительно работают

  • Входной шлюз: белый список моделей группы ключей отклоняет любое неразрешённое имя модели до маршрутизации
  • Сквозное сопоставление: from «*» → санкционированная модель нормализует каждое запрошенное имя к одной модели
  • Разделение plan/exec: скрипт в слоте before читает маркеры режима планирования и переключает маршрутизацию только после выхода из плана
  • Наблюдаемость: переключённые запросы получают метку SW в логах, поэтому реальная модель каждого запроса аудируема
  • Горячая перезагрузка: сопоставления и правила вступают в силу немедленно — без перезапуска и без раскатки на каждого разработчика
Полное руководство: переключение модели по режиму планирования (документация)

FAQ