Матрица совместимости протоколов и провайдеров
- Дата: 3 августа 2026 года
- Статус: принято для gpt2giga 0.3
- Ответственные направления: матрица совместимости и интеграция
- Схема матрицы:
gpt2giga.bridge-loss-matrix.v1 - Схема списка маршрутов:
gpt2giga.route-support-matrix.v1 - Схема возможностей модели:
gpt2giga.effective-capabilities.v1
Зачем нужна отдельная матрица
Внутренняя нормализованная матрица v1 показывает, можно ли перенести отдельную возможность в другой публичный протокол без потерь. Для релиза нужна ещё одна таблица: насколько готова каждая пара «публичный протокол — внешний провайдер».
Эта таблица описывает зрелость маршрута в целом. По ней нельзя судить о списке доступных моделей или о возможностях конкретной модели.
Решение
В матрице четыре публичных протокола:
openai_responses;openai_chat_completions;anthropic_messages;gemini_generate_content.
Им соответствуют четыре типа провайдеров: gigachat, openai_compatible,
anthropic и gemini. Получается 16 обязательных ячеек.
Статусы маршрутов
| Статус | Что он означает |
|---|---|
stable | Заявленное подмножество проверено на зафиксированных версиях клиента и провайдера, а также в изолированных E2E-тестах релиза. |
technical_preview | Основные сценарии работают, но остаются известные семантические потери или заметный риск изменений со стороны провайдера. |
blocked | Безопасного маршрута нет. Шлюз отклоняет запрос до обращения к сети. |
У каждой ячейки должен быть один из этих статусов. Значение unknown,
пропущенные ячейки и неявные значения по умолчанию для маршрутов запрещены.
Для конкретной модели правило другое: если данных недостаточно, её возможность
остаётся в состоянии unknown. Отсутствие подтверждений нельзя автоматически
трактовать ни как поддержку, ни как запрет.
Матрица относится только к нормализованным маршрутам. Нативная реализация
GigaChat Responses остаётся стабильным основным путём и находится вне этой
матрицы. Нормализованный маршрут OpenAI Responses → GigaChat имеет статус
technical_preview, пока он не поддержит вложения и остальные принятые
сценарии нативной реализации.
Что хранится в ячейке
Ячейка содержит status, reasons, evidence_ids, проверенные диапазоны
версий клиента и провайдера, а также таблицу отдельных возможностей. В ней
учитываются роли, мультимодальные данные, инструменты и их идентификаторы,
параллельные вызовы, JSON Schema, потоковые ответы, сведения о токенах,
причины остановки и отказа, рассуждения (reasoning), состояние предыдущего ответа, файлы,
изображения, встроенные инструменты, отмена, тайм-ауты и ошибки потока.
Каждая возможность получает одну из трёх оценок:
exact— смысл сохраняется полностью;conditional— решение зависит от выбранной модели и режима API;unsupported— сохранить смысл запроса нельзя.
Для conditional шлюз проверяет публичный протокол, адаптер провайдера, данные
о модели, режим API и политику маршрута. Результат этой проверки — supported,
unsupported или unknown с причиной, источником данных и ревизией.
Ревизия и проверка запроса
Матрица без секретов приводится к каноническому JSON. Её ревизия имеет вид
sha256:<lowercase-hex>. На хеш влияют статусы, причины, диапазоны версий и
идентификаторы подтверждений. Время проверки, состояние сервиса и оформление
документа в хеш не входят.
До чтения учётных данных и сетевого вызова шлюз:
- выбирает неизменяемый маршрут провайдера;
- находит модель в общем каталоге;
- проверяет ячейку протокола и провайдера;
- определяет возможности модели в выбранном режиме API;
- извлекает из запроса все значимые требования;
- применяет политику для
unknownи отклоняет неподдерживаемые возможности; - записывает решение без пользовательского содержимого, но с ревизиями конфигурации, профиля, каталога и матрицы;
- вызывает один выбранный адаптер провайдера.
Шлюз не упрощает запрос молча и не переключается на другого провайдера или
модель. Если смысл сохранить нельзя, он возвращает unsupported_semantic с
путём к публичному полю и коротким идентификатором причины.
Машиночитаемое представление
GET /bridge/capabilities без параметра model возвращает все 16 маршрутов.
Если передать модель, протокол и режим API, метод вернёт возможности
конкретной модели в трёх состояниях. В этих ответах нет промптов, тел ответов,
учётных данных, userinfo из URL и необработанных данных провайдера.
Миграция и откат
PROTOCOL_LOSS_MATRIX_V1остаётся внутренним источником данных, пока новая схема полностью его не заменит.- Ячейки без подтверждений начинают со статуса
blocked. - При откате на 0.2.x метод API и предварительная проверка исчезнут, но файлы матрицы останутся неактивными и не повлияют на пользовательские данные.