Skip to content

Latest commit

 

History

History
77 lines (62 loc) · 5 KB

File metadata and controls

77 lines (62 loc) · 5 KB

Sweep тарифікації зору Anthropic

🌐 Перекладено: усі мови

Чому це існує: гейт рентабельності безпечний лише тоді, коли оцінка вартості точна. Формула з невеликим відхиленням конвертувала б блоки, які насправді коштують дорожче. Тож цей sweep фіксує формулу до реальних чисел API перед виходом у продакшн — до нульового залишку.

what the sweep decides, visually:

  patch model     ⌈w/28⌉ × ⌈h/28⌉ + overhead        ← current docs
  retired /750    (w · h) / 750                       ← old formula
                       │
                       ▼  probe geometries chosen to separate the two by 25–180 tokens/row
  measured 1568×728 page = 1,460 tokens
     patch predicts 1,456  ✅   (residual ~0)
     /750  predicts 1,522  ✗   (off by 62)

Безкоштовний sweep count_tokens, що вирішує два відкритих питання геометрії:

  1. Формула — чи тарифікує API патчі ceil(w/28) × ceil(h/28) (поточна документація), чи застарілу w·h/750? Набір проб розділяє ці дві на 25–180 токенів на рядок.
  2. Тариф — чи отримує claude-fable-5 ліміти високої роздільності (довга сторона ≤ 2576 px, ≤ 4784 візуальних токенів)? Рядок page-old-1928x1928 — вирішальний: ≈ 4761 виміряних означає high-res WYSIWYG (стара велика сторінка несе ~3.3× більше символів на зображення, ніж сьогоднішня 1568×728, за того самого співвідношення символи/токен); ≈ 1521 означає resample стандартного тарифу, і 1568×728 лишається коректною.

Контекст: sweep 2026-07-01, що стояв за поточною сторінкою 1568×728 (аудит читабельності, 2026-07-01), був виміряний на claude-sonnet-4-5 — моделі стандартного тарифу — тоді як продакшн націлений на Fable 5, яку документація зору відносить до тарифу високої роздільності. Той аудит також виміряв поточну сторінку на 1460 токенах: ближче до 1456 формули патчів, ніж до 1522 формули /750, натякаючи, що API вже перейшов на тарифікацію патчів.

Запуск

pnpm run build                              # dist/ prerequisite (like all evals)
node benchmarks/billing-sweep/run.mjs --dry-run   # predictions only, no key, $0

ANTHROPIC_API_KEY=sk-... node benchmarks/billing-sweep/run.mjs \
  --models claude-fable-5,claude-sonnet-4-5 --probe-multi --probe-20plus

Має звертатися до API напряму — ніколи через проксі OmniGlyph, який трансформував би тіло. count_tokens безкоштовний; повний sweep робить ~25 запитів.

Читання виводу

Для кожної моделі кожен рядок проби показує виміряні токени зображення (з-зображенням мінус базова лінія лише тексту) проти всіх чотирьох прогнозів (patch/legacy750 × standard/highres); підсумок ранжує гіпотези за середнім абсолютним залишком. --probe-multi перевіряє ліміт на зображення (2×1092² ≈ 2×1521); --probe-20plus перевіряє правило понад 20 зображень (сторона >2000 px має бути відхилена, а не змінена в розмірі). Рядки потрапляють у results/*.jsonl; математика прогнозів живе в formulas.mjs, закріплена tests/billing-sweep-formulas.test.ts.

Після вердикту

  • Формула патчів підтверджена → портувати OmniGlyph PR #27 (точний переклад зміни розміру) і узгодити математику гейта ANTHROPIC_PIXELS_PER_TOKEN у src/core/transform.ts.
  • Тариф високої роздільності підтверджено на Fable → повернути геометрію сторінки за тарифом (сторінки класу 1928×1928 для Fable/Opus 4.8/ Sonnet 5, 1568×728 для стандарту), дзеркалячи те, як шлях GPT вже зберігає власний GPT_MAX_HEIGHT_PX.