Анализ бюджета токенов: Реальные цифры
Updated Jul 2026
Размеры контекстных окон (2026)
| Модель | Контекстное окно | Эффективный бюджет* |
|---|---|---|
| Claude Opus 4.6 | 200K токенов | ~150K доступных |
| Claude Sonnet 4.5 | 200K токенов | ~150K доступных |
| Claude Haiku 4.5 | 200K токенов | ~150K доступных |
| GPT-4o | 128K токенов | ~100K доступных |
| Gemini Pro | 1M+ токенов | ~750K доступных |
*Эффективный бюджет учитывает системные промпты, определения инструментов и накладные расходы.
Разбивка токенов MCP: Реальная сессия Playwright
Стоимость схем инструментов (за каждый вызов API)
Playwright MCP предоставляет следующие инструменты (фактические размеры схем):
| Инструмент | Токены схемы |
|---|---|
browser_launch |
~180 |
browser_navigate |
~220 |
browser_screenshot |
~200 |
browser_click |
~250 |
browser_type |
~280 |
browser_find |
~240 |
browser_hover |
~200 |
browser_select_option |
~260 |
browser_wait_for_selector |
~250 |
browser_evaluate |
~220 |
browser_go_back |
~150 |
browser_go_forward |
~150 |
browser_close |
~150 |
browser_get_text |
~200 |
browser_get_attribute |
~220 |
| Итого за вызов API | ~3 370 |
Это загружается в КАЖДЫЙ API-запрос, даже когда агент не работает с браузером.
Стоимость дерева доступности (за чтение страницы)
Типичный снимок доступности веб-страницы:
| Сложность страницы | Элементы | Токены дерева A11y |
|---|---|---|
| Простая (лендинг) | 20-50 | ~500-1 500 |
| Средняя (страница с формой) | 50-200 | ~1 500-5 000 |
| Сложная (дашборд) | 200-500 | ~5 000-15 000 |
| С большим объёмом данных (таблица) | 500-2000 | ~15 000-50 000+ |
Реалистичный 20-шаговый тест авторизации через MCP
Шаг 1: browser_launch → 150 токенов (вызов) + 100 (ответ)
Шаг 2: browser_navigate → 200 токенов + 100
Шаг 3: [загружено дерево a11y] → 3 000 токенов (форма входа)
Шаг 4: browser_type (email) → 180 токенов + 80
Шаг 5: browser_type (password) → 180 токенов + 80
Шаг 6: browser_click (submit) → 160 токенов + 80
Шаг 7: [загружено дерево a11y] → 5 000 токенов (дашборд)
Шаг 8: browser_get_text (heading) → 150 токенов + 80
Шаг 9: browser_screenshot → 150 токенов + 100
Шаг 10: browser_navigate (profile) → 200 токенов + 100
Шаг 11: [загружено дерево a11y] → 4 000 токенов (страница профиля)
Шаг 12: browser_get_text (name) → 150 токенов + 80
Шаг 13: browser_click (edit) → 160 токенов + 80
Шаг 14: [загружено дерево a11y] → 4 500 токенов (форма редактирования)
Шаг 15: browser_type (phone) → 180 токенов + 80
Шаг 16: browser_click (save) → 160 токенов + 80
Шаг 17: [загружено дерево a11y] → 4 000 токенов (профиль обновлён)
Шаг 18: browser_get_text (success) → 150 токенов + 80
Шаг 19: browser_screenshot → 150 токенов + 100
Шаг 20: browser_close → 120 токенов + 60
Схемы инструментов (загр. каждый шаг): 3 370 × 20 = 67 400 токенов
Деревья A11y: 20 500 токенов
Вызовы + ответы инструментов: ~4 200 токенов
────────────────────────────────────────────────────
ИТОГО: ~92 100 токенов
Это ~61% доступного контекста на простом тесте авторизации.
Разбивка токенов Skill: Тот же тест через vibe-check
Стоимость загрузки навыка (один раз)
| Компонент | Токены |
|---|---|
| Внедрение SKILL.md | ~1 000 |
| Описание навыка в списке инструментов | ~50 за шаг |
Тот же 20-шаговый тест авторизации через Skill
Шаг 0: Навык вызван (SKILL.md загружен) → 1 000 токенов (один раз)
Шаг 1: Bash("vibe-check daemon start") → 30 + 20 = 50
Шаг 2: Bash("vibe-check navigate https://...") → 40 + 20 = 60
Шаг 3: Bash("vibe-check type '#email' 'user'") → 45 + 20 = 65
Шаг 4: Bash("vibe-check type '#pass' 'secret'") → 45 + 20 = 65
Шаг 5: Bash("vibe-check click '#submit'") → 35 + 20 = 55
Шаг 6: Bash("vibe-check wait '.dashboard'") → 35 + 20 = 55
Шаг 7: Bash("vibe-check text 'h1'") → 30 + 30 = 60
Шаг 8: Bash("vibe-check screenshot -o s1.png") → 40 + 20 = 60
Шаг 9: Bash("vibe-check navigate .../profile") → 40 + 20 = 60
Шаг 10: Bash("vibe-check text '.name'") → 30 + 30 = 60
Шаг 11: Bash("vibe-check click '#edit'") → 35 + 20 = 55
Шаг 12: Bash("vibe-check type '#phone' '555'") → 40 + 20 = 60
Шаг 13: Bash("vibe-check click '#save'") → 35 + 20 = 55
Шаг 14: Bash("vibe-check wait '.success'") → 35 + 20 = 55
Шаг 15: Bash("vibe-check text '.success'") → 35 + 30 = 65
Шаг 16: Bash("vibe-check screenshot -o s2.png") → 40 + 20 = 60
Шаг 17-20: верификация + очистка → ~200
Описание навыка (за шаг): 50 × 20 = 1 000 токенов
Схема Bash (общая, не специфичная для браузера): ~200 за шаг (общая)
Начальная загрузка навыка: 1 000 токенов
Команды + ответы: ~1 200 токенов
────────────────────────────────────────────────────
ИТОГО: ~3 200 токенов (специфичных для браузера)
Это ~2% доступного контекста.
Итоговое сравнение
| Метрика | MCP | Skill | Разница |
|---|---|---|---|
| Итого 20-шаговый тест | ~92 100 токенов | ~3 200 токенов | В 29 раз дешевле |
| Потреблённый контекст | ~61% | ~2% | На 59% больше доступно |
| Оставшийся контекст | ~58K токенов | ~147K токенов | В 2,5 раза больше запас |
| Стоимость при $15/M токенов (вход) | ~$1,38 | ~$0,05 | В 28 раз дешевле |
Что вы делаете со сэкономленным контекстом
147K токенов, сэкономленных использованием навыков вместо MCP, могут вместить:
| Контент | Приблизительно токенов | Что это даёт |
|---|---|---|
| 10 исходных файлов (~200 строк каждый) | ~30 000 | Агент читает и модифицирует код |
| Полное определение тестового набора | ~10 000 | Агент понимает все тесты |
| Анализ ошибок + отладка | ~20 000 | Агент рассуждает о сбоях |
| История разговора | ~50 000 | Агент помнит ранний контекст |
| Итого дополнительная ёмкость | ~110 000 | Более богатый и способный агент |
Когда стоимость токенов не имеет значения
Если вы используете Gemini с контекстным окном 1M+, аргумент об эффективности токенов значительно слабее. Вы можете позволить себе накладные расходы MCP и всё равно иметь достаточно контекста.
Однако:
- Стоимость API по-прежнему имеет значение (вы платите за токен)
- Задержка масштабируется с токенами (больше токенов = медленнее ответы)
- Качество может деградировать при очень длинных контекстах (размывание внимания)
Поэтому даже с большими окнами поддержание компактности остаётся полезным.
Тезис для собеседования
«Я подсчитал стоимость токенов. 20-шаговый тест через MCP потребляет около 92 000 токенов — 61% контекстного окна в 200K — в основном из-за схем инструментов, загружаемых каждый шаг, и деревьев доступности. Тот же тест через CLI-навык стоит около 3 200 токенов — 2% окна. Это 29-кратное сокращение. Что ещё важнее, это означает, что у агента остаётся 147K токенов для рассуждений о логике тестов, анализа сбоев и поддержания контекста на протяжении сессии. При $15 за миллион входных токенов каждый запуск теста стоит $1,38 через MCP против $0,05 через навыки. При сотнях запусков CI в день — это разница между жизнеспособным подходом и неустойчивым.»