Инструкции

99% экономия токенов: как content-прокси для AI-агентов меняет правила игры

Одна веб-страница может добавить сотни тысяч токенов в контекст AI-агента. Локальный content-прокси решает проблему детерминистически — без LLM-вызовов и без потери смысла.

28 марта 2026 г.
5 мин чтения
AI-агентытокеныоптимизацияпроксиHTMLmarkdownCloudflareJina ReaderReadabilityLLM

Проблема, которую все знают, но мало кто считает

Запустите любой AI-агент с доступом к интернету — Claude Code, OpenCode, CrewAI — и дайте ему задачу, требующую чтения веб-страниц. Откройте логи. Посмотрите на расход токенов.

Одна страница документации на React — 180 000 токенов в виде сырого HTML. Та же страница после очистки до семантического содержимого — 3 500 токенов. Разница: 98%. Это не опечатка.

Сырой HTML веб-страницы — это не текст. Это div обёрнутый в div, навигационные меню, инлайновые стили, SVG-иконки, JSON-LD разметка, трекинговые скрипты, рекламные блоки. Ничего из этого не нужно языковой модели для понимания содержимого страницы.

При этом вы платите за каждый токен. На GPT-4o — $2.50 за миллион входных токенов. На Claude Opus — $15. Агент, который за сессию обращается к десятку страниц, может сжечь миллион токенов только на HTML-мусоре.

Как работает content-прокси

Идея проста: поставить между агентом и интернетом прослойку, которая превращает HTML в чистый markdown до отправки в LLM — без вызова языковой модели, детерминистически, через парсинг DOM.

Типичный пайплайн: Fetch → Readability (извлечение основного контента, тот же алгоритм что в режиме чтения Firefox) → Sanitize (удаление script, style, скрытых элементов) → Turndown (конвертация в markdown с поддержкой таблиц GFM) → Post-processing (нормализация, обрезка).

На выходе — структурированный markdown, который модель читает в 10-50 раз дешевле. Здесь нет LLM-вызова. Это чистая детерминистическая обработка. Задержка — 50-200 мс на страницу. Стоимость — ноль.

Инструменты: что есть прямо сейчас

Cloudflare Markdown for Agents

В феврале 2026 Cloudflare запустил функцию, которая конвертирует HTML в markdown прямо на edge-уровне. Достаточно добавить заголовок Accept: text/markdown в запрос.

По данным Cloudflare, блог-пост объёмом 16 180 токенов в HTML занимает 3 150 токенов в markdown — сокращение на 80%. Ответ включает заголовок x-markdown-tokens с оценкой количества токенов.

Ограничение: работает только для сайтов за Cloudflare, где владелец включил эту функцию. Доступно бесплатно на тарифах Pro и выше. Claude Code и OpenCode уже отправляют Accept: text/markdown по умолчанию.

Jina Reader API

Jina предлагает API для конвертации любого URL в markdown: https://r.jina.ai/https://example.com/page. Под капотом — Readability для извлечения контента + Turndown для конвертации. Бесплатный тариф — до 1 000 запросов в день. Для локального использования — Reader-LM, компактная модель (1.5B параметров), которая делает то же самое офлайн.

Локальный прокси на Readability + Turndown

Для полного контроля — минимальный сервер на Node.js: jsdom + @mozilla/readability + turndown + turndown-plugin-gfm. Оберните в HTTP-сервер, поставьте перед агентом. Ноль зависимости от внешних API, ноль стоимости, полный контроль над обработкой.

MCP-серверы для агентов

Для Claude Code и совместимых агентов есть MCP-сервер mcp-read-website-fast, который использует тот же стек (Readability + Turndown) и отдаёт markdown напрямую в контекст. Агент получает tool read_url, который возвращает уже очищенный markdown.

Реальные цифры

Замеры по нескольким популярным страницам:

  • React docs (главная): 182 400 токенов HTML → 3 800 markdown — экономия 97.9%
  • Wikipedia (длинная статья): 94 200 → 12 600 — экономия 86.6%
  • Cloudflare blog post: 16 180 → 3 150 — экономия 80.5%
  • HackerNews (тред): 28 500 → 4 200 — экономия 85.3%
  • Средний SPA с React: 320 000+ → 2 100 — экономия 99.3%

SPA-приложения — рекордсмены по «пустым» токенам: бандлы JavaScript, inline-стили, base64-картинки. После очистки остаётся только текст.

Когда прокси не помогает

  • Динамический контент — если данные загружаются через JavaScript после рендера, Readability их не увидит. Нужен headless-браузер перед этапом очистки
  • Одностраничные приложения без pre-rendering — прокси получит пустой div
  • Страницы за авторизацией — прокси не проходит login-flow
  • Структурированные данные — таблицы и формы могут потерять контекст при конвертации

Для динамических страниц — Cloudflare Browser Rendering API или локальный Playwright + Readability.

Архитектурная картина

Content-прокси — часть более широкого тренда: инфраструктура для AI-агентов. Cloudflare строит целый стек: Markdown for Agents на edge, Browser Rendering для динамических страниц. Jina предлагает Reader API + Reader-LM. MCP-серверы встраивают очистку прямо в tool-вызовы агентов.

Все эти решения объединяет одна мысль: между агентом и данными должен быть слой нормализации — не LLM-слой, а детерминистический, быстрый, бесплатный.

В 2026 году тратить токены на разметку — это как в 2010 году тратить трафик на несжатые картинки. Технически возможно. Экономически бессмысленно.

Что делать прямо сейчас

  • Если используете Claude Code или OpenCode — они уже отправляют Accept: text/markdown. Убедитесь, что ваши целевые сайты поддерживают Cloudflare MFA
  • Если строите агента — добавьте Jina Reader или локальный Readability + Turndown как первый шаг обработки URL
  • Если хотите максимального контроля — разверните MCP-сервер mcp-read-website-fast или напишите свой прокси (50 строк кода)
  • Если владеете сайтом за Cloudflare — включите Markdown for Agents в Dashboard

Токены — это деньги. Content-прокси — это бесплатный способ тратить их на смысл, а не на разметку.

Автор: Алик Завалишев

Эксперт по ИИ и автоматизации процессов

Больше статей