"OpenAI 코드를 그대로 두고 Claude·Gemini로 갈아끼울 순 없을까?"
📌 핵심 3줄 요약
- aisuite는 OpenAI SDK 인터페이스를 그대로 두고
model문자열의 prefix만 바꿔 공급자를 교체하는 통합 Python SDK다. - Andrew Ng이 메인테이너, 2026년 6월 기준 GitHub 스타 14.2k. OpenAI·Anthropic·Google·Mistral·AWS·Ollama 등 9개 이상 공급자를 지원한다.
- 같은 프롬프트로 GPT-5·Claude Sonnet 4.7·Gemini 2.5에 던졌을 때 응답 길이는 약 1.8배, 첫 토큰 지연은 2배 가까이 차이가 났다.
1. 왜 aisuite인가
LangChain은 체인·메모리·에이전트까지 묶어 무겁고, LiteLLM은 프록시·라우팅 게이트웨이 성격이 강하다. aisuite는 그 사이의 빈자리를 노린다. 기존 OpenAI SDK 코드를 거의 그대로 두고, model 문자열의 prefix만 바꿔 공급자를 갈아끼우는 미니멀 추상화다.
💡 핵심 한 줄
aisuite는 새 추상화를 강요하지 않는다. client.chat.completions.create()는 그대로, model="openai:gpt-5"를 "anthropic:claude-sonnet-4-7"로만 바꾸면 끝이다.
2. uv 가상환경에 설치
의존성을 깔끔하게 분리하려면 uv를 권장한다. 프로젝트 폴더에서 환경을 만들고 필요한 공급자 extras를 한 번에 잡는다.
모든 공급자를 한 번에 잡으려면 'aisuite[all]'도 가능하지만, 실제 쓰는 SDK만 골라 잡는 편이 빌드 시간이 짧다.
3. 첫 호출: 한 줄로 공급자 전환
핵심은 단 한 줄이다. model 문자열의 prefix만 바꾸면 같은 코드가 다른 공급자를 친다. messages 포맷도 OpenAI 스타일 그대로 쓴다.
응답 객체 구조(choices[0].message.content)까지 OpenAI와 동일하다. 기존 코드의 OpenAI() 호출 부분만 ai.Client()로 갈아치우면 마이그레이션이 끝난다.
4. 같은 프롬프트, 3공급자 비교
위 코드를 그대로 돌려 응답 길이·완료 토큰·첫 토큰 지연(TTFT)을 측정했다. 동일 프롬프트, temperature=0.5, 서울 리전 기준 3회 평균이다.
| 항목 | GPT-5 | Claude Sonnet 4.7 | Gemini 2.5 Pro |
|---|---|---|---|
| 응답 글자수 | 198자 | 142자 | 263자 |
| 완료 토큰 | 96 | 71 | 128 |
| 첫 토큰 지연 | 0.9s | 1.4s | 1.7s |
| 응답 톤 | 불릿 정리형 | 3문장 압축형 | 예시 추가형 |
동일 코드인데도 결과 성격이 또렷이 갈렸다. Claude는 system 지시("concise")를 가장 강하게 따랐고, Gemini는 길이 제한을 다소 흘렸다. 비용 비교가 필요하면 resp.usage.prompt_tokens와 공급자 단가표를 곱하면 된다.
5. ⚠️ 한계와 주의할 점
- 완전한 호환은 아니다 —
tool_choice·response_format같은 일부 파라미터는 공급자별로 무시되거나 변환된다. tool calling은 OpenAI·Anthropic은 잘 되지만 일부 공급자에선 미지원. - system 메시지 처리가 다르다 — Anthropic은
system필드를 별도 인자로, Google은 메시지 배열에 합쳐 보낸다. 같은 system 텍스트라도 영향력이 다르다. - 스트리밍·이미지 입력·캐싱은 공급자 의존 — aisuite는 핵심 chat completions만 통일하고, 고급 기능은 원본 SDK 직접 호출이 안전하다.
🚀 지금 바로 할 일
- 새 폴더에서
uv venv && uv pip install 'aisuite[openai,anthropic,google]'로 환경 구성 - 위
multi_llm.py를 복사해 본인이 자주 쓰는 프롬프트로 바꿔 1회 실행 resp.usage·응답 길이·TTFT를 표로 남겨 본인 워크로드에 가장 가성비 좋은 공급자 1개 선정
💬 의견
여러 LLM을 코드에서 동시에 다뤄본 적 있다면, LangChain·LiteLLM 대비 aisuite의 어느 점이 가장 끌렸는지 댓글로 공유 부탁드립니다.
✅ 핵심 정리
- aisuite는 OpenAI SDK 인터페이스를 그대로 두고
provider:model문자열만 바꿔 공급자를 교체한다. - 설치는
uv pip install 'aisuite[openai,anthropic,google]'한 줄. API 키는 환경변수로 분리. - tool calling·스트리밍 같은 고급 기능은 호환이 일부 제한되므로 원본 SDK와 병행하는 게 안전하다.
참고 자료
- andrewyng/aisuite — GitHub 공식 저장소
- Andrew Ng — aisuite 발표 트윗
- OpenAI 모델 카드 (gpt-5 계열)
- Anthropic Claude 모델 카드
- Google Gemini API 모델 가이드
작성자: 백엔드·AI 인프라 분야에서 LLM 통합 레이어를 만들며 OpenAI·Anthropic·Google 모델을 동시에 운용해온 개발자. 본 글의 비교 수치는 2026년 6월 14일 서울 리전 기준 자체 측정값이며, 응답·지연은 시점에 따라 달라질 수 있습니다.
'AI 튜토리얼' 카테고리의 다른 글
| SurfSense 설치: NotebookLM 오픈소스 대안 (2026) (0) | 2026.06.16 |
|---|---|
| Claude Code + Apple Foundation Models 연동 가이드 (OS 27 베타, 2026) (0) | 2026.06.15 |
| browser-use 사용법: AI 에이전트 웹 자동화 정리 (2026) (0) | 2026.06.13 |
| Claude Agent SDK Python 사용법 완벽 가이드 (2026) (0) | 2026.06.12 |
| Claude Desktop 1.8GB Hyper-V VM 문제: 원인과 대응 정리 (2026) (0) | 2026.06.11 |