Русский ИТ бизнес
Русский ИТ бизнес

Теперь вы понимаете, как именно работают китайские поставщики?

Теперь вы понимаете, как именно работают китайские поставщики?

‘Я наконец-то решил проблему 5-часовых лимитов в OpenCode. Подключил его к локальному proxy, который использует общий пул ChatGPT Plus аккаунтов из Hermes. Теперь один аккаунт упирается в лимит и OpenCode сам переключается на следующий без браузера, ручного выбора аккаунта и перезапуска.’

Типа такого подхода на массе аккаунтов.

Комментарии (37)

  • Любопытный Компот
    Любопытный Компот
    Так уже есть готовые решение можно поискать github, подключаешь аккаунты с подписками и можно например 2-3 аккаунта за 200$ claude раскидать на 5-6 человек ) Ответить
  • Сказочный Пёс
    Сказочный Пёс
    LiteLLM как пример. Но она кривоватая. Кто чем пользуется для этого? Ответить
    раскрыть ветку (2)
    • Строганый Дирижер
      Строганый Дирижер
      Локально и пофиг Ответить
    • Плоский Журавль
      Плоский Журавль
      Omniroute использую. Наверное они все кривоватые, т.к. вайбкодятся оголтело Ответить
  • Робкий Киллер
    Робкий Киллер
    это совсем не так работает! у него пул своих аккаунтов с историей, с кэшированием, с контекстной памятью

    а у китайских поставщиков каждый новый вызов с нуля с чистого листа Ответить
    раскрыть ветку (28)
    • Длинный Огнетушитель
      Длинный Огнетушитель
      Макс знает лучше! Не спорь! Ответить
    • Аристократичный Шаман
      Аристократичный Шаман
      Если пользоваться скиллом типа handoff, это не проблема, ты просто видишь, что у тебя лимит скоро всё, снимаешь слепок контекста и передаешь в другую сессию/аккаунт Ответить
    • Пушистый Ястреб
      Пушистый Ястреб
      по апишке нет истории Ответить
      раскрыть ветку (25)
      • Робкий Киллер
        Робкий Киллер
        истории нету, но есть кэш на стороне модели и именно по кэшу модель держит фокусировку и согласованность, а дальше, механизмы на стороне пользователя: история, контекст и т д

        так вот получается каждый вызов китайской Астра = сброс кэша, а значит по новой заново читает чат, контекст и историю и заново настраивает веса Ответить
        раскрыть ветку (24)
        • Робкий Киллер
          Робкий Киллер
          Вот, объяснение умными словами как именно это работает:

          Astra использует скрытые механизмы оптимизации контекста (сжатие истории, фоновое суммаризирование агентов и сохранение промежуточных рассуждений Reasoning). Эти фоновые оптимизации привязаны к сессии аккаунта. Смена ключа заставит систему анализировать огромный массив текста заново, без учета уже сделанных моделью внутренних выводов

          Если модель на шаге А (под Ключом №1) вызвала внешнюю функцию, вы не сможете передать результат этой функции на шаге Б под Ключом №2. Связующие идентификаторы (tool_call_id) жестко изолированы внутри конкретного аккаунта


          Поэтому, когда мы дёргаем разные API мы теряем все, ради чего инженеры создали Астро со всеми ее возможностями, оставляя только LLM в сухом остатке и нам чтобы добиться от китайской реальной Астры надо просто повторить все то что уже сделали инженеры OpenAI. Но постараться конечно можно и нужно. Для этого нужны свои собственные алгоритмы управления контекстом Ответить
          раскрыть ветку (20)
          • Тактичный Дроид
            Тактичный Дроид
            Это можно проверить слушая трафик или даже вставив свой логгирующий прокси в локальный Codex , тогда станет видно хранится ли контекст в рамках серверного аккаунта.
            Если да, то это проблема масштабирования и приватности, так как вывод инструментов это пользовательские данные Ответить
            раскрыть ветку (4)
            • Робкий Киллер
              Робкий Киллер
              не хранится. только кэш и только результаты вычислений. то есть история не попадает к провайдеру. только то что можно переиспользовать дальше для удержания фокусировки и длинных цепочек. это и есть ответ почему китайская астро сбивается и путается, хотя это астро. просто нужно ей отдавать разовые задачи такие как разбор, планирование и т д Ответить
              раскрыть ветку (2)
              • Тактичный Дроид
                Тактичный Дроид
                вот это интересно
                То есть человек-программист всё-таки нужен.
                Чтобы связывать разовые задачи для дешевых китайских бомж-моделей
                В цепочки Ответить
                раскрыть ветку (1)
                • Робкий Киллер
                  Робкий Киллер
                  Да. Мы можем реально китайские api и то, что нам раздаст Макс в октябре подчинить алгоритмам управления контекстом

                  Мы в чате русский ИТ уже делаем такой движок. В него взято лучшее, что удалось собрать из открытых источников: алгоритмы Cursor, алгоритмы Крюкова (основатель Рамблер), программы Архивариус 3000

                  Context Runtime — это Go-движок для управления контекстом в агентных системах. Он не про «скинул документы в векторную базу и забыл», а про то, чтобы каждая единица контекста имела происхождение, версию и обоснование. Умеет гибридный поиск (exact, FTS, dense, морфология, операторы запросов), собирать ContextPack — выверенный набор контекста для модели с учётом бюджета токенов, запускать агентов (в том числе фоновые задачи по расписанию), работать с типизированными тулами и трейсить каждый шаг. Всё завязано на проектную изоляцию, иммутабельные снапшоты индекса и заменяемые провайдеры (модели, эмбеддеры, ранжировщики). API v1 заморожен, ядро стабилизировано Ответить
            • Ясный Единорог
              Ясный Единорог
              контекст отправляется каждый раз.
              хранить на севере что было отправлено небольшая техническая задача.
              да все переписки сохраняются логируются и потом используются для обучения. Ответить
          • Добрый Павлин
            Добрый Павлин
            опять херню несешь

            Compaction бывает двух видов, и оба контролируешь ты. Серверный включается параметром context_management с compact_threshold: когда счётчик токенов переходит порог, сервер запускает сжатие — и элемент компакции приходит тебе прямо в стриме ответа. Есть и отдельный эндпоинт /responses/compact, который полностью безсостоянийный и ZDR-совместимый: ты отправляешь целое окно контекста, получаешь новое сжатое, которое подставляешь в следующий вызов.

            То есть сжатая выжимка — это объект в твоих руках, а не невидимое состояние на сервере. Более того, серверный compaction тоже ZDR-friendly, если ставить store=false

            Для безсостоянийных запросов к reasoning-моделям нужно сохранять каждый элемент массива output: Responses API по умолчанию возвращает зашифрованные reasoning-элементы, и проигрывание полного output сохраняет их нетронутыми. Модели с persisted reasoning дополнительно умеют reasoning.context: "all_turns", чтобы подтянуть рассуждения прошлых ходов в следующий сэмпл.

            Рассуждения едут в твоём массиве input как зашифрованные блобы. Ключ ты меняешь — блобы остаются.

            И контрольный по деньгам: даже при использовании previous_response_id все входные токены предыдущих ответов в цепочке тарифицируются как входные. Так что «серверное состояние избавит вас от повторной обработки массива текста» — неправда даже в исходной формулировке: платишь ты в обоих случаях Ответить
            раскрыть ветку (14)
            • Робкий Киллер
              Робкий Киллер
              Давай без оскорблений. Это и ежу понятно, что можно API настроить под полный кастом. Речь о том, шарит ли в этом Макс? Когда его инженеры к этому придут? Смогут ли они прямо сегодня оседлать Астро так, чтобы она хотя бы фронтенд закрывала на сотку?

              Responses API спроектирован так, что серверное состояние (store: true) является лишь опцией для ленивых. Весь низкоуровневый функционал (зашифрованный reasoning, machine compaction, tool-state) выражен в виде переносимых объектов данных (opaque data items). Вы можете свободно жонглировать этими объектами, перекидывая их из аккаунта в аккаунт на каждый отдельный запрос Ответить
              раскрыть ветку (13)
              • Добрый Павлин
                Добрый Павлин
                Не выкручивайся, ты прямо сказал, что астра по апи где-то что-то хранит """сохранение промежуточных рассуждений Reasoning). Эти фоновые оптимизации привязаны к сессии аккаунта. Смена ключа заставит систему анализировать огромный массив текста заново"""
                Но это не так, ты управляешь всем этим у себя, а ротация ключей это обычное дело. Ответить
                раскрыть ветку (12)
                • Робкий Киллер
                  Робкий Киллер
                  Да. Это идет из коробки «для ленивых» и означает лишь то, что встроенные механизмы OpenAI созданы для разработчиков, которые не хотят писать сложную логику управления контекстом на своем бэкенде

                  Если передавать параметр store: true или использовать previous_response_id, сервер OpenAI делает всю грязную работу сам: ищет старые логи, склеивает историю и подтягивает рассуждения Ответить
                • Робкий Киллер
                  Робкий Киллер
                  Comment media
                  Вот, наглядно один из таких запросов к Terra 5.6 мы видим запись и чтение кэша. Вот об этом речь и этот кэш на стороне API OpenAI Ответить
                  раскрыть ветку (10)
                  • Добрый Павлин
                    Добрый Павлин
                    Поле reasoning.context в ответе содержит фактический режим — current_turn или all_turns, и его стоит проверять на каждом ответе. Дальше самое важное: настройка не создаёт reasoning-элементы, которых и так нет, и all_turns действует только тогда, когда у запроса есть доступ к элементам предыдущих ответов.

                    Чтобы получить этот доступ - OpenAI перечисляет три равноправных способа: через previous_response_id, привязку ответа к conversation, либо ручное воспроизведение полной истории ответов

                    Механика выигрыша при tool-вызовах в рекомендациях OpenAI описана так: передача reasoning-элементов обратно означает, что модели не приходится перезапускать рассуждение, когда вы отвечаете на вызов функции, - отсюда лучшее function-calling и меньший расход токенов. Но там же сказано, что добиться этого можно либо через previous_response_id, либо взяв все output-элементы старого запроса и передав их как input-элементы нового

                    На токенах это не экономит

                    Самое приземлённое: даже при использовании previous_response_id все входные токены предыдущих ответов в цепочке тарифицируются как входные.


                    Так что «сервер делает грязную работу» = экономит тебе код и трафик, а не деньги за токены. Дешевле выходит за счёт попаданий в кэш, а не за счёт того, что история не пересчитывается Ответить
                    раскрыть ветку (9)
                    • Робкий Киллер
                      Робкий Киллер
                      Comment media
                      на скриншоте видно сколько токенов Input Output это и есть то за что я заплачу дороже

                      все остальное кэш и он рассчитывается отдельно

                      в общем, ты рассуждаешь со стороны бэкенда и инженера и это отдельная, большая интересная работа для команды 1APP Ответить
                      раскрыть ветку (6)
                      • Добрый Павлин
                        Добрый Павлин
                        это вообще не их задача, их задача пробросить пути api правильно и поддерживать нагрузки, все остальное за юзером. Ответить
                        раскрыть ветку (5)
                        • Робкий Киллер
                          Робкий Киллер
                          да и это ключевое

                          когда Макс тебе будет Астро раздавать по 0.03 копейки за миллион токенов

                          1) обеспечить ли 100% совместимое API OpenAI
                          2) китайские провайдеры обеспечат ли 100% API OenAI Ответить
                          раскрыть ветку (4)
                          • Добрый Павлин
                            Добрый Павлин
                            мне не нужно. Мне норм и антропик от вендора Ответить
                            раскрыть ветку (3)
                            • Робкий Киллер
                              Робкий Киллер
                              тогда к чему этот спор? я писал именно в контексте 1APP и китайских провайдеров, которые раздают Астро и Макс сравнил свои личные Plus на Harness для одного юера где у него несколько подписок и пул китайских поставщиков

                              https://t.me/Russian_IT_Business/494953

                              и именно в этом контексте я и сравнил: личный аккаeнт с кэшем против китайского без кэша

                              А чтобы китайскому прикрутить кэш - да. нужна 100% совместимость шлюза с OpenAI. Так что ты не зря старался и подсветил ключевую проблему всех шлюзов Ответить
                              раскрыть ветку (2)
                              • Добрый Павлин
                                Добрый Павлин
                                роутеры вообще кэш хранить не должны, а совместимость шлюза с OpenAI это какбы у всех по умолчанию должно быть, правда не все и везде работает как надо) Ответить
                                раскрыть ветку (1)
                                • Робкий Киллер
                                  Робкий Киллер
                                  Анализ рынка шлюзов на сентябрь 2026 года показывает очень интересную картину технологического раскола. Китайские пулы и российские агрегаторы столкнулись с главным вызовом: архитектура Chat Completions (массив текстовых messages), на которой построены 99% прокси, концептуально устарела для флагманов 2026 года уровня GPT-6 Astra

                                  1. OpenRouter - Уровень несовместимости: Критический (для продвинутых фич Astra)
                                  2. VseLLM - Уровень несовместимости: Высокий (Работает в режиме совместимости)
                                  3. AITUNNEL - Уровень несовместимости: Средний (Ближе всех к адаптации)
                                  4. RAGArena - Уровень несовместимости: Полная изоляция концепта

                                  5. 1APP 100% будем в это верить и надеяться Ответить
                    • Тактичный Дроид
                      Тактичный Дроид
                      Всё начиналось с пула миксующего несколько аккаунтов
                      Суть-то вопроса- теряется ли что-то при процессинге на сервере при переходе от одного аккаунта к другому Ответить
                      раскрыть ветку (1)
                      • Добрый Павлин
                        Добрый Павлин
                        Смена ключа ломает адресацию по response.id, но можно все хранить у себя и не париться Ответить
        • Тактичный Дроид
          Тактичный Дроид
          В такой гипотезе кто-то в цепочке крайний и нехило платит американскому вендору за отсутствие кэша Ответить
          раскрыть ветку (1)
          • Робкий Киллер
            Робкий Киллер
            на халяву и уксус сладкий

            а если по инженерному это как получить современный кроссовер без бортового компьютера. поедет? некоторые поедут Ответить
        • Робкий Киллер
          Робкий Киллер
          но существует огромное количество разовых задач для одиночных вызовов, особенно если фактура, промпт, спека подготовлена, то тут китайские сильно выручат по деньгам

          для кодинга идеально использовать Астро китайскую для плана, разбора и т д то, что она решит за раз Ответить
  • Пушистый Ястреб
    Пушистый Ястреб
    или он прям парсит выдачу чатгпт? Ответить
    раскрыть ветку (1)
    • Мудрый Маркиз
      Мудрый Маркиз
      Он не с чат gpt, а тратятся токены, я вчера тестировал его, чтобы он за меня монотонную работу выполнял Ответить
  • Тактичный Дроид
    Тактичный Дроид
    Я заменил такие пулы на очередь задач, которую разгребают n агентов каждый за своим утилизируемым рабочим местом со своей личной подпиской . Такой конвеер очевидно лучше, агент целиком и полностью работает над одной сессией, выполняет работу.
    Но там экономика хуже сходится. Стоит это гораздо дороже Ответить
  • Салатовый Юрист
    Салатовый Юрист
    Кто то ещё пользуется хермесом?.. Ответить