PunchFlooding kills 245, displaces over 214,000 Nigerians — NEMAInquirer4 Commonwealth Avenue lanes to close Oct. 24-25 for MRT-7 worksDaily MaverickBrazil may turn right-wing again — this is why South Africans should careBollywood HungamaTiger Shroff team shares video of his injuries after Juhu firing incident; actor reportedly sustained cuts and bruisesComplete SportsHighlight Of Complete Sports Celebrity Workout 4.0 ExperienceCNN TürkPFDK'dan 8 Süper Lig kulübüne para cezasıسكاي نيوز عربية"فولفو" تعلن شطب 2500 وظيفة بعد تكبد خسائر فصليةZDF heuteAktuelle Pressemitteilungen des ZDFThe RegisterBeware the claw: Do you want to win the bunny or reboot Android?Business AMRusland brengt met valse vissersschepen onderzeese internetkabels in beeld voor eventuele sabotageThe Hollywood Reporter‘Apart,’ Set in Cyprus and Apartheid South Africa, “Challenges the Idea of ‘Us’ and ‘Them'” (Exclusive Tallinn Trailer)Wirtualna PolskaKolejna dymisja w rządzie. "Zwróciłem się do premiera"
The Daily Newsstand · Free, Always
Friday, October 23, 2026

GPT-6 Astra у пяти зарубежных сторонних API-роутеров: сравнение ответов с официальным API

Translate

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

При работе с такими платформами возникает ключевой вопрос: совпадают ли их ответы на одну и ту же задачу с ответами официального API?

Я сравнил GPT-6 Astra у OrcaRouter, TeamoRouter, OpenRouter, Token Harbor и NaraRouter на 30 задачах с независимо проверяемыми ответами. Для каждой задачи сначала вызывался официальный API OpenAI, затем по очереди пять платформ и в конце ещё раз официальный API. Чтобы говорить о сопоставимом качестве в рамках этой проверки, все 30 ответов платформы должны совпасть с обоими официальными ответами. Тогда более низкая цена API имеет практический смысл.

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

I. Методика: как сравнивались ответы

В качестве эталона для сравнения платформ я выбрал GPT-6 Astra — флагманскую модель OpenAI. Набор состоит из 30 англоязычных задач по трём фиксированным шаблонам, по 10 экземпляров каждого: подсчёт перестановок с ограничениями, трассировка состояния Python-кода и моделирование операций со шкафчиками. Во всех задачах требовалось ответить одним целым числом, что позволяет точно сравнивать итоговые ответы.

Каждый тип задач проверяет отдельный навык. В перестановках нужно одновременно учитывать соседство элементов, их порядок, фиксированные позиции и условия чётности для крайних цифр. В коде — отслеживать состояние множества и вычислять чередующуюся сумму элементов списка. В задачах со шкафчиками — выполнять переключения и присваивания в заданном порядке. Такие задачи позволяют обнаружить однозначные числовые расхождения. Для каждой задачи вызовы выполнялись в порядке, показанном на рис. 1. Порядок пяти роутеров перемешивался с заданным seed, чтобы одна и та же платформа не оказывалась постоянно первой или последней.

Рис. 1. Для каждой задачи получены 2 ответа официального API и 5 ответов роутеров. Для 30 задач это 210 записей: 60 официальных и 150 от роутеров. Схема показывает порядок сбора данных.

Рис. 1. Для каждой задачи получены 2 ответа официального API и 5 ответов роутеров. Для 30 задач это 210 записей: 60 официальных и 150 от роутеров. Схема показывает порядок сбора данных.

Запросы отправлялись через потоковый интерфейс Chat Completions. Клиент отправлял одно сообщение с ролью user, без сообщения с ролью system. Лимит вывода везде устанавливался равным 4096: для официального API использовался max_completion_tokens, для роутеров — max_tokens. Параметры temperature и reasoning_effort не передавались, поэтому на каждой стороне применялись значения по умолчанию.

Обработка результатов состояла из двух этапов: сначала проверялись полнота передачи и формат ответа, затем сравнивались целые числа. Если два официальных ответа различались, задача должна была попасть в отдельную категорию с нестабильным опорным ответом. Если они совпадали, ответ роутера сравнивался с этим значением и получал отметку «совпадение ответов» или «расхождение».

II. Результаты: реальные вызовы API пяти платформ

Ниже приведены конечные точки и идентификаторы моделей, которые фактически использовались в этом прогоне. Контрольные запросы к официальному API отправлялись на https://api.openai.com/v1/chat/completions; и в запросе, и в ответе идентификатором модели был gpt-6-astra.

OrcaRouter

Конечная точка: https://api.orcarouter.ai/v1/chat/completions. В запросе использовался идентификатор openai/gpt-6-astra, в ответе возвращался gpt-6-astra.

В каждом из трёх разделов — «Подсчёт перестановок», «Трассировка кода» и «Шкафчики» — 10/10 ответов совпали с обоими официальными ответами, всего 30/30.

OrcaRouter: OpenAI до, ответ платформы и OpenAI после для 30 задач этого прогона. Скриншот локального журнала эксперимента.

OrcaRouter: OpenAI до, ответ платформы и OpenAI после для 30 задач этого прогона. Скриншот локального журнала эксперимента.

TeamoRouter

Конечная точка: https://api.teamorouter.com/v1/chat/completions. И в запросе, и в ответе использовался идентификатор gpt-6-astra.

В каждом из трёх разделов — «Подсчёт перестановок», «Трассировка кода» и «Шкафчики» — 10/10 ответов совпали с обоими официальными ответами, всего 30/30.

TeamoRouter: OpenAI до, ответ платформы и OpenAI после для 30 задач этого прогона. Скриншот локального журнала эксперимента.

TeamoRouter: OpenAI до, ответ платформы и OpenAI после для 30 задач этого прогона. Скриншот локального журнала эксперимента.

OpenRouter

Конечная точка: https://openrouter.ai/api/v1/chat/completions. И в запросе, и в ответе использовался идентификатор openai/gpt-6-astra.

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

OpenRouter: OpenAI до, ответ платформы и OpenAI после для 30 задач этого прогона. Скриншот локального журнала эксперимента.

OpenRouter: OpenAI до, ответ платформы и OpenAI после для 30 задач этого прогона. Скриншот локального журнала эксперимента.

Token Harbor

Конечная точка: https://tokenharbor.ai/v1/chat/completions. И в запросе, и в ответе использовался идентификатор gpt-6-astra. Клиент также отправлял заголовок X-TH-Cache-Control: force-refresh.

В каждом из трёх разделов 10/10 ответов совпали с обоими официальными ответами, всего 30/30.

Token Harbor: OpenAI до, ответ платформы и OpenAI после для 30 задач этого прогона. Скриншот локального журнала эксперимента.

Token Harbor: OpenAI до, ответ платформы и OpenAI после для 30 задач этого прогона. Скриншот локального журнала эксперимента.

NaraRouter

Конечная точка: https://router.bynara.id/v1/chat/completions. И в запросе, и в ответе использовался идентификатор gpt-6-astra.

Все 30 вызовов завершились успешно. В 25 случаях ответы совпали с обоими официальными ответами, в 5 обнаружены числовые расхождения. По разделам: «Подсчёт перестановок» — 6/10 совпадений, «Трассировка кода» — 9/10, «Шкафчики» — 10/10.

NaraRouter: сопоставление ответов для 30 задач этого прогона. Цветом выделены 5 числовых расхождений. Скриншот локального журнала эксперимента.

NaraRouter: сопоставление ответов для 30 задач этого прогона. Цветом выделены 5 числовых расхождений. Скриншот локального журнала эксперимента.

На рис. 2 показаны все 5 задач с расхождениями.

Рис. 2. Все 5 задач, в которых обнаружены расхождения у NaraRouter. В каждой из них оба официальных ответа совпали между собой и с локально рассчитанным правильным ответом.

Рис. 2. Все 5 задач, в которых обнаружены расхождения у NaraRouter. В каждой из них оба официальных ответа совпали между собой и с локально рассчитанным правильным ответом.

III. Пример расхождения 1: подсчёт перестановок

Рассмотрим core-permutation-008. В этой задаче нужно составить семизначный код, использовав каждую цифру от 1 до 7 ровно один раз. Ограничения: 1 стоит левее 5; 7 идёт непосредственно справа от 3; 6 занимает позицию 4; первая и последняя цифры чётные.

Официальный API до вызовов роутеров выдал 4, NaraRouter — 8, официальный API после — снова 4. Остальные четыре платформы также ответили 4. На рис. 3 приведены исходный текст задачи на английском языке, три исходных ответа, идентификаторы записей и префиксы хешей SHA256 файлов с необработанными ответами.

Рис. 3. Сопоставление исходных ответов по реальным API-записям.

Рис. 3. Сопоставление исходных ответов по реальным API-записям.

У этой задачи 4 решения, поэтому ответ NaraRouter (8) неверен.

IV. Пример расхождения 2: трассировка кода

В core-trace-007 передавалась приведённая ниже программа. Требовалось определить, какое целое число она напечатает.

def f(xs):
    out = []
    seen = set()
    for i, x in enumerate(xs):
        k = (x * 9 + i) % 7
        if k in seen:
            out.append(-x)
        else:
            seen.add(k)
            out.append(x + len(seen))
    return sum(out[::2]) - sum(out[1::2])

print(f([12, 6, 24, 13, 11, 20, 10, 2, 23, 4, 15, 17, 8]))

На каждой итерации программа сначала вычисляет k. Если такое значение уже встречалось, в список добавляется -x. Иначе значение сначала добавляется в множество, а в список записывается x + len(seen). Последовательное выполнение даёт:

[13, 8, 27, -13, 15, -20, -10, 7, -23, -4, -15, -17, 14]

При индексации с нуля сумма элементов с чётными индексами равна 21, а с нечётными — −39. Поэтому программа должна напечатать 21 - (-39) = 60. Оба официальных вызова и остальные четыре платформы вернули 60, NaraRouter — 83.

core-trace-007: OpenAI до — 60, NaraRouter — 83, OpenAI после — 60. Скриншот локального журнала исходных ответов.

core-trace-007: OpenAI до — 60, NaraRouter — 83, OpenAI после — 60. Скриншот локального журнала исходных ответов.

Сводные результаты и анализ

В ячейках на рис. 4 указаны число совпадений с обоими официальными ответами и общее число сопоставимых задач. Каждая платформа выполнила все 30 задач.

Рис. 4. Доля совпадений ответов платформ с официальными ответами: по 10 задач в каждом из трёх разделов.

Рис. 4. Доля совпадений ответов платформ с официальными ответами: по 10 задач в каждом из трёх разделов.

У NaraRouter расхождения обнаружены в четырёх задачах на перестановки и одной задаче на трассировку кода. В задачах со шкафчиками расхождений нет. У остальных четырёх платформ совпали 30/30 ответов.

Цена и совпадение ответов

Цены в таблице указаны в долларах за миллион токенов.

Платформа

Вход

Выход

В сравнении с официальным API OpenAI

Совпадение ответов с OpenAI

OpenAI (официальный API) [1]

$10.00

$50.00

База сравнения

Официальный эталон

OrcaRouter [2]

$10.00

$50.00

Та же цена

Совпадение (30/30) ✅

TeamoRouter [3]

$1.71

$8.55

Вход и выход дешевле на 82.9%

Совпадение (30/30) ✅

OpenRouter [4]

$10.00

$50.00

Та же цена

Совпадение (30/30) ✅

Token Harbor [5]

$10.00

$50.00

Та же цена

Совпадение (30/30) ✅

NaraRouter [6]

Около $1.41

Около $5.94

Вход дешевле примерно на 85.9%; Выход дешевле примерно на 88.1%

Есть различия (совпало 25/30) ❌

Исходные цены NaraRouter составляют Rp25,400 за миллион входных токенов и Rp106,999 за миллион выходных токенов; суммы в долларах взяты из пересчёта на странице платформы. Для TeamoRouter указаны актуальные цены со скидкой на момент проверки.

Среди 5 рассмотренных зарубежных платформ у трёх стоимость токенов совпадает с официальными тарифами OpenAI. Только у TeamoRouter и NaraRouter цены на входные и выходные токены ниже, чем у OpenAI. При этом ответы NaraRouter отличались от ответов официального API в 5/30 задачах, а ответы TeamoRouter совпали с ними в 30/30 задачах.

Поэтому при выборе зарубежного стороннего API-роутера для доступа к самой мощной модели OpenAI важно учитывать не только соотношение цены и качества, но и то, действительно ли сервис предоставляет именно ту модель, которую вы запрашиваете.

Источники цен: [1] Официальная страница модели OpenAI; [2] Страница модели на OrcaRouter; [3] Актуальные тарифы TeamoRouter; [4] Страница модели на OpenRouter; [5] Страница модели на Token Harbor; [6] Страница тарифов NaraRouter.

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.