# 코덱스 구독의 토큰 속도

구독 사용량을 고려하면 Astra를 주력으로 쓰기는 어렵다. 그런데 `gpt-6.1-sol`도 예상보다 느리게 느껴졌다. 그래서 같은 작업을 여러 모델에 맡기고, 세션 로그를 바탕으로 토큰 생성 속도를 비교해 봤다.

### 측정 방법

모든 모델에 아래 프롬프트를 그대로 사용했다. 도구 사용과 파일 작업을 막고, 분산 작업 큐의 실패 상황에 관한 테스트 사례 120개를 영어로 작성하도록 했다.

> This is a controlled model-speed benchmark. Do not use any tools, do not inspect the repository, and do not modify files. Produce exactly 120 numbered items describing distinct failure-mode test cases for a distributed job queue. Each item must be exactly one English sentence of 18 to 28 words and must include: the triggering condition, the expected behavior, and one observable assertion. Do not add an introduction, conclusion, headings, or any text outside the 120 numbered items.

여기서 **TTFT**는 첫 토큰까지 걸린 시간이다. **표시 생성 속도**는 다음 식으로 계산했다.

`(output_tokens − reasoning_output_tokens) ÷ (완료시간 − TTFT)`

따라서 표의 tok/s는 요청부터 완료까지의 전체 처리량이 아니라, 첫 토큰 이후 사용자에게 표시되는 토큰의 평균 생성 속도다.

### Sol · medium

| 모델 | TTFT | 완료시간 | 표시 토큰 | 표시 생성 속도 |
| --- | --- | --- | --- | --- |
| `gpt-6-sol` | 6.759초 | 41.635초 | 3,199 | **91.72 tok/s** |
| `gpt-5.6-sol` | **6.199초** | 42.811초 | 3,162 | 86.37 tok/s |
| `gpt-6.1-sol` | 7.038초 | 80.531초 | 3,236 | 44.03 tok/s |

이번 `medium` 실행에서 `gpt-6-sol`의 표시 생성 속도는 `gpt-6.1-sol`의 약 2.08배였다. 첫 토큰은 `gpt-5.6-sol`이 가장 빨랐지만, 전체 작업을 가장 먼저 마친 모델은 `gpt-6-sol`이었다. 처음에 `gpt-6.1-sol`을 느리게 느꼈던 것과도 맞닿는 결과다. 다만 이 수치는 이번 작업의 한 번의 실행에서 나온 값이다.

### Sol · high

| 모델 | TTFT | 완료시간 | 표시 토큰 | 표시 생성 속도 |
| --- | --- | --- | --- | --- |
| `gpt-6-sol` | 8.116초 | 42.870초 | 3,233 | **93.03 tok/s** |
| `gpt-5.6-sol` | **7.063초** | **41.916초** | 3,094 | 88.77 tok/s |
| `gpt-6.1-sol` | 9.675초 | 82.776초 | 3,330 | 45.55 tok/s |

`high`에서도 표시 생성 속도 순서는 같았다. `gpt-6-sol`이 가장 빠르게 토큰을 생성했고, `gpt-6.1-sol`은 약 절반 수준이었다. 반면 완료시간은 `gpt-5.6-sol`이 41.916초로 가장 짧았다. 생성 속도와 작업 완료시간을 구분해서 볼 필요가 있는 대목이다.

각 Sol 모델의 표시 생성 속도는 `medium`에서 `high`로 바꿔도 이번 측정에서는 큰 차이가 없었다. TTFT는 세 모델 모두 늘었다. 다만 `gpt-5.6-sol high` 실행에는 입력 캐시가 적용되지 않았으므로, 설정에 따른 TTFT 변화만 따로 떼어 해석하기는 어렵다.

### Luna · xhigh

| 모델 | TTFT | 완료시간 | 표시 토큰 | Reasoning 토큰 | 표시 생성 속도 |
| --- | --- | --- | --- | --- | --- |
| `gpt-5.6-luna` | **4.739초** | **37.084초** | 2,922 | 1,396 | **90.34 tok/s** |
| `gpt-6-luna` | 8.298초 | 63.097초 | 3,258 | 4,870 | 59.45 tok/s |

이번 `xhigh` 측정에서는 `gpt-5.6-luna`가 표시 생성 속도에서 약 1.52배 빨랐고, 완료시간도 짧았다. `gpt-6-luna`의 Reasoning 토큰은 4,870개로 `gpt-5.6-luna`의 1,396개보다 많았다. 두 모델의 출력 과정이 달랐다는 점을 보여주는 수치지만, 이 한 번의 측정만으로 완료시간 차이의 원인을 단정할 수는 없다.

`gpt-5.6-luna`의 첫 실행은 29.273초에 끝났으나 토큰 계산에 필요한 JSONL 로그가 생성되지 않았다. 위 표에는 로그를 확보한 단독 재실행 결과인 37.084초를 사용했다.

### 실험의 한계

각 설정은 단일 실행 결과다. 순간적인 서버 상태나 실행 조건에 따라 수치가 달라질 수 있으므로, 이 표를 모델의 고정된 속도로 받아들이기는 어렵다. 특히 Luna 표의 두 값은 `gpt-5.6-luna` 재실행 때문에 동일한 동시 실행 한 쌍의 결과가 아니다.

이번 프롬프트는 120개 항목을 길게 출력하는 작업이었다. 측정 결과는 그 작업에서의 응답 속도를 보여준다. 다른 길이와 종류의 작업에서도 순서가 같을지, 생성된 내용의 품질은 어떤지는 이 측정으로 판단하지 않았다.
