GPT-6 Astra·Sol·Luna로 문서 Q&A 봇을 돌리면 한 달에 얼마인가
- implicit(기본값)4,350$
- explicit + 캐시 지점750$
Luna로 시작해 캐시 지점을 단다
직원이 "연차를 반일 단위로 쓸 수 있나요?"라고 물으면 사내 규정 문서 100K 토큰을 통째로 붙여 GPT-6에 묻는 봇이 질문을 하루 500건 받는다고 잡습니다. 프롬프트 캐시는 앞서 보낸 요청과 앞부분이 똑같으면 그 부분을 훨씬 싼 단가로 받는 할인입니다.
캐시가 맞으면 한 달에 Luna $45, 6.1 Sol $750입니다. 기본값 implicit 모드는 캐시가 빗나가, 캐시를 안 쓸 때보다도 비쌉니다.
규정 Q&A처럼 답이 붙인 문서 안에 있고 건수가 많은 일은 양 많고 범위가 좁은 일에 맞춘 Luna로 시작합니다. 직원들이 실제로 물은 질문 몇십 개를 Luna와 6.1 Sol에 똑같이 던져, Luna가 틀리는 질문이 규정 여러 곳을 엮어 판단해야 하는 것들이면 6.1 Sol로 올립니다. Astra는 6.1 Sol로도 안 풀리는 추론에만 씁니다.
어느 모델이든 바뀌지 않는 문서를 맨 앞에, 요청마다 바뀌는 질문을 뒤에 둡니다. explicit 모드로 두고 문서 블록 끝에 prompt_cache_breakpoint를 달면 캐시 지점이 문서 끝에 생기고, 그 뒤의 질문은 캐시에 쓰지 않고 보통 입력 단가로 냅니다.
from openai import OpenAIclient = OpenAI()rules = open("rules.md", encoding="utf-8").read() # 약 100K 토큰resp = client.responses.create( model="gpt-6.1-sol", prompt_cache_options={"mode": "explicit"}, input=[ {"role": "developer", "content": [{ "type": "input_text", "text": rules, "prompt_cache_breakpoint": {"mode": "explicit"}, }]}, {"role": "user", "content": "연차를 반일 단위로 쓸 수 있나요?"}, ],)캐시가 맞는지는 응답의 usage로 봅니다. 맞게 짠 봇은 둘째 요청부터 cached_tokens가 문서 크기만큼 찍힙니다. cache_write_tokens가 요청마다 100K 가까이 찍히면 캐시 지점이 질문 뒤에 있습니다.
지금 gpt-6-sol을 쓰고 있다면
gpt-6-sol은 캐시 읽기가 $0.20이라 같은 봇이 캐시가 맞아도 한 달 $900입니다. 6.1 Sol로 옮길 때는 effort none을 받지 않으니 low로 바꾸고, temperature·top_p·top_logprobs를 뺍니다.
요청마다 실제 비용을 로그로 남기려면
input_tokens에서 cached_tokens와 cache_write_tokens를 빼면 보통 입력이 남습니다. output_tokens에는 reasoning 토큰이 들어 있습니다. 아래 값을 요청마다 로그에 남겨 더하면 봇의 실제 월 비용이 나옵니다.
# 100만 토큰당 달러: 입력, 캐시 읽기, 캐시 쓰기, 출력 (입력 272K 이하)PRICE = { "gpt-6-astra": (10.00, 1.00, 12.50, 50.00), "gpt-6.1-sol": (2.00, 0.10, 2.50, 10.00), "gpt-6-luna": (0.10, 0.01, 0.125, 0.50),}def request_cost(model, usage): p_in, p_read, p_write, p_out = PRICE[model] d = usage.input_tokens_details plain = usage.input_tokens - d.cached_tokens - d.cache_write_tokens inp = plain * p_in + d.cached_tokens * p_read + d.cache_write_tokens * p_write out = usage.output_tokens * p_out if usage.input_tokens > 272_000: # 긴 입력: 입력 2배, 출력 1.5배 inp, out = inp * 2, out * 1.5 return (inp + out) / 1_000_000print(request_cost("gpt-6.1-sol", resp.usage))비용 대부분은 문서 값이다
API의 GPT-6 권장 모델은 셋입니다. 아래 가격은 입력이 272K 이하인 요청의 100만 토큰당 달러입니다. 캐시 쓰기는 앞부분을 처음 캐시에 올릴 때의 단가이고, 캐시 읽기는 그 앞부분을 다시 보낼 때의 단가입니다.
| 모델 | 입력 | 캐시 읽기 | 캐시 쓰기 | 출력 |
|---|---|---|---|---|
| gpt-6-astra | $10 | $1 | $12.50 | $50 |
| gpt-6.1-sol | $2 | $0.10 | $2.50 | $10 |
| gpt-6-luna | $0.10 | $0.01 | $0.125 | $0.50 |
질문 하루 500건은 한 달 15,000건입니다. 답은 4K로 잡는데, 모델이 답하기 전에 생각하는 reasoning 토큰까지 합친 값입니다. reasoning 토큰도 출력 단가로 냅니다.
6.1 Sol이면 한 달 $3,600 가운데 $3,000이 문서 값입니다. 캐시가 맞으면 그 몫을 캐시 읽기 단가로 냅니다.
캐시가 맞으면 모델 사이 차이도 벌어집니다. 입력·출력 단가는 Astra가 6.1 Sol의 5배인데 캐시 읽기는 10배이기 때문입니다.
문서가 272K를 넘거나 요청이 30분 넘게 끊긴다면
입력이 272K를 넘는 요청은 입력·캐시가 2배, 출력이 1.5배인 단가를 씁니다. 위 그림의 마지막 칸이 이 경우입니다.
캐시는 마지막으로 쓰거나 읽은 뒤 30분 동안 남습니다. 아침 첫 요청처럼 30분 넘게 빈 뒤에는 문서를 다시 캐시에 씁니다. 하루 한 번이면 6.1 Sol 기준 한 달 $7.20이 더해집니다.
기본값은 캐시 지점을 질문 뒤에 둔다
캐시는 요청의 앞부분이 통째로 같아야 맞습니다. 날짜나 사용자 이름을 문서 앞에 넣으면 앞부분이 매번 달라집니다.
순서를 맞춰도 기본값 implicit 모드에서는 빗나갑니다. 캐시 지점을 마지막 메시지 끝, 곧 질문 뒤에 잡기 때문입니다. 요청마다 문서와 질문을 통째로 캐시에 쓰지만 질문이 다르니 그 캐시는 다시 읽히지 않습니다. 문서를 캐시 쓰기 단가로 내므로 6.1 Sol은 요청당 $0.29, 한 달 $4,350입니다.