{
  "schemaVersion": 1,
  "runId": "2026-10-13-korean-token-tax-v1",
  "kind": "api",
  "title": "한국어 토큰세: 같은 글을 Claude·GPT·Gemini가 몇 토큰으로 세는지",
  "protocol": {
    "id": "korean-token-tax",
    "version": "1",
    "label": "한국어 토큰세 측정",
    "round": 1,
    "path": "lab/protocols/korean-token-tax/v1/",
    "commit": null,
    "commitNote": "실행 때 프로토콜(lab/protocols/korean-token-tax/v1)이 아직 커밋 전이었어요. 대신 실행에 쓴 프로토콜 파일 6개를 bundle.zip의 protocol/에 그대로 넣고 SHA-256을 SHA256SUMS에 고정했어요. 저장소의 프로토콜과 같은지는 tests/lab-run.test.ts가 확인해요."
  },
  "startedAt": "2026-10-13T09:57:34.340Z",
  "finishedAt": "2026-10-13T09:57:43.134Z",
  "environment": {
    "machine": "Apple M4 Pro, Darwin 27.0.0",
    "runtime": "Node.js v22.19.0 · Python 3.14.2 · tiktoken 0.14.0",
    "notes": [
      "토큰을 세는 호출만 했어요. AI에게 답을 쓰게 하는 호출은 0번이에요(집계 API 35번, tiktoken은 내 컴퓨터에서 네트워크 없이 계산).",
      "글자 수는 파일 맨 끝 줄바꿈 하나를 뺀 글의 유니코드 코드 포인트 수예요. 띄어쓰기, 문장부호, 줄바꿈도 셌어요.",
      "메시지 틀 토큰(마침표 한 글자를 센 값 − 1): GPT 0, Gemini 0. results.json의 토큰은 이 값을 뺀 글 토큰이고, trials의 usage는 집계 결과 그대로예요.",
      "GPT 값은 OpenAI API가 아니라 tiktoken 0.14.0의 공개 인코딩 o200k_base(어휘 200,019개)로 센 글 토큰이에요. tiktoken 모델 표에 o200k_base로 있는 모델: gpt-5.6-luna, gpt-5.6-sol. 표에 없어 같은 인코딩이라고 가정한 모델: gpt-6-luna, gpt-6-sol, gpt-6.1-sol, gpt-6-astra.",
      "Claude 모델 5개(claude-fable-5-1, claude-sonnet-5, claude-sonnet-5-5, claude-opus-5, claude-opus-5-5)는 집계 API가 거절해 세지 못했어요(HTTP 400, 응답: \"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.\").",
      "응답은 본문만 bundle.zip의 raw/에 그대로 남겼어요. 요청 헤더와 API 키는 남기지 않았어요."
    ]
  },
  "subjects": [
    {
      "key": "claude-fable-5-1",
      "provider": "Anthropic",
      "modelId": "claude-fable-5-1",
      "displayName": "Claude Fable 5.1",
      "iconSlug": "claude",
      "access": "api",
      "settings": {
        "counter": "POST /v1/messages/count_tokens",
        "anthropicVersion": "2023-06-01",
        "request": "user 메시지 1개"
      }
    },
    {
      "key": "claude-sonnet-5",
      "provider": "Anthropic",
      "modelId": "claude-sonnet-5",
      "displayName": "Claude Sonnet 5",
      "iconSlug": "claude",
      "access": "api",
      "settings": {
        "counter": "POST /v1/messages/count_tokens",
        "anthropicVersion": "2023-06-01",
        "request": "user 메시지 1개"
      }
    },
    {
      "key": "claude-sonnet-5-5",
      "provider": "Anthropic",
      "modelId": "claude-sonnet-5-5",
      "displayName": "Claude Sonnet 5.5",
      "iconSlug": "claude",
      "access": "api",
      "settings": {
        "counter": "POST /v1/messages/count_tokens",
        "anthropicVersion": "2023-06-01",
        "request": "user 메시지 1개"
      }
    },
    {
      "key": "claude-opus-5",
      "provider": "Anthropic",
      "modelId": "claude-opus-5",
      "displayName": "Claude Opus 5",
      "iconSlug": "claude",
      "access": "api",
      "settings": {
        "counter": "POST /v1/messages/count_tokens",
        "anthropicVersion": "2023-06-01",
        "request": "user 메시지 1개"
      }
    },
    {
      "key": "claude-opus-5-5",
      "provider": "Anthropic",
      "modelId": "claude-opus-5-5",
      "displayName": "Claude Opus 5.5",
      "iconSlug": "claude",
      "access": "api",
      "settings": {
        "counter": "POST /v1/messages/count_tokens",
        "anthropicVersion": "2023-06-01",
        "request": "user 메시지 1개"
      }
    },
    {
      "key": "gpt-5.6-luna",
      "provider": "OpenAI",
      "modelId": "gpt-5.6-luna",
      "displayName": "GPT-5.6 Luna",
      "iconSlug": "openai",
      "access": "local",
      "settings": {
        "counter": "tiktoken 0.14.0",
        "encoding": "o200k_base",
        "tiktokenModelMap": "o200k_base"
      }
    },
    {
      "key": "gpt-5.6-sol",
      "provider": "OpenAI",
      "modelId": "gpt-5.6-sol",
      "displayName": "GPT-5.6 Sol",
      "iconSlug": "openai",
      "access": "local",
      "settings": {
        "counter": "tiktoken 0.14.0",
        "encoding": "o200k_base",
        "tiktokenModelMap": "o200k_base"
      }
    },
    {
      "key": "gpt-6-luna",
      "provider": "OpenAI",
      "modelId": "gpt-6-luna",
      "displayName": "GPT-6 Luna",
      "iconSlug": "openai",
      "access": "local",
      "settings": {
        "counter": "tiktoken 0.14.0",
        "encoding": "o200k_base",
        "tiktokenModelMap": "없음(같은 인코딩으로 가정)"
      }
    },
    {
      "key": "gpt-6-sol",
      "provider": "OpenAI",
      "modelId": "gpt-6-sol",
      "displayName": "GPT-6 Sol",
      "iconSlug": "openai",
      "access": "local",
      "settings": {
        "counter": "tiktoken 0.14.0",
        "encoding": "o200k_base",
        "tiktokenModelMap": "없음(같은 인코딩으로 가정)"
      }
    },
    {
      "key": "gpt-6.1-sol",
      "provider": "OpenAI",
      "modelId": "gpt-6.1-sol",
      "displayName": "GPT-6.1 Sol",
      "iconSlug": "openai",
      "access": "local",
      "settings": {
        "counter": "tiktoken 0.14.0",
        "encoding": "o200k_base",
        "tiktokenModelMap": "없음(같은 인코딩으로 가정)"
      }
    },
    {
      "key": "gpt-6-astra",
      "provider": "OpenAI",
      "modelId": "gpt-6-astra",
      "displayName": "GPT-6 Astra",
      "iconSlug": "openai",
      "access": "local",
      "settings": {
        "counter": "tiktoken 0.14.0",
        "encoding": "o200k_base",
        "tiktokenModelMap": "없음(같은 인코딩으로 가정)"
      }
    },
    {
      "key": "gemini-3.8-flash",
      "provider": "Google",
      "modelId": "gemini-3.8-flash",
      "displayName": "Gemini 3.8 Flash",
      "iconSlug": "gemini",
      "access": "api",
      "settings": {
        "counter": "POST /v1beta/models/{model}:countTokens",
        "request": "contents 1개, role 없음"
      }
    },
    {
      "key": "gemini-3.5-flash-lite",
      "provider": "Google",
      "modelId": "gemini-3.5-flash-lite",
      "displayName": "Gemini 3.5 Flash-Lite",
      "iconSlug": "gemini",
      "access": "api",
      "settings": {
        "counter": "POST /v1beta/models/{model}:countTokens",
        "request": "contents 1개, role 없음"
      }
    }
  ],
  "conditions": [
    {
      "key": "news-ko",
      "label": "뉴스 문단(한국어)",
      "inputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/protocol/texts/news-ko.txt",
      "inputChars": 346
    },
    {
      "key": "email-ko",
      "label": "정중한 이메일(한국어)",
      "inputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/protocol/texts/email-ko.txt",
      "inputChars": 282
    },
    {
      "key": "code-ko",
      "label": "한국어 주석 코드",
      "inputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/protocol/texts/code-ko.txt",
      "inputChars": 525
    },
    {
      "key": "news-en",
      "label": "뉴스 문단(영어 대조문)",
      "inputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/protocol/texts/news-en.txt",
      "inputChars": 815
    },
    {
      "key": "frame-probe",
      "label": "메시지 틀 측정용 마침표 한 글자",
      "inputChars": 1
    }
  ],
  "trials": [
    {
      "subjectKey": "claude-fable-5-1",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-fable-5-1/news-ko.json",
      "finish": "error",
      "latencyMs": 517,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-fable-5-1",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-fable-5-1/email-ko.json",
      "finish": "error",
      "latencyMs": 249,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-fable-5-1",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-fable-5-1/code-ko.json",
      "finish": "error",
      "latencyMs": 410,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-fable-5-1",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-fable-5-1/news-en.json",
      "finish": "error",
      "latencyMs": 517,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-fable-5-1",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-fable-5-1/frame-probe.json",
      "finish": "error",
      "latencyMs": 292,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-sonnet-5",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-sonnet-5/news-ko.json",
      "finish": "error",
      "latencyMs": 246,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-sonnet-5",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-sonnet-5/email-ko.json",
      "finish": "error",
      "latencyMs": 262,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-sonnet-5",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-sonnet-5/code-ko.json",
      "finish": "error",
      "latencyMs": 284,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-sonnet-5",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-sonnet-5/news-en.json",
      "finish": "error",
      "latencyMs": 250,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-sonnet-5",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-sonnet-5/frame-probe.json",
      "finish": "error",
      "latencyMs": 256,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-sonnet-5-5",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-sonnet-5-5/news-ko.json",
      "finish": "error",
      "latencyMs": 291,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-sonnet-5-5",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-sonnet-5-5/email-ko.json",
      "finish": "error",
      "latencyMs": 279,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-sonnet-5-5",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-sonnet-5-5/code-ko.json",
      "finish": "error",
      "latencyMs": 266,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-sonnet-5-5",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-sonnet-5-5/news-en.json",
      "finish": "error",
      "latencyMs": 247,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-sonnet-5-5",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-sonnet-5-5/frame-probe.json",
      "finish": "error",
      "latencyMs": 265,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-opus-5",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-opus-5/news-ko.json",
      "finish": "error",
      "latencyMs": 342,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-opus-5",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-opus-5/email-ko.json",
      "finish": "error",
      "latencyMs": 260,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-opus-5",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-opus-5/code-ko.json",
      "finish": "error",
      "latencyMs": 292,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-opus-5",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-opus-5/news-en.json",
      "finish": "error",
      "latencyMs": 345,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-opus-5",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-opus-5/frame-probe.json",
      "finish": "error",
      "latencyMs": 268,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-opus-5-5",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-opus-5-5/news-ko.json",
      "finish": "error",
      "latencyMs": 282,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-opus-5-5",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-opus-5-5/email-ko.json",
      "finish": "error",
      "latencyMs": 264,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-opus-5-5",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-opus-5-5/code-ko.json",
      "finish": "error",
      "latencyMs": 278,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-opus-5-5",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-opus-5-5/news-en.json",
      "finish": "error",
      "latencyMs": 249,
      "costUsd": 0
    },
    {
      "subjectKey": "claude-opus-5-5",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/anthropic/claude-opus-5-5/frame-probe.json",
      "finish": "error",
      "latencyMs": 293,
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-5.6-luna",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/news-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 203,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-5.6-luna",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/email-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 158,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-5.6-luna",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/code-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 191,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-5.6-luna",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/news-en.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 176,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-5.6-luna",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/frame-probe.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 1,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-5.6-sol",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/news-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 203,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-5.6-sol",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/email-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 158,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-5.6-sol",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/code-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 191,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-5.6-sol",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/news-en.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 176,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-5.6-sol",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/frame-probe.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 1,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-luna",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/news-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 203,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-luna",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/email-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 158,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-luna",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/code-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 191,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-luna",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/news-en.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 176,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-luna",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/frame-probe.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 1,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-sol",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/news-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 203,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-sol",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/email-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 158,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-sol",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/code-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 191,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-sol",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/news-en.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 176,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-sol",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/frame-probe.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 1,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6.1-sol",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/news-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 203,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6.1-sol",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/email-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 158,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6.1-sol",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/code-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 191,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6.1-sol",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/news-en.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 176,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6.1-sol",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/frame-probe.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 1,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-astra",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/news-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 203,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-astra",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/email-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 158,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-astra",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/code-ko.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 191,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-astra",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/news-en.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 176,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gpt-6-astra",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/tiktoken-o200k_base/frame-probe.json",
      "finish": "stop",
      "usage": {
        "inputTokens": 1,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gemini-3.8-flash",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/gemini/gemini-3.8-flash/news-ko.json",
      "finish": "stop",
      "latencyMs": 165,
      "usage": {
        "inputTokens": 192,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gemini-3.8-flash",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/gemini/gemini-3.8-flash/email-ko.json",
      "finish": "stop",
      "latencyMs": 87,
      "usage": {
        "inputTokens": 151,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gemini-3.8-flash",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/gemini/gemini-3.8-flash/code-ko.json",
      "finish": "stop",
      "latencyMs": 102,
      "usage": {
        "inputTokens": 213,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gemini-3.8-flash",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/gemini/gemini-3.8-flash/news-en.json",
      "finish": "stop",
      "latencyMs": 113,
      "usage": {
        "inputTokens": 187,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gemini-3.8-flash",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/gemini/gemini-3.8-flash/frame-probe.json",
      "finish": "stop",
      "latencyMs": 99,
      "usage": {
        "inputTokens": 1,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gemini-3.5-flash-lite",
      "taskId": "count-tokens",
      "condition": "news-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/gemini/gemini-3.5-flash-lite/news-ko.json",
      "finish": "stop",
      "latencyMs": 102,
      "usage": {
        "inputTokens": 192,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gemini-3.5-flash-lite",
      "taskId": "count-tokens",
      "condition": "email-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/gemini/gemini-3.5-flash-lite/email-ko.json",
      "finish": "stop",
      "latencyMs": 88,
      "usage": {
        "inputTokens": 151,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gemini-3.5-flash-lite",
      "taskId": "count-tokens",
      "condition": "code-ko",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/gemini/gemini-3.5-flash-lite/code-ko.json",
      "finish": "stop",
      "latencyMs": 86,
      "usage": {
        "inputTokens": 213,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gemini-3.5-flash-lite",
      "taskId": "count-tokens",
      "condition": "news-en",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/gemini/gemini-3.5-flash-lite/news-en.json",
      "finish": "stop",
      "latencyMs": 148,
      "usage": {
        "inputTokens": 187,
        "outputTokens": 0
      },
      "costUsd": 0
    },
    {
      "subjectKey": "gemini-3.5-flash-lite",
      "taskId": "count-tokens",
      "condition": "frame-probe",
      "attempt": 1,
      "outputPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/raw/gemini/gemini-3.5-flash-lite/frame-probe.json",
      "finish": "stop",
      "latencyMs": 101,
      "usage": {
        "inputTokens": 1,
        "outputTokens": 0
      },
      "costUsd": 0
    }
  ],
  "pricing": [
    {
      "subjectKey": "claude-fable-5-1",
      "inputUsdPerMillion": 10,
      "outputUsdPerMillion": 50,
      "sourceUrl": "https://platform.claude.com/docs/en/models/fable-5-1/overview#pricing",
      "checkedAt": "2026-10-13"
    },
    {
      "subjectKey": "claude-sonnet-5",
      "inputUsdPerMillion": 2,
      "outputUsdPerMillion": 10,
      "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing#model-pricing",
      "checkedAt": "2026-10-13"
    },
    {
      "subjectKey": "claude-sonnet-5-5",
      "inputUsdPerMillion": 2,
      "outputUsdPerMillion": 10,
      "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing#model-pricing",
      "checkedAt": "2026-10-13"
    },
    {
      "subjectKey": "claude-opus-5",
      "inputUsdPerMillion": 5,
      "outputUsdPerMillion": 25,
      "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing#model-pricing",
      "checkedAt": "2026-10-13"
    },
    {
      "subjectKey": "claude-opus-5-5",
      "inputUsdPerMillion": 4,
      "outputUsdPerMillion": 20,
      "sourceUrl": "https://platform.claude.com/docs/en/about-claude/pricing#model-pricing",
      "checkedAt": "2026-10-13"
    },
    {
      "subjectKey": "gpt-5.6-luna",
      "inputUsdPerMillion": 0.2,
      "outputUsdPerMillion": 1.2,
      "sourceUrl": "https://developers.openai.com/api/docs/models/gpt-5.6-luna",
      "checkedAt": "2026-10-13"
    },
    {
      "subjectKey": "gpt-5.6-sol",
      "inputUsdPerMillion": 4,
      "outputUsdPerMillion": 20,
      "sourceUrl": "https://developers.openai.com/api/docs/models/gpt-5.6-sol",
      "checkedAt": "2026-10-13"
    },
    {
      "subjectKey": "gpt-6-luna",
      "inputUsdPerMillion": 0.1,
      "outputUsdPerMillion": 0.5,
      "sourceUrl": "https://developers.openai.com/api/docs/models/gpt-6-luna",
      "checkedAt": "2026-10-13"
    },
    {
      "subjectKey": "gpt-6-sol",
      "inputUsdPerMillion": 2,
      "outputUsdPerMillion": 10,
      "sourceUrl": "https://developers.openai.com/api/docs/models/gpt-6-sol",
      "checkedAt": "2026-10-13"
    },
    {
      "subjectKey": "gpt-6.1-sol",
      "inputUsdPerMillion": 2,
      "outputUsdPerMillion": 10,
      "sourceUrl": "https://developers.openai.com/api/docs/models/gpt-6.1-sol",
      "checkedAt": "2026-10-13"
    },
    {
      "subjectKey": "gpt-6-astra",
      "inputUsdPerMillion": 10,
      "outputUsdPerMillion": 50,
      "sourceUrl": "https://developers.openai.com/api/docs/models/gpt-6-astra",
      "checkedAt": "2026-10-13"
    },
    {
      "subjectKey": "gemini-3.8-flash",
      "inputUsdPerMillion": 0.75,
      "outputUsdPerMillion": 3.75,
      "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing#gemini-3.8-flash",
      "checkedAt": "2026-10-13"
    },
    {
      "subjectKey": "gemini-3.5-flash-lite",
      "inputUsdPerMillion": 0.3,
      "outputUsdPerMillion": 2.5,
      "sourceUrl": "https://ai.google.dev/gemini-api/docs/pricing#gemini-3.5-flash-lite",
      "checkedAt": "2026-10-13"
    }
  ],
  "fx": {
    "krwPerUsd": 1340,
    "asOf": "2026-10-13"
  },
  "totals": {
    "costUsd": 0,
    "costKrw": 0,
    "billedUsd": 0
  },
  "grading": {
    "method": "auto",
    "rubricPath": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip!/2026-10-13-korean-token-tax-v1/protocol/README.md",
    "humanSampleCount": 0
  },
  "files": [
    {
      "path": "data/runs/2026-10-13-korean-token-tax-v1/bundle.zip",
      "sha256": "a310bc1edb710dddda64723d9352be013a09d2b4e9834c8e7f796f7b590fb46a",
      "bytes": 39312
    }
  ],
  "licence": "CC-BY-4.0",
  "outputsLicenceNote": "AI 출력물은 없어요. 각 회사 토큰 집계 API의 응답 본문과 tiktoken 계산 결과만 담았어요.",
  "secretsScan": {
    "tool": "scripts/lab/run.ts 비밀값 검사(sk- 키, AIza 키, Bearer 토큰, Authorization·x-api-key·x-goog-api-key 헤더 줄, 개인 키, 실행 중인 키 값)",
    "passedAt": "2026-10-13T09:57:43.134Z"
  }
}
