Ежедневная проверка: отвечает именно та модель, которая указана
Каждая модель раз в сутки получает один и тот же тестовый промпт, и ответ сравнивается с предыдущими результатами. Релей, который подменил модель за каким-то ID, будет виден как «изменилась», а результаты открыты для всех без API-ключа.
01Как работает ежедневная проверка
Каждой модели каталога раз в сутки отправляется один и тот же canary-промпт. Ответ сравнивается с ответами на предыдущих проверках, после чего модель получает один статус и время проверки. Актуальные результаты по каждой модели есть на странице proof (на английском).
Те же данные доступны как публичный JSON по адресу https://api.relayswitch.io/v1/proof: без API-ключа, с чтением из любого origin и с кешем на пять минут. ID проверяемых моделей те же, что в списке моделей.
02Что значат три статуса
Каждая модель получает один из трех статусов ниже. Пройденная проверка означает, что ответ этого ID сегодня такой же, как раньше, и его маршрут отвечает. Проверка исключает подмену модели и мертвые маршруты; для своего сценария все равно запускайте собственные промпты.
| Стабильна | Модель отвечает на canary-промпт так же, как на предыдущих проверках. |
| Изменилась | Ответ сместился относительно предыдущих проверок: этот ID обслуживает уже не то, что обслуживало его раньше. |
| Недоступна | При последней проверке не ответил ни один маршрут этой модели; прежний статус остается только историей, а не текущим состоянием. |
03Подписанная квитанция для каждого запроса
Ежедневная проверка отвечает на вопрос о модели; квитанция отвечает на вопрос об одном запросе. Отправьте один небольшой запрос, возьмите ID запроса из заголовков ответа и запросите квитанцию через GET https://api.relayswitch.io/v1/requests/:id/receipt. Квитанция подписана Ed25519 и содержит модель, оплаченные токены и стоимость, поэтому ее можно проверить офлайн с помощью публичного ключа и нельзя изменить задним числом.
Страница проверки квитанций (на английском) проверяет подпись без аккаунта. Другие примеры запросов есть на странице Claude API.
curl -i https://api.relayswitch.io/v1/messages \ -H "Authorization: Bearer sk-relay-..." \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model": "claude-fable-5.1", "max_tokens": 16, "messages": [{"role": "user", "content": "Reply with ok"}]}'04Как тестировать любой релей: начните с небольшого пополнения
Прежде чем доверять любому релею, пополните баланс на минимальную сумму и выполните семь тестов из следующего раздела. Цель в том, чтобы получить доказательства до того, как доверять: если тесты пройдены, добавляйте баланс; если нет, потери ограничены. Начните с запроса списка ID моделей, которые может вызывать ваш ключ, потому что каждому тесту нужен точный ID.
curl https://api.relayswitch.io/v1/models \ -H "Authorization: Bearer sk-relay-..."05Семь тестов, которые можно выполнить самостоятельно
Первые три теста занимают полчаса; остальные четыре нужно выполнять несколько дней.
| Самоидентификация | Спросите модель, кто она и кто ее разработчик. Это отсеивает только самую грубую маскировку, потому что одна фраза в системном промпте заставит любую модель назваться GPT или Claude. Верный ответ ничего не доказывает; сигналом служит только неверный или непоследовательный ответ. |
| Граница знаний | Спросите о нескольких событиях после даты отсечения обучающих данных модели и о нескольких до нее. Настоящая модель скажет, что не знает о более поздних; старая модель под чужим именем ошибется и на событиях незадолго до этой даты. Запишите дату, объявленную разработчиком, и спросите о трех событиях с каждой стороны. |
| Кодовое слово в длинном контексте | Отправьте длинный посторонний текст, вставьте в его середину одно кодовое слово и спросите это слово. Указанная модель находит его точно, пока текст помещается в ее контекстное окно; модель с маленьким окном или маршрут, обрезающий контекст, ошибается или выдумывает. Текст напишите сами. |
| Canary на арифметику или код | Одно умножение многозначных чисел с единственным ответом или код, требующий точного вывода. Флагманская модель стабильно отвечает верно; после подмены на маленькую модель доля ошибок заметно растет. Спросите пять раз и запишите, сколько ответов верны. |
| Сравнение числа токенов | Посчитайте свой вход токенизатором разработчика и сравните с prompt_tokens в usage ответа; то же самое сделайте для выхода с completion_tokens. Большое расхождение означает, что оплата считается не по указанной модели или запрос переписывается. |
| Стабильность за несколько дней | Оформите тесты выше в скрипт, запускайте его каждый день в одно и то же время и сохраняйте ответы. В день, когда маршрут подменят, ответы изменятся целиком. Один раз пройденный тест не означает, что он будет пройден всегда. |
| Проверка квитанций | Запросите квитанцию по запросу с ID модели, оплаченными токенами, стоимостью и подписью. Такую квитанцию можно проверить офлайн с помощью публичного ключа. На релее без квитанций остается полагаться только на собственные записи. |
06Один canary-вопрос и то, что пропускают детекторы
Задайте temperature 0 и отправьте одну фразу: вычисли 48213 × 7391 и напиши только число, затем одним предложением назови месяц и год, которыми заканчиваются твои обучающие данные. Единственный верный ответ: 356342283, а месяц отсечения сверяется с датой, объявленной разработчиком. Подмененная модель ошибается в одном из двух: либо неверно умножает, что характерно для маленьких моделей и квантованных версий, либо называет месяц отсечения, не принадлежащий указанной модели.
Распространенные детекторы релеев работают на трех уровнях: проверка полей протокола в ответе, стилевой отпечаток по нескольким раундам промптов и кривая способностей на задачах растущей сложности. Две вещи проходят мимо всех трех. Первая: множитель цены, когда запрос передается настоящей модели как есть, а списывается дороже, и проверки протокола и стиля проходят полностью. Это видно, только если умножить оплаченные токены из квитанции на цену со страницы модели и сверить с суммой, списанной с баланса. Вторая: квантованные версии. Версия той же модели с пониженной точностью может верно ответить на одну задачу, но ее кривая способностей ниже, поэтому один и тот же набор задач нужно прогонять несколько дней. Как считается оплата здесь, объяснено на странице цен.
Частые вопросы
- Модель называет себя GPT или Claude, можно ли этому верить?
- Только на этом основании нет. Одна фраза в системном промпте заставит любую модель назвать любое имя. Посмотрите, верно ли она отвечает о событиях после своей границы знаний, находит ли кодовое слово в длинном тексте и правильно ли считает.
- Как проводится ежедневная проверка?
- Каждая модель каталога раз в сутки получает один и тот же тестовый промпт, и ответ сравнивается с предыдущими проверками. Статусов три: стабильна, изменилась и недоступна. Результаты доступны как публичный JSON по адресу https://api.relayswitch.io/v1/proof, без API-ключа.
- Как проверить квитанцию?
- GET https://api.relayswitch.io/v1/requests/:id/receipt возвращает квитанцию с подписью Ed25519, где записаны модель, оплаченные токены и стоимость. Подпись проверяется публичным ключом, аккаунт для этого не нужен.
- Пройденная проверка означает, что модель точно настоящая?
- Проверка показывает, что ответ этого ID сегодня такой же, как раньше, и его маршрут отвечает. Она исключает подмену модели и мертвые маршруты. Для своего сценария запустите проверку еще раз с собственными промптами.
- Как узнать, что модель незаметно понизили?
- Незаметное понижение означает, что тот же ID заменили более слабой моделью или квантованной версией. Раз в сутки отправляйте одну и ту же задачу с единственным ответом при temperature 0: если ответ из верного стал неверным или изменился месяц границы знаний, модель подменили. Затем посмотрите квитанцию: ID модели прежний, а ответ изменился, значит, изменилась модель, а не ваш промпт. Ежедневная проверка здесь отмечает такое состояние как «изменилась».
- Почему тестирование начинается с небольшого пополнения?
- Потому что цель тестирования в том, чтобы получить доказательства до того, как доверять. Минимальное пополнение здесь $10, этого хватит, чтобы выполнить все семь тестов несколько раз. Если тесты пройдены, добавляйте баланс; если нет, потери ограничены. Пополнения не возвращаются.
Сначала проверьте, потом доверяйте
Внесите $10 и выполните все семь тестов. Каждая модель открыто проверяется раз в сутки, и у каждого запроса есть подписанная квитанция.