Перейти к основному содержимому

Маршруты шлюза

Статус: принято 4 августа 2026 года.

Контекст

GigaLoom запускает агентов разработки через опубликованный пакет gpt2giga. При этом идентификаторы агента, протокола, шлюза, модели и маршрута должны оставаться независимыми. Сокращённая команда запуска не должна незаметно выбирать другой протокол или провайдера, создавать второй диспетчер процессов либо менять пользовательские настройки CLI.

Решение

Идентификаторы и синтаксис CLI

agent_id, клиентский протокол, gateway_id, публичное имя модели и неизменяемый route_id обозначают разные сущности.

Полная форма команды:

giga --route <route-id> <agent-id>

Сокращённая форма:

giga --with <gateway-id> --model <model> <agent-id>

До запуска процесса сокращённая форма должна однозначно разрешиться в один неизменяемый маршрут. Если подходят несколько маршрутов, неинтерактивный запуск завершается ошибкой.

Глобальные параметры заканчиваются перед идентификатором агента. Все последующие аргументы принадлежат нативному CLI. Например, giga --model X codex выбирает модель маршрута, а giga codex --model X передаёт параметр --model X самому Codex.

Проверочный запуск возвращает отредактированный JSON и не обращается к сети. Если требуемая возможность отсутствует, GigaLoom не подставляет другой протокол, провайдера, модель или агента.

Публичные схемы

GatewayProfileV1 описывает шлюз: идентификатор и имя, режим managed или external, поддерживаемый диапазон версий пакета либо исполняемого файла, проверки запуска и готовности, редакции списков моделей и возможностей, ссылки на секреты и TLS-настройки, а также контрольные суммы профиля и артефакта.

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

LaunchOverlayV1 описывает временную конфигурацию запуска: изолированный домашний каталог под управлением GigaLoom, отредактированные изменения переменных окружения, ссылки на конфигурацию, аренду процесса, результат предварительной проверки и контрольную сумму возможностей. Значения секретов не сохраняются — через границу запуска передаются только ссылки на них.

Запуск и состояние совместимости

В режиме external GigaLoom проверяет уже запущенный шлюз. В режиме managed система получает аренду процесса, запускает точную опубликованную версию пакета, ждёт готовности и связывает сведения о процессе с текущим запуском. Для этого используется существующий диспетчер процессов; отдельный фоновый сервис не создаётся.

Маршрут имеет одно из четырёх состояний:

  • stable — сочетание версий агента и шлюза проверено сквозным тестом;
  • technical_preview — маршрут протестирован, но имеет известные ограничения или может измениться;
  • vendor_unsupported — протокол технически совместим, но не поддерживается поставщиком;
  • blocked — отсутствует обязательная точка подключения или при передаче теряется необходимая семантика.

GigaLoom не завышает состояние совместимости на основании проверки одного компонента. Например, в gpt2giga 0.3.0 маршрут Codex Responses → GigaChat остаётся в состоянии technical_preview, поскольку совместимость Responses реализована не полностью.

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

Изоляция временной конфигурации

Сформированные настройки хранятся только в каталоге под управлением GigaLoom или в ограниченном временном каталоге. Запуск и очистка не меняют ~/.codex, ~/.claude, ~/.gemini, другие домашние каталоги CLI и глобальную конфигурацию. Для Codex используется протокол Responses; автоматическое переключение на Chat Completions запрещено.

Миграция и откат

Профили и маршруты добавляются как версионируемые данные. Старый выбор шлюза становится маршрутом только после проверки возможностей и артефакта. Если однозначного соответствия нет, интерфейс показывает состояние blocked.

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

Последствия

Для каждого запуска можно точно установить маршрут, версию пакета и результат проверки. Секреты, пользовательские настройки CLI и управление процессами остаются в своих подсистемах.