OpenAI GPT-5.6 모델 선택법: Sol·Terra·Luna를 비용과 품질로 라우팅하기
OpenAI GPT-5.6 모델 선택은 이제 ‘가장 좋은 모델 하나를 고르는 문제’가 아니다. OpenAI의 모델 문서는 복잡한 reasoning과 코딩에는 GPT-5.6 Sol, 품질과 비용 균형에는 GPT-5.6 Terra, 비용 민감한 대량 워크로드에는 GPT-5.6 Luna를 시작점으로 제시한다. 실무 개발자에게 중요한 건 이 설명을 그대로 외우는 것이 아니라, 제품 요청을 어떤 기준으로 세 모델에 나눠 보낼지 정하는 것이다.
모델 라우팅이 필요한 이유
LLM API 비용은 요청 수보다 ‘잘못 고른 모델’에서 많이 샌다. 단순 분류, 짧은 문장 교정, 템플릿 기반 답변까지 최고급 모델로 보내면 비용 대비 품질 이득이 작다. 반대로 복잡한 코드 수정, 장문 분석, 다단계 의사결정을 저가 모델로 보내면 재시도와 사람 검수 비용이 늘어난다.
그래서 운영 기준은 모델명이 아니라 작업 난이도다. 사용자의 한 요청 안에서도 단계별로 다른 모델을 쓸 수 있다. 예를 들어 고객지원 자동화에서는 Luna가 문의 유형을 분류하고, Terra가 답변 초안을 만들고, Sol이 환불·계약·보안처럼 위험도가 높은 케이스만 검토하는 구조가 가능하다.
이 방식은 단순히 비용을 줄이는 테크닉이 아니다. 실패 비용을 기준으로 모델을 배치하는 운영 설계다. 실패해도 바로 수정 가능한 작업은 저렴한 모델로, 실패하면 고객 신뢰나 데이터 안전에 영향을 주는 작업은 강한 모델로 보내야 한다.
세 모델을 이렇게 나눠 생각하자
공식 문서의 설명을 제품 운영 기준으로 바꾸면 다음과 같다.
| 모델 | 적합한 작업 | 피해야 할 작업 |
|---|---|---|
| GPT-5.6 Sol | 복잡한 코딩, 긴 reasoning, 설계 리뷰, 고위험 판단 | 단순 분류, 대량 반복 생성 |
| GPT-5.6 Terra | 일반 챗봇, 문서 요약, 중간 난이도 코드 보조, 초안 작성 | 아주 저렴해야 하는 대량 배치, 매우 고위험 결정 |
| GPT-5.6 Luna | 분류, 태깅, 짧은 변환, 대량 초안, 캐시 후보 생성 | 복잡한 추론, 보안·법무·금융 판단 |
초기값은 Terra로 두는 편이 안전하다. Sol을 기본값으로 두면 비용 구조가 무거워지고, Luna를 기본값으로 두면 품질 이슈를 디버깅하는 시간이 늘 수 있다. Terra를 기준으로 시작해 실패율이 높은 작업은 Sol로 올리고, 안정적인 반복 작업은 Luna로 내리는 방식이 좋다.
라우팅 기준은 입력 길이보다 실패 비용이다
많은 팀이 모델 라우팅을 입력 토큰 수로 시작한다. 짧으면 저가 모델, 길면 고급 모델이라는 규칙이다. 이 규칙은 일부 맞지만 충분하지 않다. 짧은 요청이라도 ‘이 고객의 환불을 승인해도 되는가’는 고위험 작업이고, 긴 요청이라도 ‘회의록에서 액션 아이템만 추출’은 낮은 위험일 수 있다.
실무 라우팅에는 최소 네 가지 신호가 필요하다.
- 작업 유형: 분류, 요약, 생성, 코드 수정, 의사결정
- 실패 비용: 틀렸을 때 금전·보안·고객 신뢰에 미치는 영향
- 검증 가능성: 결과를 코드, 규칙, 테스트로 자동 검증할 수 있는지
- 재시도 비용: 실패 후 더 강한 모델로 다시 보내도 되는지
예를 들어 코드 생성은 위험해 보이지만 테스트가 잘 갖춰진 저장소에서는 검증 가능성이 높다. 반대로 계약 조항 해석은 입력이 짧아도 자동 검증이 어렵다. 따라서 후자는 Sol이나 사람 검토 경로로 보내는 것이 맞다.
기본 라우터 설계 예시
처음부터 복잡한 ML 라우터를 만들 필요는 없다. 규칙 기반 라우터로 시작하고, 로그를 보며 조정하면 된다.
if task in [classification, tagging, short_rewrite] and risk == low:
model = `gpt-5.6-luna`
elif task in [code_review, architecture_review, complex_debugging]:
model = `gpt-5.6-sol`
elif risk in [security, legal, finance, refund_high_value]:
model = `gpt-5.6-sol`
else:
model = `gpt-5.6-terra`
여기에 fallback을 붙인다. Luna 응답이 JSON schema 검증에 실패하거나 confidence가 낮으면 Terra로 재시도한다. Terra가 답변 거부, 형식 오류, 낮은 self-check 점수를 내면 Sol로 올린다. Sol에서도 실패하면 사람 검토로 넘긴다.
중요한 점은 ‘강한 모델로 재시도’가 무한 루프가 되면 안 된다는 것이다. 요청당 최대 재시도 횟수, 총 비용 상한, timeout을 둬야 한다. 운영 환경에서는 모델 품질보다 예측 가능한 비용이 더 중요할 때가 많다.
프롬프트 캐시와 Responses API도 같이 봐야 한다
OpenAI의 Responses API 문서에는 prompt_cache_breakpoint처럼 재사용 가능한 프롬프트 prefix의 경계를 명시하는 옵션이 포함되어 있다. 긴 시스템 프롬프트, 정책 문서, 도구 설명을 반복해서 보내는 서비스라면 모델 선택만큼 캐시 전략이 중요하다.
예를 들어 고객지원 봇이 매 요청마다 다음 내용을 포함한다고 하자.
- 브랜드 정책
- 환불 규칙
- 답변 톤 가이드
- 금지 답변 목록
- 도구 사용 설명
이 고정 prefix는 캐시 후보가 된다. 사용자 질문과 검색 결과는 매번 바뀌므로 캐시 뒤에 붙인다. 모델 라우팅과 캐시를 같이 설계하면 Terra를 쓰더라도 비용이 크게 줄고, Sol을 써야 하는 고위험 요청에서도 반복 비용을 낮출 수 있다.
품질 측정 없이는 라우팅이 망가진다
모델 라우팅을 도입하면 반드시 평가셋이 필요하다. 최소한 다음 데이터를 쌓아야 한다.
- 요청 ID
- 작업 유형
- 선택한 모델
- 입력 토큰, 출력 토큰
- latency p50/p95
- schema 검증 실패 여부
- 사용자 재질문 여부
- 사람 수정 여부
- fallback 발생 여부
- 최종 비용
이 로그가 없으면 ‘Luna로 내려도 되는 작업’을 찾을 수 없다. 반대로 ‘Sol로 올려야 하는 작업’도 감으로만 판단하게 된다. 100개 정도의 대표 요청으로 골든셋을 만들고, 세 모델에 모두 돌려서 품질·비용·지연 시간을 비교하는 것부터 시작하자.
평가 기준은 작업별로 달라야 한다. 요약은 누락률과 hallucination을 보고, 코드 수정은 테스트 통과율과 diff 크기를 보고, 고객지원 답변은 정책 위반과 재문의율을 봐야 한다. 모든 작업을 하나의 ‘좋음/나쁨’ 점수로 합치면 라우터가 잘못 학습된다.
비용 절감은 모델 다운그레이드만이 아니다
비용 최적화를 모델 교체로만 생각하면 품질을 잃기 쉽다. 실제로는 네 가지 레버를 함께 써야 한다.
- 모델 라우팅: 작업별로 Sol, Terra, Luna를 나눈다.
- 프롬프트 캐시: 고정 prefix를 재사용한다.
- 출력 길이 제한: 필요 없는 장문 생성을 막는다.
- 사전 필터링: LLM이 필요 없는 요청은 규칙이나 검색으로 처리한다.
예를 들어 문의 분류는 Luna로 처리하고, FAQ에 정확히 매칭되는 질문은 LLM을 호출하지 않는다. 애매한 문의만 Terra로 답변을 만들고, 환불·보안·계정 탈취 같은 고위험 케이스만 Sol로 검토한다. 이런 구조가 단순히 모든 요청을 Terra로 보내는 방식보다 안정적이다.
적용 체크리스트
GPT-5.6 계열을 제품에 붙일 때는 아래 순서로 진행하자.
- 요청을 작업 유형별로 5~10개 그룹으로 나눴는가
- 각 그룹의 실패 비용과 자동 검증 가능성을 적었는가
- 기본 모델을 Terra로 두고, 상향·하향 조건을 정의했는가
- Luna 실패 시 Terra, Terra 실패 시 Sol로 올리는 fallback 규칙이 있는가
- 요청당 재시도 횟수와 비용 상한을 설정했는가
- 고정 시스템 프롬프트와 정책 문서를 캐시 후보로 분리했는가
- 모델별 latency, 비용, schema 실패율을 로그로 남기는가
- 100개 이상의 대표 요청으로 회귀 평가를 돌릴 수 있는가
좋은 모델 선택은 한 번의 결정이 아니라 운영 루프다. 처음에는 Terra 중심으로 안전하게 시작하고, 실제 로그를 보며 Luna로 내릴 작업과 Sol로 올릴 작업을 찾아야 한다. 모델명이 바뀌어도 이 원칙은 유지된다. 비용은 낮추되, 실패 비용이 큰 지점에는 강한 모델을 남겨 두는 것이 실무적인 GPT-5.6 운영법이다.