До края на 2025 г. всичко, свързано с чат, минаваше директно през OpenAI. Един акаунт, един ключ, една сметка. През януари 2026 г. мигрирахме към мултимоделен агрегатор. Ето какво всъщност се случи.
Какво имахме
- OpenAI enterprise tier — $~$8k/месец за всички услуги
- Всички чат завършвания на
gpt-4oилиgpt-4o-mini - Един модел за вграждане, един модел за изображения (DALL-E 3)
- Директна SDK интеграция в четири услуги
Какво предизвика преместването
- Claude Opus 4.6 постигаше значително по-добри резултати в нашите оценки за агентско кодиране
- Gemini 3 Pro стана ясен победител за анализ на дълги контексти
- Искахме да тестваме модели с отворен код (DeepSeek, Llama 4) без да изграждаме инфраструктура за инференция
- Работата с пет доставчици означаваше пет договора, пет цикъла на фактуриране, пет табла за ограничаване на скоростта
Миграцията
Преминахме към агрегатор, съвместим с OpenAI (всъщност този — използваме нашия собствен продукт в продукция). Цялата промяна беше замяната на baseURL и apiKey в SDK. Разликата в кода беше 8 реда в четирите услуги.
// Преди
const openai = new OpenAI({ apiKey: process.env.OPENAI_KEY });
// След
const openai = new OpenAI({
apiKey: process.env.AIGEN_KEY,
baseURL: 'https://aimarcus.eu/aigenerate/api/v1',
});
Какво се промени в сметката
- Чат (GPT-4o → смесен GPT-4o + Claude Sonnet в зависимост от задачата): -22%
- Агентско кодиране (преместено към Claude Opus): +8%, но оценките се подобриха с 15 точки
- Анализ на дълги контексти (преместено към Gemini 3 Pro): -40%
- Генериране на изображения (преместено от DALL-E 3 към Nano Banana): -65%
Нетен ефект върху месечната сметка: -28%. По-добър избор на модел за всяка услуга + по-ниски цени на токен от агрегаторите нагоре по веригата, които не трябва да договаряме директно.
Три неща, които се объркаха
- Разлики във формата на стрийминг SSE. Claude стриймва малко по-различно от OpenAI. Логиката на буфера на клиентската страна се счупи за около 10 минути, докато не добавихме съвместимостен слой.
- Броене на токени. Различните модели токенизират по различен начин. Нашата вътрешна метрика "използвани токени на разговор" трябваше да бъде прекалибрирана за всеки модел.
- Кеширане, базирано на име на модел. Нашият кеш за подканите използваше
gpt-4oкато ключ. Когато започнахме да насочваме някои заявки към Claude, получихме остарели попадения в кеша. Урок: винаги включвайте модела в ключовете на кеша.
Бихме ли го направили отново?
Да — по три причини, които не са свързани с разходите.
- Опционалност. Когато OpenAI имаше 40-минутно прекъсване на 3 април, нашата чат услуга продължи да работи, защото трафикът автоматично се прехвърли към Anthropic и Gemini. Това само по себе си си заслужава миграцията.
- Паритет на моделите е приключил. Няма "най-добрият модел" през 2026 г. Има най-добър модел за всяка задача. Агрегацията е начинът, по който всъщност използвате този факт.
- Една сметка. Финансите искаха това повече от инженерите. Една фактура, едно взаимоотношение с доставчик, един договор за 12 доставчици.
Ако управлявате значителен обем на един доставчик, преминаването се изплаща още през първия месец.