Login
Back to Blog
한국어Comparison

Claude Fable 5 vs GPT-5.5: max_tokens 오판이 모델 비교 결론을 바꾼 사례

Crazyrouter OpenAI-compatible API로 claude-fable-5와 gpt-5.5를 수학 추론, 물리 추론, Canvas 애니메이션 장문 코드 과제로 비교했다. 핵심은 max_tokens, finish_reason=length, completion_tokens, 브라우저 검증이 모델 평가 결론을 어떻게 바꾸는지다.

C
Crazyrouter Team
July 6, 2026 / 3 views
Share:
Claude Fable 5 vs GPT-5.5: max_tokens 오판이 모델 비교 결론을 바꾼 사례

Claude Fable 5 vs GPT-5.5: max_tokens 오판이 모델 비교 결론을 바꾼 사례#

먼저 결론부터 말하면, 이번 테스트는 “Claude Fable 5가 애니메이션을 못 만든다”는 사례가 아니었다. 원인은 원래 테스트에서 설정한 max_tokens가 너무 낮았기 때문에 생긴 오판이었다.

첫 번째 동일 조건 테스트에서 gpt-5.5는 완전한 HTML을 한 번에 출력했고 브라우저 실행 검증도 통과했다. 반면 claude-fable-5의 애니메이션 코드는 중간에서 잘렸고, 처음에는 장문 코드 생성 능력이 부족한 것처럼 보였다. 하지만 응답 메타데이터는 원인을 분명히 보여줬다.

text
finish_reason = length
completion_tokens = 3200
max_tokens = 3200

이는 출력 예산을 모두 사용했기 때문에 서버가 길이 제한으로 응답을 종료했다는 뜻이다. 이후 claude-fable-5max_tokens를 3200에서 8000으로 올려 재테스트하자, 완전한 HTML을 출력했고 finish_reason=stop으로 자연 종료되었으며 브라우저 검증도 통과했다.

이 글은 테스트 설계, 세 가지 문제, 첫 번째 오판, Claude Fable 5 재테스트 결과, 그리고 앞으로 장문 코드 모델 비교에서 반드시 기록해야 할 항목을 정리한다.

GPT-5.5 animation result

Last updated: 2026-07-06.

빠른 결론#

이번 결과는 단순한 승패표로 정리하기 어렵다.

영역결론
수학 추론claude-fable-5gpt-5.5 모두 정답
물리 종합 문제둘 다 정답, Claude는 에너지 손실 설명이 더 강했다
장문 애니메이션 코드, max_tokens=3200gpt-5.5는 완성, Claude는 잘림
Claude 재테스트, max_tokens=8000Claude도 완성했고 브라우저 검증 통과

정확한 결론은 다음과 같다.

text
낮은 출력 예산에서는 GPT-5.5가 더 안정적이었다.
Claude Fable 5는 능력 실패가 아니라 장문 코드 과제에 더 큰 출력 예산이 필요했다.

짧은 추론, 수학 풀이, 물리 설명에서는 이번 테스트만으로 두 모델의 정확성 차이를 크게 보기 어렵다. 그러나 완전한 페이지, 애니메이션, 도구, 긴 코드 파일을 한 번에 생성해야 한다면 max_tokens, completion_tokens, finish_reason, 실제 실행 검증을 함께 봐야 한다.

Crazyrouter에서 같은 방식의 OpenAI-compatible 요청을 재현할 수 있다.

text
https://crazyrouter.com/register?utm_source=crazyrouter_blog&utm_medium=article&utm_campaign=model_compare_series_20260706&utm_content=claude-fable-5-vs-gpt-55-max-tokens-animation-test-2026-ko__quick_answer

테스트 환경#

이번 테스트는 Crazyrouter의 OpenAI-compatible API로 진행했다.

text
Base URL: https://cn.crazyrouter.com/v1
Endpoint: POST /v1/chat/completions
Test date: 2026-07-06
Models:
- claude-fable-5
- gpt-5.5
temperature: 0.2

API endpoint에는 UTM 파라미터를 붙이면 안 된다. UTM은 회원가입 링크 같은 사람이 클릭하는 링크에만 사용한다.

최소 요청 예시는 다음과 같다.

bash
curl https://cn.crazyrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $CRAZYROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-fable-5",
    "messages": [
      {
        "role": "user",
        "content": "Toss a fair coin until HH appears for the first time. Compute the expected number of tosses and show the derivation."
      }
    ],
    "temperature": 0.2,
    "max_tokens": 3200
  }'

modelgpt-5.5로 바꾸면 같은 조건으로 비교할 수 있다.

왜 객관식만 묻지 않았나#

모델 비교를 객관식이나 짧은 문답으로만 하면 “둘 다 맞음”이라는 결과가 쉽게 나온다. API가 동작하는지 확인하는 데는 좋지만, 실제 업무에서 생기는 문제를 드러내기에는 약하다.

이번에는 세 가지 유형의 문제를 사용했다.

문제 ID유형검증 대상
MATH-003기대값 문제잘못된 확률 직관 대신 상태 방정식을 세우는지
PHYS-003물리 추론충돌 순간의 운동량 보존과 충돌 후 에너지 관계를 구분하는지
CODE-003-ANIM프론트엔드 애니메이션완전하고 실행 가능한 인터랙티브 장문 코드 산출물을 만들 수 있는지

앞의 두 문제는 추론 정확성을 본다. 세 번째 문제는 출력 길이, 구조 유지, 코드 완성도, 실제 실행 여부를 본다.

실제 운영에서 흔한 문제는 모델이 완전히 모른다는 것이 아니다. 더 자주 보이는 문제는 다음과 같다.

text
출력이 중간에서 잘림
이벤트 바인딩이 빠짐
closing tag가 빠짐
코드는 그럴듯하지만 브라우저에서 오류 발생
정적 검사는 통과하지만 Canvas가 움직이지 않음

문제 1: HH가 처음 나올 때까지 동전 던지기#

문제:

text
공정한 동전을 계속 던져 처음으로 연속 두 번 앞면 HH가 나올 때까지 기다린다.
1. 멈출 때까지 필요한 던지기 횟수의 기대값을 구하라.
2. 상태 방정식 또는 재귀식으로 유도하라.
3. 왜 답이 4가 아닌지 한 문장으로 설명하라.

표준 풀이는 두 상태를 정의한다.

text
E0: 현재 H 접두사가 없는 상태
E1: 직전 결과가 H이고 다음 H를 기다리는 상태

E0 = 1 + 1/2 E1 + 1/2 E0
E1 = 1 + 1/2 * 0 + 1/2 E0

풀면 E0 = 6

결과:

모델결과관찰
claude-fable-5정답상태 정의가 명확했고 실패 시 진행 상태가 초기화된다는 점을 잘 설명
gpt-5.5정답유도 과정이 더 자세했고 왜 4가 아닌지 설명이 더 완전

이 문제에서는 차이가 거의 없었다. 두 모델 모두 1 / (1/4) = 4라는 직관적 오류를 피했다.

문제 2: 총알, 나무토막, 용수철, 마찰#

문제 요약:

text
질량 m = 0.02 kg인 총알이 v = 300 m/s로 정지한 나무토막에 박힌다.
나무토막 질량 M = 1.98 kg, 용수철 상수 k = 800 N/m.
탁자의 운동 마찰 계수 μ = 0.10, g = 9.8 m/s^2.

구할 것:
1. 충돌 직후 공동 속도.
2. 용수철의 최대 압축량.
3. 어디서 운동량 보존을 쓰고, 어디서 에너지 관계를 쓰는지, 왜 전체 과정에 기계적 에너지 보존을 적용할 수 없는지 설명.

표준 계산:

text
충돌 순간:
mv = (M + m)V
V = 0.02 * 300 / 2.00 = 3.0 m/s

충돌 후 압축 단계:
1/2(M + m)V^2 = 1/2kx^2 + μ(M + m)gx
9 = 400x^2 + 1.96x
x ≈ 0.148 m

결과:

모델결과관찰
claude-fable-5정답충돌 전 운동에너지 900J, 충돌 후 9J라는 비교를 추가해 에너지 손실을 직관적으로 설명
gpt-5.5정답단계가 깔끔하고 운동량/에너지 사용 구간을 안정적으로 분리

이 문제도 두 모델 모두 정답이었다. 충돌 순간에는 운동량 보존을, 충돌 후 용수철 압축 구간에는 마찰 일을 포함한 에너지 관계를 사용했다.

문제 3: Canvas 애니메이션 생성#

이번 라운드에서 가장 중요한 정보는 세 번째 문제에서 나왔다.

요구사항은 단순한 JavaScript 조각이 아니라 완전한 단일 HTML 파일이었다.

text
800x500 canvas
중앙 별
최소 5개의 궤도 입자
requestAnimationFrame
반투명 궤적
일시정지/재개 버튼
리셋 버튼
속도 슬라이더
FPS와 속도 HUD
init / update / draw / animate 함수 포함
외부 라이브러리, 이미지, 네트워크 리소스 사용 금지

이 과제는 네 가지를 동시에 확인한다.

능력확인 내용
장문 출력 완성도HTML, CSS, JS가 완전히 닫혔는지
제약 준수컨트롤, 함수명, Canvas 크기가 있는지
실행 가능성브라우저 콘솔 오류가 없는지
실제 애니메이션시간이 지난 뒤 Canvas 픽셀이 변하는지

첫 번째 결과: GPT-5.5는 완성, Claude는 잘림#

원래 동일 조건 테스트에서 두 모델 모두 max_tokens=3200을 사용했다.

gpt-5.5는 완전한 HTML을 출력했다.

text
finish_reason = stop
<!DOCTYPE html> 포함
</html> 포함
requestAnimationFrame 포함
init / update / draw / animate 포함
일시정지, 리셋, 속도 슬라이더 포함
canvas = 800x500

브라우저 검증:

text
콘솔 오류: 없음
canvas 크기: 800x500
컨트롤: 존재
700ms 후 changedPixels = 37512
hasAnimation = true

즉 정적인 그림이 아니라 실제로 움직이는 애니메이션이었다.

claude-fable-5도 방향은 맞았다. 800x500 canvas, 입자 설정, 궤도, 중앙 별, HUD, 컨트롤 스타일, init, update, draw 일부를 작성했다. 그러나 파일이 중간에서 멈췄다.

핵심 메타데이터:

text
max_tokens = 3200
finish_reason = length
completion_tokens = 3200
HTML was truncated
완전한 </script> 없음
</body> 없음
</html> 없음

“실행 가능한 HTML 애니메이션”을 요구한 과제에서는 이 결과를 완료로 볼 수 없다.

왜 첫 해석이 틀렸나#

출력 파일만 보면 다음과 같은 잘못된 결론을 내리기 쉽다.

text
GPT-5.5는 애니메이션을 만들 수 있고 Claude Fable 5는 만들 수 없다.

하지만 finish_reason=length가 해석을 바꾼다.

Chat Completions에서 finish_reason=length는 보통 설정된 길이 제한에 도달했다는 뜻이다. 여기에 다음 값이 함께 있었다.

text
completion_tokens = 3200
max_tokens = 3200

이 경우 응답이 자연스럽게 끝난 것이 아니라 출력 예산을 모두 사용한 것으로 보는 것이 합리적이다.

따라서 첫 실패 결과를 곧바로 “모델 능력 부족”으로 해석하면 안 된다. 더 적절한 가설은 해당 HTML이 3200 output tokens보다 길었다는 것이다.

Claude Fable 5 재테스트: max_tokens를 8000으로 상향#

이를 확인하기 위해 같은 애니메이션 과제로 claude-fable-5를 재테스트했다.

테스트max_tokensfinish_reasoncompletion_tokensHTML 닫힘
동일 예산 재테스트3200length3200아니오
출력 예산 상향8000stop3975

핵심은 다음과 같다.

text
max_tokens=3200에서는 Claude가 다시 출력 예산을 모두 사용하고 잘렸다.
max_tokens=8000에서는 3975 completion tokens에서 자연 종료했다.

즉 이 애니메이션 과제는 3200 output tokens보다 조금 더 필요했지만, 8000에 가까운 수준은 아니었다. 원래 설정이 너무 빡빡했다.

Claude Fable 5의 8000 버전도 브라우저 검증을 통과했다.

text
콘솔 오류: 없음
canvas 크기: 800x500
일시정지 버튼: 존재
리셋 버튼: 존재
속도 슬라이더: 존재
700ms 후 changedPixels = 15795
hasAnimation = true

수정된 결론은 다음과 같다.

text
Claude Fable 5가 애니메이션 과제를 능력적으로 실패한 것이 아니다.
max_tokens=3200 안에 전체 답변을 담지 못했으며, max_tokens=8000에서는 완성하고 실행됐다.

Claude Fable 5 animation result

전체 결과표#

지표결과
테스트 모델claude-fable-5, gpt-5.5
EndpointPOST /v1/chat/completions
원래 테스트 요청 수6
HTTP 2006/6
returned_modelrequested_model 일치6/6
원래 테스트에서 finish_reason=stop5/6
원래 테스트의 잘림claude-fable-5 애니메이션 과제
Claude 재테스트max_tokens=8000에서 완성

응답 시간:

과제claude-fable-5gpt-5.5
MATH-00317.87s28.18s
PHYS-00323.21s43.05s
CODE-003-ANIM40.84s79.22s

이번 실행에서는 Claude가 더 빨랐다. 하지만 장문 코드 과제에서는 속도만 보면 안 된다. 빠르게 잘린 응답은 완성된 산출물이 아니다.

수동 점수#

과제claude-fable-5gpt-5.5설명
MATH-0035/55/5둘 다 기대값 6을 정확히 도출
PHYS-0035/55/5둘 다 운동량과 에너지 관계를 올바르게 사용
CODE-003-ANIM, 원래 max_tokens=32002/55/5Claude는 잘림, GPT는 완성 및 브라우저 검증 통과
CODE-003-ANIM, Claude max_tokens=8000 재테스트5/5-Claude도 완성 및 브라우저 검증 통과

이 점수표는 두 질문을 분리한다.

text
같은 호출 제약에서 모델은 어떻게 동작했는가?
충분한 출력 예산을 주면 모델은 무엇을 할 수 있는가?

첫 번째 질문에서는 max_tokens=3200 조건에서 GPT-5.5가 더 안정적이었다. 두 번째 질문에서는 Claude Fable 5가 애니메이션 능력에서 실패한 것이 아니었다.

실제 모델 선택에 주는 시사점#

다음과 같은 작업에서는 이번 테스트만으로 큰 정확성 차이를 보기 어렵다.

text
수학 유도
물리 설명
짧은 코드
구조화된 설명
짧은 JSON

반면 다음 작업에서는 눈에 보이는 답변만 비교하면 안 된다.

text
완전한 HTML 생성
긴 JavaScript 파일
인터랙티브 프론트엔드 데모
도구 페이지 전체 생성
긴 설정 파일 또는 테스트 코드

다음 항목을 함께 기록해야 한다.

필드중요한 이유
max_tokens이번 요청에서 허용한 최대 출력량
completion_tokens출력이 제한에 가까웠는지 확인
finish_reason자연 종료인지 잘림인지 판단
content_chars출력 분량을 대략적으로 파악
정적 검사함수, 컨트롤, 태그, 필수 필드 존재 여부
실행 검증브라우저, 콘솔, 픽셀 변화 등 실제 실행 여부

이 필드가 없으면 장문 코드 비교는 쉽게 왜곡된다.

권장 기록 형식#

장문 코드 모델 비교에서는 다음과 같은 메타데이터를 저장하는 것이 좋다.

json
{
  "task_id": "CODE-003-ANIM",
  "model": "claude-fable-5",
  "endpoint": "/v1/chat/completions",
  "max_tokens": 8000,
  "temperature": 0.2,
  "http_status": 200,
  "requested_model": "claude-fable-5",
  "returned_model": "claude-fable-5",
  "finish_reason": "stop",
  "completion_tokens": 3975,
  "validation": {
    "console_errors": 0,
    "canvas": "800x500",
    "changed_pixels_after_700ms": 15795,
    "has_animation": true
  }
}

결론은 모델 출력 텍스트만이 아니라 이러한 메타데이터와 실행 증거를 함께 봐야 한다.

Crazyrouter OpenAI-compatible API로 유사한 테스트를 실행할 수 있다.

text
https://crazyrouter.com/register?utm_source=crazyrouter_blog&utm_medium=article&utm_campaign=model_compare_series_20260706&utm_content=claude-fable-5-vs-gpt-55-max-tokens-animation-test-2026-ko__api_example

관련 비교 글#

이 글은 모델 비교 시리즈의 방법론 보정에 가깝다.

관련 Crazyrouter 글:

공통 원칙은 단순하다. 모델 비교는 홍보 문구나 HTTP 200만 보고 판단하면 안 된다. 실제 payload, 실제 응답, 실패 메타데이터, 실행 검증을 함께 봐야 한다.

FAQ#

이번 결과가 GPT-5.5가 항상 Claude Fable 5보다 강하다는 뜻인가?#

아니다. 이번 결과는 원래 애니메이션 과제의 max_tokens=3200 조건에서 GPT-5.5가 더 안정적이었다는 뜻이다. Claude Fable 5는 출력 예산을 늘리자 같은 과제를 완성했다.

finish_reason=length가 왜 중요한가?#

응답이 자연 종료된 것이 아니라 길이 제한에 걸렸다는 신호이기 때문이다. 장문 코드에서는 closing tag, 이벤트 바인딩, 함수 끝부분이 빠질 수 있다.

completion_tokens만 보면 안 되는 이유는?#

completion_tokens=3200만으로는 부족하다. max_tokens=3200과 같을 때 출력 예산을 모두 사용했다는 의미가 된다.

왜 브라우저 검증이 필요한가?#

코드 생성 과제는 텍스트 검사만으로 부족하다. 브라우저 검증은 콘솔 오류, Canvas 크기, 컨트롤 존재 여부, 실제 픽셀 변화까지 확인한다.

장문 코드에서 max_tokens는 얼마나 커야 하나?#

고정 답은 없다. 다만 HTML, CSS, JavaScript를 모두 포함한 페이지는 너무 낮은 출력 예산을 쓰면 위험하다. finish_reason=length가 보이면 먼저 예산을 올려 재테스트해야 한다.

이 테스트로 production routing을 결정할 수 있나?#

참고는 가능하지만 단독 기준으로는 부족하다. 비용, 지연 시간, 컨텍스트 길이, 구조화 출력 안정성, 실패율, 재시도 전략, 업무 유형을 함께 봐야 한다.

최종 결론#

이번 비교의 핵심은 한 모델이 영구적으로 다른 모델을 이겼다는 것이 아니다. 핵심은 첫 결론이 너무 빠른 판단이었다는 점이다.

원래 테스트:

text
GPT-5.5: max_tokens=3200, 완전한 HTML, 브라우저 검증 통과.
Claude Fable 5: max_tokens=3200, finish_reason=length, completion_tokens=3200, 출력 잘림.

재테스트:

text
Claude Fable 5: max_tokens=8000, finish_reason=stop, completion_tokens=3975, 완전한 HTML, 브라우저 검증 통과.

최종 결론:

text
낮은 출력 예산에서는 GPT-5.5가 더 안정적이었다.
충분한 출력 예산에서는 Claude Fable 5도 애니메이션 과제를 완성할 수 있었다.
장문 코드 모델 비교에는 max_tokens, completion_tokens, finish_reason, 실행 검증이 반드시 필요하다.

앞으로 모델 비교에서는 이 네 가지 항목을 필수 증거로 기록해야 한다. 그렇지 않으면 출력 예산 문제를 모델 능력 문제로 잘못 기록할 수 있다.

Implementation Guides

Topics

Comparison

Related Posts

2026년 개발자를 위한 최고의 AI API 게이트웨이: 9개 플랫폼 테스트Comparison

2026년 개발자를 위한 최고의 AI API 게이트웨이: 9개 플랫폼 테스트

모델 커버리지, 가격, 멀티모달 지원 및 개발자 경험을 위해 9개의 AI API 게이트웨이를 테스트했습니다.

Mar 27
Claude Opus 4.6 vs 4.7 vs 4.8: Crazyrouter 실 API 테스트Claude

Claude Opus 4.6 vs 4.7 vs 4.8: Crazyrouter 실 API 테스트

한국어 결론: Opus 4.7은 통과율, Opus 4.8은 평균 지연시간, Opus 4.6은 기존 안정 프롬프트에 적합했습니다.

Jun 3
Claude Code로 월드컵 배당 변동 모니터 만들기: claude-fable-5 실전 JSON 분석Tutorial

Claude Code로 월드컵 배당 변동 모니터 만들기: claude-fable-5 실전 JSON 분석

Claude Code 프로젝트 예제로 월드컵 배당 변동 모니터를 만들고, Crazyrouter를 통해 claude-fable-5를 호출해 검증 가능한 JSON 분석을 생성하는 한국어 개발자 튜토리얼입니다. 베팅 조언이 아니라 데이터 파이프라인 설계 예제입니다.

Jun 13
Claude Code와 CrazyRouter 연결 가이드: Base URL, 인증, 모델 설정, 문제 해결Claude

Claude Code와 CrazyRouter 연결 가이드: Base URL, 인증, 모델 설정, 문제 해결

Claude Code를 CrazyRouter로 연결하는 한국어 가이드입니다. base_url, API Key, 모델 설정, 스모크 테스트, 오류 해결, fallback을 다룹니다.

Jul 5
2026년 최고의 AI 음악 생성기: Suno vs Udio vs Stable Audio 비교Tutorial

2026년 최고의 AI 음악 생성기: Suno vs Udio vs Stable Audio 비교

올바른 AI 음악 생성기를 고르는 일은 부담스러울 수 있습니다. 이 가이드는 Suno AI, Udio, Stable Audio를 포함해 2026년에 사용할 수 있는 상위 AI 음악 도구들을 실제 가격과 API 접근 정보와 함께 비교합니다.

Jan 23
토큰 vs 바이트: AI가 실제로 텍스트를 처리하는 방식 완벽 해설Tutorial

토큰 vs 바이트: AI가 실제로 텍스트를 처리하는 방식 완벽 해설

"바이트, 문자, 단어, 토큰의 차이를 정확히 이해하세요. BPE 토크나이저의 작동 원리, 한국어가 영어보다 비싼 이유, 토큰 비용을 최적화하는 방법까지 상세히 설명합니다."

Mar 30