Выбор прокси
Как проверить, что прокси Claude настоящий
Любой прокси может написать на главной «настоящий Claude». Здесь показано, как самому проверить, что за прокси для Claude Code и API стоит Anthropic: какие способы ничего не доказывают, какие сигналы подделать нельзя и какой скрипт можно запустить. Метод работает с любым прокси, включая CoreCode.
- Вопрос «какая ты модель?» ничего не доказывает: одна строка в системном промпте заставит любую модель назвать себя Claude.
- Проверять можно поведение: формат ответа Anthropic Messages, промпт-кэш, который записывается и читается обратно, и отказ на подделанную подпись thinking-блока.
- В документации Anthropic сказано, что изменённая или не поддающаяся расшифровке подпись thinking-блока всегда даёт ошибку 400.
- Скрипту check-relay.py нужна только стандартная библиотека Python, один запуск стоит несколько центов.
- Он доказывает, что апстрим — Anthropic, но не что отвечает именно выбранный вами тариф модели.
- CoreCode сам проверяет модель каждые 3 дня с помощью открытого отпечатка ModelTrace и публикует результаты и исходные данные на этой странице.
Как прокси экономят на качестве
- Подмена модели. Вы выбираете Opus, а отвечает более дешёвая Sonnet, Haiku или модель другого вендора.
- Не официальный API. Апстрим — реверс-инжиниринговый веб- или приложенческий эндпоинт: обрезанный контекст, неполная работа инструментов и кэша.
- Выдуманный расход. Счётчики токенов и кэша заполняет сам прокси по своим правилам, а не возвращает Anthropic, поэтому счёт не сходится.
Все эти варианты по-прежнему болтают и пишут код, поэтому в повседневной работе их редко замечают.
Почему вопрос «какая ты модель» ничего не доказывает
Ответ модели о себе берётся из обучающих данных и системного промпта, а не из надёжного источника. Прокси может вписать в системный промпт «Ты — Claude Opus», и любая модель это повторит; настоящий Claude тоже может ошибиться в собственной версии. Вопрос об имени или дате отсечки знаний и оценка тона — в лучшем случае намёк, но не доказательство.
Работает только поведение, которое есть у API Anthropic и которое никто другой не сымитирует.
Три сигнала, которые нельзя подделать
1. Форма ответа и поля usage
Messages API возвращает type: "message", id с префиксом msg_ и usage с input_tokens и output_tokens, а при кэшировании ещё cache_creation_input_tokens и cache_read_input_tokens. Преобразовать вывод другой модели в такую форму легко, поэтому эта проверка ловит только грубые подделки; она нужна как предпосылка для двух остальных.
2. Промпт-кэш записывается и читается обратно
Отправьте системный промпт почти на 20 000 токенов с cache_control. Первый вызов должен показать cache_creation_input_tokens, а такой же вызов сразу за ним — примерно столько же cache_read_input_tokens. Оба поля описаны в документации Anthropic по промпт-кэшированию.
- Ноль оба раза: апстрим не делает промпт-кэширование Anthropic, либо прокси сам считает usage.
- Записано, но не прочитано: запросы, скорее всего, каждый раз попадают на другой аккаунт. Апстрим может быть настоящим, но кэш будет срабатывать редко, и Claude Code обойдётся заметно дороже; см. Кэширование и оплата.
3. Подпись thinking-блока
При включённом extended thinking Anthropic прикрепляет к каждому thinking-блоку зашифрованную signature. Когда блок отправляют обратно на следующем ходе, API проверяет подпись и отклоняет изменённую с ошибкой 400. Модель другого вендора не может создать подпись, которая пройдёт проверку, а у слоя-конвертера нет ключа Anthropic, чтобы её проверить. По словам Anthropic, API использует подпись, чтобы убедиться, что thinking-блоки созданы Claude (Thinking), а изменённая или не поддающаяся расшифровке подпись всегда даёт 400 (Preserved thinking).
Тест: возьмите подписанный thinking-блок с вызовом инструмента, измените один символ подписи и отправьте обратно — запрос обязан быть отклонён; отправьте без изменений — он обязан пройти. Если изменённую подпись приняли тоже, её никто не проверяет, и апстрим — не Anthropic.
Скрипт проверки
Три проверки собраны в один скрипт: check-relay.py. Ему нужны Python 3.8+ и только стандартная библиотека; ваш ключ уходит на указанный вами адрес и больше никуда. Прочитайте скрипт перед запуском. Исходники, тесты и issues — на GitHub: CoreCodeAI/claude-relay-check.
curl -fsSLO https://corecode.live/docs/verify/check-relay.py
python3 check-relay.py --base-url https://relay.example --key sk-your-key --model claude-sonnet-5-5
Без --base-url и --key скрипт читает ANTHROPIC_BASE_URL и ANTHROPIC_AUTH_TOKEN — настройки, которые использует Claude Code. Добавьте --bearer, если прокси ждёт Authorization: Bearer. Запуск стоит несколько центов: два кэшируемых запроса почти на 20 000 токенов и четыре коротких.
https://relay.example/v1/messages model=claude-sonnet-5-5
[PASS] shape Messages response, model claude-sonnet-5-5, 143 input tokens
[PASS] cache wrote 17755 tokens, read 17755 on call 2
[PASS] signature tampered signature rejected (HTTP 400), genuine one accepted
Result: all checks look like Anthropic
| Результат | Значение |
|---|---|
PASS | Проверка совпадает с поведением API Anthropic. |
WARN | Сомнительно, но не окончательно, например кэш записывается, но не читается. |
FAIL | Проверка говорит, что апстрим — не Anthropic или usage ненастоящий. Код выхода 1. |
ERROR | Сам запрос не удался (нет соединения, неверный ключ, нет баланса, клиент отклонён). Проверка не завершилась и ничего не говорит ни в ту, ни в другую сторону. Код выхода 2. |
SKIP | Модель отклонила thinking-запрос или на этот раз не стала думать, поэтому проверка подписи пропущена. Запустите ещё раз или попробуйте другую модель. |
403. Это ограничение клиента, оно ничего не говорит об апстриме. Чтобы проверить CoreCode, используйте ключ из группы Claude 满血(可外接); ключи из группы 仅限CC отклоняются.Чего скрипт не доказывает
- Он доказывает «апстрим — Anthropic», а не «апстрим — выбранный вами тариф». Thinking-блоки Sonnet тоже несут действительные подписи. Тариф оценивайте по возвращённому полю
model, по модели и цене за единицу в каждом списанном запросе и по тому, как модель справляется со сложными задачами. О собственной проверке CoreCode см. регулярную проверку. - Это одна выборка. Прокси может подменять модель только в какие-то часы или для части запросов. Повторный запуск позже скажет больше, чем однократный.
- Он не измеряет надёжность. Для доли успешных запросов и задержки нужна история, например статус сервиса CoreCode.
Как отличить модели: регулярная проверка CoreCode
Три сигнала выше доказывают, что апстрим — Anthropic, но не говорят, какая именно модель отвечает. Для этого мы проверяем себя открытым инструментом ModelTrace. Он просит модель написать несколько сотен целых чисел от 1 до 355, и у каждой модели свои любимые числа. ModelTrace сравнивает распределение с отпечатками 18 моделей GPT и Claude из своей базы и определяет наиболее вероятную.
Каждые 3 дня сервер запускает его с ключом из группы 「Claude 满血(可外接)」: 3 раунда на каждую модель Claude, 3 ответа в раунде. Таблица ниже обновляется после каждого запуска. Обе группы используют одни и те же аккаунты. Из группы 「仅限CC」 мы не тестируем: она пропускает только запросы с системным промптом Claude Code, а автор ModelTrace отмечает, что этот промпт сильно искажает результат.
Последняя проверка: 2026-11-01 19:17 UTC, 3 раунда на модель, 3 ответа на раунд. Все промпты и ответы — в 2026-11-01.json, их можно пересчитать в ModelTrace.
| Модель | Валидные раунды | Семейство Claude | Эта модель | Ближайшая модель |
|---|---|---|---|---|
claude-fable-5-1 | 3 / 3 | 95% | нет в базе | claude-opus-5-5 |
claude-haiku-5-5 | 3 / 3 | 100% | 100% | claude-haiku-5-5 |
claude-opus-5-5 | 3 / 3 | 100% | 100% | claude-opus-5-5 |
claude-sonnet-5-5 | 3 / 3 | 79% | 78% | claude-sonnet-5-5 |
Предыдущие проверки
| Дата | claude-fable-5-1 | claude-haiku-5-5 | claude-opus-5-5 | claude-sonnet-5-5 |
|---|---|---|---|---|
| 2026-11-01 | 95% / — | 100% / 100% | 100% / 100% | 79% / 78% |
| 2026-10-31 | 100% / — | 100% / 100% | 100% / 100% | 96% / 79% |
| 2026-10-28 | 100% / — | 100% / 100% | 100% / 100% | 99% / 99% |
В ячейке — средняя вероятность семейства Claude / запрошенной модели.
Как читать таблицу:
- Результат верен только среди моделей из базы отпечатков. Модель, которой в базе нет, всё равно относят к ближайшей.
claude-fable-5-1в базе нет, поэтому в столбце «Эта модель» для неё написано «нет в базе», и применима только цифра по семейству Claude. - Отдельные раунды расходятся, поэтому в таблице среднее по 3. В первом пробном запуске 28 октября 2026 г. один раунд
claude-sonnet-5-5дал семейству Claude лишь 63%; два других в тот день дали 100%. - Автор ModelTrace называет результат лишь ориентировочным. Отпечатки Claude были собраны через OAIPro, сторонний прокси, а не через API Anthropic. Метод отвечает на вопрос о модели, на который проверка подписи ответить не может; он не заменяет три сигнала выше.
- Можно запустить самому. Откройте веб-страницу ModelTrace, отправьте модели три её задания и вставьте ответы обратно; или запустите ModelTrace локально и укажите в его API-тесте
https://corecode.liveи ключ из группы 可外接. В исходных данных по ссылке над таблицей есть каждый промпт и ответ, так что результат можно пересчитать.
О том, что ещё стоит проверить в прокси, читайте в Как выбрать прокси для Claude Code.
FAQ
Можно ли понять, настоящий ли прокси, спросив модель, какая она?
Нет. Ответ модели о себе берётся из обучающих данных и системного промпта; прокси меняет его одной строкой, а настоящий Claude может ошибиться в своей версии. Ищите поведение, которое никто не сымитирует; см. три сигнала, которые нельзя подделать.
Сколько стоит проверка?
Несколько центов: два кэшируемых запроса почти на 20 000 токенов и четыре коротких.
Можно ли запустить её на CoreCode?
Да, с ключом из группы Claude 满血(可外接). Группа 仅限CC пускает только Claude Code, поэтому скрипт получает отказ 403 и сообщает ERROR, что ничего не говорит ни в ту, ни в другую сторону.
Куда скрипт отправляет мой ключ?
Только на адрес, который вы передали в --base-url; больше он ни с кем не связывается. Скрипт открыт, так что прочитайте его перед запуском.
Если все три проверки пройдены, это точно Opus?
Не обязательно. Thinking-блоки Sonnet тоже несут действительные подписи. Тариф оценивайте по возвращённому полю model, по модели и цене в каждом списанном запросе и по тому, как модель справляется со сложными задачами; см. чего скрипт не доказывает. CoreCode проверяет каждую модель раз в 3 дня с помощью ModelTrace; см. регулярную проверку.