2025년 말까지 우리는 모든 채팅 관련 작업을 OpenAI를 통해 직접 실행했습니다. 하나의 계정, 하나의 키, 하나의 청구서. 2026년 1월에 우리는 멀티 모델 집계기로 전환했습니다. 실제로 무슨 일이 있었는지 설명합니다.

우리가 가지고 있던 것

  • OpenAI 엔터프라이즈 티어 — 모든 표면에서 월 $~$8k
  • 모든 채팅 완성은 gpt-4o 또는 gpt-4o-mini에서
  • 하나의 임베딩 모델, 하나의 이미지 모델 (DALL-E 3)
  • 네 개의 서비스에 직접 SDK 통합

전환을 촉발한 것

  • Claude Opus 4.6이 에이전틱 코딩 평가에서 눈에 띄게 더 나은 점수를 받음
  • Gemini 3 Pro가 장문 문서 분석에서 명확한 승자가 됨
  • 추론 인프라를 구축하지 않고 오픈 소스 모델(DeepSeek, Llama 4)을 테스트하고 싶었음
  • 다섯 개의 공급자를 운영하는 것은 다섯 개의 계약, 다섯 개의 청구 주기, 다섯 개의 속도 제한 대시보드를 의미함

이전 과정

우리는 OpenAI 호환 집계기로 전환했습니다(사실, 우리는 실제로 우리의 제품을 생산에 사용합니다). 전체 변경 사항은 SDK에서 baseURLapiKey를 교체하는 것이었습니다. 코드 차이는 네 개의 서비스에 걸쳐 8줄이었습니다.

// Before
const openai = new OpenAI({ apiKey: process.env.OPENAI_KEY });

// After
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가 4월 3일에 40분 동안 중단되었을 때, 우리의 채팅 표면은 Anthropic과 Gemini로 자동으로 트래픽이 전환되었기 때문에 계속 작동했습니다. 그것만으로도 전환할 가치가 있습니다.
  • 모델 동등성은 끝났다. 2026년에 "최고의 모델"은 없습니다. 각 작업에 대한 최고의 모델이 있습니다. 집계는 그 사실을 실제로 활용하는 방법입니다.
  • 하나의 청구서. 재무팀이 엔지니어링 팀보다 더 원했습니다. 하나의 송장, 하나의 공급업체 관계, 12개의 공급업체에 대한 하나의 계약.

단일 공급자에서 의미 있는 볼륨을 실행하고 있다면, 전환은 첫 달에 스스로 비용을 상쇄합니다.