Настройка Claude Code для работы с DeepSeek V4: стоимость очистки комментариев
Мы посчитали, сколько стоит Claude Code на deepseek-flash, когда EveryInfra MCP выгружает 695 комментариев с YouTube, Bilibili и Douyin. В пиковые часы это 1/10 стоимости Sonnet 5.5, но больше, чем стоимость Haiku 5.5.

Claude Code можно запустить на модели DeepSeek deepseek-flash и через удалённый MCP-сервер EveryInfra выгружать и очищать комментарии к видео. Это дёшево, но утверждение про «десятую часть стоимости» верно только при попадании в кеш DeepSeek. Мы рассчитали стоимость примерной сессии из официальной документации Claude Code по затратам: deepseek-flash по пиковой цене стоит $0,0274 — ровно 10 % стоимости Claude Sonnet 5.5 ($0,2744). Без попаданий в кеш та же сессия стоит $0,3037, то есть дороже, чем Sonnet 5.5 при попаданиях в кеш.
Claude Haiku 5.5 выполняет ту же сессию за $0.0184. 26 октября 2026 года с 17:26 до 17:38 по сингапурскому времени (SGT) мы запросили у EveryInfra 695 записей с комментариями к 15 видео. После очистки осталось 655 комментариев, а расчётный объём входных данных модели сократился с 84 109 токенов до 20 176. На Bilibili и Douyin плата за данные в расчёте на 1 000 комментариев оказалась выше, чем плата за модель deepseek-flash.
В этой статье «чистка комментариев» означает конкретную задачу. Claude Code читает каталог возможностей EveryInfra. Затем он вызывает MCP-инструмент everyinfra_call_api и выгружает комментарии через youtube/comments, bilibili/comments и douyin/comments. Короткий скрипт удаляет дубликаты, пустые ответы и рекламу.
Правила по ключевым словам размечают примерно половину оставшихся комментариев как «настройка и ошибки», «цена и квоты», «сравнение моделей» или «похвала». То, что правила не покрывают, размечает модель. На выходе получается таблица с исходным текстом и записью о затратах. Используемая в Claude Code модель — не от Anthropic.
Это модель deepseek-flash, доступная через Anthropic-совместимый эндпоинт DeepSeek. Ключа DeepSeek у нас нет. Поэтому все описанные ниже шаги с DeepSeek и Claude Code — это примеры конфигурации по официальной документации; мы их не запускали. Все вызовы EveryInfra и все числа, полученные из наших данных, реальны.
Картинка показывает, куда уходят деньги. Дорогой этап находится на столе спереди справа: там модель читает каждый комментарий и ставит метку. Сито с более мелкими ячейками слева пропускает к столу меньше комментариев.
Сначала разберём настройку. Затем покажем пять тестов. В конце посчитаем расходы.
Итог: десятая часть стоимости только при попадании в кеш
В наших исследовательских заметках эта тема шла под рабочим названием «чистить комментарии за десятую часть стоимости». Перед началом мы превратили это название в два вопроса с числовыми ответами. Составляет ли стоимость deepseek-flash в часы пик не более 10% стоимости Claude Sonnet 5.5 при одинаковом объёме использования? Дешевле ли deepseek-flash, чем Claude Haiku 5.5? Ответы: «да, ровно 10%» и «нет».
Использование мы не выдумывали. Мы взяли пример /cost из документации Claude Code по затратам: 1,2 тыс. входных токенов, 5,3 тыс. выходных, 940,0 тыс. токенов чтения из кеша и 50,0 тыс. токенов записи в кеш. В документации он указан для Claude Sonnet 4.6 стоимостью $0,55. Сначала мы пересчитали его по тарифам Sonnet 4.6 и получили $0,5526. Это совпадает с документацией, значит, метод верный.
Затем мы применили все общедоступные цены, которые нашли 26 октября 2026 года. Цены Claude взяты со страницы тарифов Anthropic. Цены DeepSeek взяты со страницы тарифов DeepSeek в USD. Мы также сверили их с китайской страницей тарифов в CNY.
| Модель (публичная цена на 26 октября 2026 г.) | Все попадания в кеш | Без попаданий в кеш | Доля от стоимости Sonnet 5.5 (при попаданиях в кеш) |
|---|---|---|---|
| Claude Opus 5.5 | $0.5488 | $4.1208 | 200% |
| Claude Sonnet 5.5 | $0.2744 | $2.0604 | 100% |
| deepseek-v4-pro, пик | $0.1299 | $1.3294 | 47.3% |
| deepseek-flash, пик | $0.0274 | $0.3037 | 10.0% |
| Claude Haiku 5.5 | $0.0184 | $0.1030 | 6.7% |
| deepseek-flash, вне пика | $0.0137 | $0.1519 | 5.0% |
Средний столбец легко пропустить. В агенте вроде Claude Code большая часть входных токенов приходится на чтение из кеша. В примерной сессии из кеша читаются 940,0 тыс. из 991,2 тыс. входных токенов, то есть 94,8%. Поэтому размер счёта определяют две вещи: цена попадания в кеш и то, происходит ли это попадание вообще.
Цена попадания в кеш для deepseek-flash составляет $0,006 за миллион токенов в часы пик и $0,003 вне пика, что ниже $0,01 у Haiku 5.5. Но цена промаха равна $0,30 — это втрое больше ставки Haiku 5.5 в $0,10. При попадании в кеш deepseek-flash стоит около одной десятой стоимости Sonnet 5.5. При промахе он стоит дороже, чем Sonnet 5.5 с работающим кешем.
Одно ограничение касается всей таблицы. Она сравнивает цены токенов, а не качество моделей. У двух компаний разные токенизаторы. На странице тарифов Anthropic сказано, что токенизатор Claude 4.7 и новее даёт для того же текста примерно на 30% больше токенов. Сравнение идёт с Claude 4.6 и более ранними моделями.
Публичного соотношения между токенами DeepSeek и Claude нет. У Anthropic есть бесплатный эндпоинт для подсчёта токенов, а DeepSeek предлагает офлайн-токенизатор. Но ключей ни от одной из компаний у нас нет, поэтому мы не калибровали оценки по реальным данным usage. Все количества токенов в этой статье оценочные, и для обеих сторон мы используем одинаковое количество токенов.
Зачем поручать эту задачу недорогой модели DeepSeek V4.1 Flash
Чистка комментариев — массовая задача, но каждую отдельную запись обрабатывать легко. Загляните в комментарии под видео о DeepSeek V4 в Claude Code. В большинстве из них спрашивают, почему не работает настройка, как устроена оплата или чем DeepSeek V4 отличается от собственных моделей Claude. Каждая отдельная оценка проста, но при большом количестве комментариев набирается много токенов.
17 октября 2026 года DeepSeek обновила deepseek-flash до DeepSeek-V4.1-Flash-1017. В заметке о выпуске сказано, что новая модель сокращает время выполнения задач и длину ответов. В карточке модели на Hugging Face указано, что DeepSeek прогнала Terminal-Bench 4.0 в обвязке Claude Code и получила 42,3.
Со стороны Anthropic страница запуска Claude Haiku 5.5 (7 октября 2026 г.) называет основными задачами модели суммаризацию, сжатие контекста и классификацию. Также на ней упоминается работа субагентом для Opus 5.5 и Sonnet 5.5. Там указан результат Terminal-Bench 4.0: 39,2% у Haiku 5.5 и 70,6% у Sonnet 5.5.
Каждая компания публикует собственные результаты по собственной методике, поэтому напрямую их не сравнить. Но цифры показывают одно: внутри Claude Code теперь могут работать две недорогие модели. Сравнивать их на деле стоит по стоимости и трудозатратам на настройку.
| Пункт | deepseek-flash (Anthropic-совместимый эндпоинт DeepSeek) | Claude Haiku 5.5 (напрямую через Anthropic) |
|---|---|---|
| Вход при промахе кеша / выход, за миллион токенов | Пик: $0,30 / $1,20; вне пика: $0,15 / $0,60 | $0,10 / $0,50 (промпты до 100 тыс. токенов) |
| Попадание в кеш | Пик: $0,006; вне пика: $0,003 | $0.01 |
| Как работает кеш | Автоматический префиксный кеш на диске; cache_control игнорируется | Использует маркеры cache_control из Claude Code |
| Контекстное окно | 1M | 1M (промпты длиннее 100 тыс. токенов стоят дороже) |
| Изображения на входе | Да (deepseek-v4-pro: нет) | Да |
| Официальная поддержка в Claude Code | DeepSeek публикует конфигурацию; Anthropic заявляет, что не поддерживает модели, отличные от Claude, через шлюз | Встроенная |
Последнюю строку читайте внимательно. В документации Claude Code по шлюзам сказано, что Anthropic не одобряет, не сопровождает и не проверяет сторонние шлюзы. Там же сказано, что Anthropic не поддерживает перенаправление Claude Code на модели, отличные от Claude, через какой-либо шлюз. Настройка DeepSeek использует именно этот путь — пользовательское значение ANTHROPIC_BASE_URL.
Если что-то сломается, поддержка Claude Code не поможет. Поддерживаются сторонние маршруты через такие облачные платформы, как Amazon Bedrock, Google Cloud и Microsoft Foundry. См. документацию по сторонним интеграциям и варианты шлюзов от Anthropic.
Критерии «пройдено» и «не пройдено», записанные заранее
До первого вызова API для получения комментариев мы записали девять критериев того, что «задача работает». После получения результатов мы их не меняли. Два критерия предназначены только для фиксации чисел — доли шума и размера описаний инструментов. У остальных есть порог прохождения.
| ID | Критерий | Критерий срабатывания | Результат |
|---|---|---|---|
| J1 | Все 9 переменных окружения, указанные DeepSeek, есть в документации Claude Code | 9 из 9 | Пройдено: 9 из 9 |
| J2 | Все поля MCP есть в response_fields каталога и совпадают с REST | Оба условия выполнены | Пройдено |
| J3 | Каждый charged_usd равен цене из каталога × количество расчётных единиц; неудачные вызовы стоят $0 | Совпадает для каждого вызова | Пройдено: 15 вызовов API для получения комментариев, 3 поиска и 1 вызов MCP |
| J4 | Очищенные данные на входе модели составляют не более 40% от числа токенов исходного JSON | ≤40% | Пройдено: 38,0% / 17,5% / 5,6% |
| J5 | Доля шума (только для справки) | — | YouTube: низкая (2,2%); Bilibili и Douyin: средняя (12,0%, 13,0%) |
| J6 | Flash в пиковые часы ≤10% от Sonnet 5.5? Дешевле Haiku 5.5? | Ответ в числах | В1: сессия 10,0%, да; пакетная разметка 13,5%, нет. В2: нет |
| J7 | Неверный параметр даёт 422 с подсказкой по исправлению, а в тексте ошибки есть «not charged» | REST и MCP | Пройдено |
| J8 | Размер описаний 25 инструментов (только для справки) | — | Около 8 556 токенов; около 1 058 для 4 оставляемых инструментов |
| J9 | Ключ не хранится на диске | 0 совпадений | Пройдено |
Критерий J7 требует «not charged» в тексте ошибки, а не только в HTTP-статусе или флаге MCP isError. Причина описана в разделе о совместимости ниже: эндпоинт DeepSeek игнорирует поле is_error в tool_result.
Настройка DeepSeek для Claude Code: 9 переменных окружения сверены с документацией
На странице интеграции с Claude Code DeepSeek перечисляет девять переменных окружения. Мы нашли каждую из них в справочнике переменных окружения Claude Code. Все девять существуют, и их назначение совпадает с тем, как их использует DeepSeek.
![Скриншот страницы документации DeepSeek API Integrate with Claude Code. Бирюзовой рамкой отмечены девять строк export для Linux и Mac. ANTHROPIC_BASE_URL указывает на api.deepseek.com/anthropic, ANTHROPIC_AUTH_TOKEN содержит ключ DeepSeek, переменные основной модели, Opus и Sonnet равны deepseek-flash[1m], модели Haiku и субагентов равны deepseek-flash, уровень effort равен max, окно автосжатия равно 786432.](/articles/deepseek-v4-claude-code-comment-cleaning/img-ds-env.webp)
# Config example (we have no DeepSeek key and did not run this block)
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN="$DEEPSEEK_API_KEY" # sent as Authorization: Bearer
export ANTHROPIC_MODEL='deepseek-flash[1m]'
export ANTHROPIC_DEFAULT_OPUS_MODEL='deepseek-flash[1m]'
export ANTHROPIC_DEFAULT_SONNET_MODEL='deepseek-flash[1m]'
export ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-flash # background tasks use it too
export CLAUDE_CODE_SUBAGENT_MODEL=deepseek-flash
export CLAUDE_CODE_EFFORT_LEVEL=high # DeepSeek shows max; comment work does not need it
export CLAUDE_CODE_AUTO_COMPACT_WINDOW=786432
# Two more lines that we recommend:
export ENABLE_TOOL_SEARCH=false # defer_loading is not in the compatibility table
export EVERYINFRA_API_KEY=... # for .mcp.json; keep it out of project files| Переменная | Что она задаёт в Claude Code | На что обратить внимание в этой задаче |
|---|---|---|
ANTHROPIC_BASE_URL | Отправляет запросы на прокси или шлюз | При хосте, отличном от api.anthropic.com, Remote Control отключён |
ANTHROPIC_AUTH_TOKEN | Значение для заголовка Authorization: Bearer | Имеет приоритет над сохранённой авторизацией через claude.ai; если переменная не задана, по-прежнему используется вход через claude.ai по вашему тарифу |
ANTHROPIC_MODEL | Модель основной сессии | Суффикс [1m] запрашивает контекстное окно на 1 млн токенов |
ANTHROPIC_DEFAULT_OPUS_MODEL / _SONNET_ | Куда направляются алиасы opus и sonnet | Если не задано, DeepSeek сопоставляет claude-opus* с deepseek-v4-pro по ценам Pro |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Алиас haiku и фоновые задачи | Фоновые задачи тоже стоят денег |
CLAUDE_CODE_SUBAGENT_MODEL | Модель субагентов по умолчанию | Её используют все субагенты по платформам |
CLAUDE_CODE_EFFORT_LEVEL | Уровень усилий (effort) | DeepSeek сводит medium, high и xhigh к high |
CLAUDE_CODE_AUTO_COMPACT_WINDOW | Число токенов, при котором запускается автосжатие | Диапазон от 100 000 до 1 000 000 |
ENABLE_TOOL_SEARCH | Поиск инструментов MCP | При false каждый запрос содержит все определения инструментов |
Три момента можно заметить, только если прочитать документацию обеих сторон. Первый касается сопоставления моделей. В заметках DeepSeek о совместимости сказано, что названия моделей, начинающиеся с claude-opus, сопоставляются с deepseek-v4-pro по ценам Pro.
Названия, начинающиеся с claude-haiku или claude-sonnet, сопоставляются с deepseek-flash. Если задать только ANTHROPIC_MODEL, а затем переключиться на opus, запросы будут оплачиваться по ценам Pro. Для сессии из примера стоимость по тарифу Pro в пиковые часы составляет $0,1299, то есть в 4,7 раза больше стоимости по тарифу flash.
Второй момент касается определения возможностей модели. В документации Claude Code по настройке моделей сказано, что Claude Code включает уровни усилий (effort) и расширенное мышление, сопоставляя ID модели с известными шаблонами. Если ID неизвестен, эти функции могут остаться выключенными. Их можно объявить через переменные вроде ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES.
В руководстве по совместимости шлюзов также сказано, что Claude Code считает неизвестные названия моделей актуальными моделями и всё равно отправляет thinking: {"type": "adaptive"}. Эти два утверждения относятся к разным случаям, и проверить их мы не смогли. Наш совет: после настройки выполните /status и /model и проверьте модель и уровень усилий до запуска пакетной задачи.
Третий момент касается effort. На странице DeepSeek задано max. В документации DeepSeek по режиму мышления сказано, что запрос с medium, high или xhigh выполняется как high, а с max или ultra как max. Для разметки комментариев верхний уровень не нужен, а токены мышления оплачиваются как выходные. Поэтому в нашем примере указано high.
Подключение EveryInfra по MCP: один .mcp.json и всего 4 инструмента
Добавить удалённый MCP-сервер в Claude Code можно двумя способами. Первый способ: команда claude mcp add --transport http. Второй: файл .mcp.json в корне проекта.
Мы рекомендуем файл. В документации Claude Code по MCP сказано, что .mcp.json подставляет ${VAR} в url и headers, поэтому ключ не попадает в файлы проекта. Командная строка подставляет значение переменной в момент запуска и сохраняет ключ в ~/.claude.json.
{
"mcpServers": {
"everyinfra": {
"type": "http",
"url": "https://api.everyinfra.com/mcp",
"headers": { "Authorization": "Bearer ${EVERYINFRA_API_KEY}" },
"timeout": 150000
}
}
}При такой настройке действует полезное правило безопасности. В той же документации сказано, что в url и headers удалённого сервера Claude Code подставляет пустые значения вместо собственных переменных с учётными данными, таких как ANTHROPIC_AUTH_TOKEN и ANTHROPIC_API_KEY. Поэтому, даже если в файле .mcp.json указано Bearer ${ANTHROPIC_AUTH_TOKEN}, ваш ключ DeepSeek не будет передан ни одному MCP-серверу.
EVERYINFRA_API_KEY в этом списке нет, поэтому переменная подставляется как обычно. Мы установили для timeout значение 150 секунд. Самый медленный вызов для получения комментариев YouTube занял 78,6 секунды, а лимит синхронного выполнения в EveryInfra составляет 85 секунд.
26 октября 2026 года в 17:26 SGT мы отправили на https://api.everyinfra.com/mcp те же запросы initialize и tools/list, которые Claude Code отправляет при подключении. Сервер вернул 25 инструментов. Их размер мы оценили по коэффициенту со страницы о расходе токенов DeepSeek: примерно 0.3 токена на символ английского текста и 0.6 токена на символ китайского. Названия, описания и входные схемы 25 инструментов в сумме занимают около 8 556 токенов.
Сами по себе 8 556 токенов не так уж много, но два фактора их умножают. Во-первых, мы рекомендуем отключить поиск инструментов, чтобы избежать проблем с совместимостью. Тогда Claude Code отправляет определения всех инструментов в каждом запросе. Во-вторых, в документации по разрешениям Claude Code сказано, что правило запрета с одним лишь названием инструмента убирает этот инструмент из контекста модели. Поэтому для этой задачи запретите остальные 21 инструмент в .claude/settings.json (формат описан в документации по настройкам). Тогда объём токенов на инструменты в каждом запросе сократится примерно с 8 556 до 1 058:
{
"permissions": {
"allow": ["mcp__everyinfra__everyinfra_list_capabilities", "mcp__everyinfra__everyinfra_call_api",
"mcp__everyinfra__everyinfra_get_job", "mcp__everyinfra__everyinfra_usage"],
"deny": ["mcp__everyinfra__everyinfra_search",
"mcp__everyinfra__everyinfra_solve_captcha", "mcp__everyinfra__everyinfra_key_create",
"mcp__everyinfra__everyinfra_key_delete", "mcp__everyinfra__everyinfra_settings_update",
"mcp__everyinfra__everyinfra_webhook_set", "mcp__everyinfra__everyinfra_create_ticket"]
}
}В примере перечислены 7 из 21 инструмента. Остальные 14 добавьте в том же формате. В tools/list у everyinfra_call_api указано readOnlyHint: false и нет idempotentHint.
Начиная с версии Claude Code 2.1.307 (21 октября 2026 г.) это даёт преимущество. В истории изменений сказано, что при обрыве HTTP-соединения MCP посреди вызова Claude Code повторяет вызов лишь для инструментов, которые доступны только для чтения или помечены как идемпотентные. Поэтому при обрыве соединения Claude Code не отправит незаметно повторный запрос на выгрузку комментариев, и с вас не спишут оплату дважды.
Один реальный обмен: что отправляет модель и что мы возвращаем
Claude Code и удалённый MCP-сервер используют tools/call из спецификации MCP. Какая модель стоит за Claude Code, Claude или DeepSeek, неважно: модель только пишет блок tool_use с названием инструмента и аргументами. HTTP-запрос отправляет Claude Code.
Поэтому тело запроса ниже не зависит от модели. Определения инструментов, tool_use и tool_result всё равно считаются входными токенами модели, как объясняется в документации Anthropic по использованию инструментов. На стороне DeepSeek действует то же самое.
26 октября 2026 года в 17:37:32 SGT мы с помощью curl отправили в EveryInfra тот же tools/call, что отправляет Claude Code. Запрос получал 20 новейших комментариев к одному видео на YouTube. Через 14.0 секунды сервер вернул 200. В result.content[0].text оказалась JSON-строка (RFC 8259) длиной 8 926 символов. Списано $0.000556, это цена API для парсинга комментариев YouTube по каталогу.
![Снимок экрана с реальным запросом и ответом удалённого MCP-сервера EveryInfra. POST https://api.everyinfra.com/mcp, метод tools/call, инструмент everyinfra_call_api, аргументы: platform youtube, action comments, URL видео на YouTube, sort newest и limit 20. Ответ 200 получен в 17:37:32 SGT 26 октября 2026 года через 14.0 секунды. content[0].text содержит JSON-строку длиной 8 926 символов. Первая запись содержит id, text, author_name (скрыто), like_count, reply_count, posted_at со значением «11 часов назад» и is_reply. Бирюзовыми рамками выделены count 20 и charged_usd 0.000556.](/articles/deepseek-v4-claude-code-comment-cleaning/img-api-mcp-call.webp)
Мы сравнили поля этого MCP-ответа с REST-ответом для того же видео, полученным в 17:28:19. Также мы сверили их с response_fields для youtube/comments в каталоге:
| Поле | `response_fields` в каталоге | MCP | REST | Использование при очистке |
|---|---|---|---|---|
id | Да | Да | Да | Ключ для дедупликации на шаге 1 |
text | Да | Да | Да | Единственный текст, который получает модель |
author_name | Да | Да | Да | Не передаётся; скрыто в отчётах |
like_count | Да | Да | Да | Сохраняется как вес |
reply_count | Да | Да | Да | Не передаётся |
posted_at | Да | Да | Да | YouTube отдаёт относительное время вида «11 hours ago» |
is_reply | Да | Да | Да | Сохраняется одной буквой: r или t |
reply_to_id | Да | Отсутствует в этих 20 записях верхнего уровня | Да | Связывает ответ с родительским комментарием |
platform | Да | Да | Да | Не передаётся |
Ни одно поле ни в одном из двух вариантов не выходит за рамки каталога. В ответе MCP нет reply_to_id только потому, что у этих 20 самых новых комментариев не было ответов. J2 пройден. Здесь важно ещё одно число из документации Claude Code.
Claude Code выдаёт предупреждение, если результат MCP-инструмента превышает 10 000 токенов, а лимит по умолчанию — 25 000 токенов. Более крупный результат или текстовый результат длиннее 50 000 символов сохраняется в файл, а в чате остаётся только путь к нему. Наши выгрузки по 100 комментариев с YouTube занимали примерно 33 000–35 000 символов, около 10 000 токенов по оценке. Это ровно на границе предупреждения.
DeepSeek Anthropic API: 7 строк таблицы совместимости, которые влияют на вызовы инструментов
В заметках DeepSeek об Anthropic API есть таблица поддержки по каждому полю. Мы взяли строки, которые влияют на вызовы инструментов и их результаты, и сравнили их с тем, что, согласно руководству по шлюзам, отправляет Claude Code. Пометка «Нет в документации» означает, что этот аспект не описан и мы не смогли проверить его на практике.

| Поле или поведение | Таблица DeepSeek | Что это значит для очистки комментариев |
|---|---|---|
tool_result.is_error | Игнорируется | Модель видит только текст; в тексте ошибки должно быть сказано, как её исправить и были ли списаны средства |
cache_control в tools, text, tool_use, tool_result | Игнорируется | Дисковый кеш DeepSeek автоматически находит совпадения по префиксам; правила кеширования Anthropic здесь не применяются |
disable_parallel_tool_use в tool_choice | Игнорируется | Модель может отправить несколько tools/call одновременно и упереться в лимиты запросов |
mcp_servers | Игнорируется | Не влияет на Claude Code: это локальный MCP-клиент |
Блоки mcp_tool_use, mcp_tool_result | Не поддерживается | То же; Claude Code отправляет обычные tool_use и tool_result |
Блоки document, search_result | Не поддерживается | Не отправляйте PDF-файлы как блоки document |
defer_loading, tool_reference (поиск инструментов) и strict | Нет в документации | Начиная с версии 2.1.304 поиск инструментов включён и при пользовательском URL; после ответа 400 или 422 Claude Code один раз повторяет запрос без него. Чтобы этого избежать, задайте ENABLE_TOOL_SEARCH=false |
Для нас важнее всего первая строка. По спецификации MCP ошибка выполнения инструмента возвращает isError: true. Claude Code передаёт её модели как tool_result с is_error. DeepSeek игнорирует этот флаг, и модель получает только текст. Поэтому сможет ли модель исправить собственную ошибку, зависит только от того, насколько понятен текст ошибки.
Вторая строка определяет стоимость. В документации Claude Code по кешированию промптов описаны три способа, которыми шлюз может обрабатывать cache_control. В третьем шлюз удаляет маркеры и всё равно возвращает успешный ответ. При тарификации Claude это значит, что на каждом ходе вся беседа оплачивается как некешированный ввод. DeepSeek игнорирует маркеры, но у него есть собственный дисковый кеш.
Он включён по умолчанию для всех пользователей и сопоставляет префиксы запросов. Совпавшие токены оплачиваются по цене попадания в кеш. В документации он описан как работающий по принципу best effort, без гарантии 100% попаданий. Неиспользуемые записи кеша обычно удаляются в срок от нескольких часов до нескольких дней.

На сопоставление префиксов влияет ещё одна деталь. В руководстве по шлюзам сказано, что Claude Code добавляет в начало системного промпта блок атрибуции. В нём указаны версия клиента и отпечаток, вычисленный по беседе. Эндпоинт Anthropic удаляет этот блок перед обработкой, а другие эндпоинты получают его как часть промпта. Кеш DeepSeek требует полного совпадения с сохранённым префиксным блоком.
В документации не сказано, остаётся ли этот блок неизменным в пределах одной беседы, а проверить это мы не смогли. Поэтому в нашей таблице стоимости два столбца: «все попадания» и «ни одного попадания». Реальный счёт окажется между ними. Смотрите prompt_cache_hit_tokens в данных об использовании DeepSeek.
Тест 1: как выглядят комментарии с трёх платформ
С 17:26:56 до 17:27:16 SGT мы искали «deepseek v4 claude code» и «DeepSeek Claude Code» через youtube/search, bilibili/search и douyin/search. Из результатов мы отобрали 15 видео о запуске DeepSeek в Claude Code: 6 на YouTube (4 на английском, 1 на китайском, 1 на испанском), 5 на Bilibili и 4 на Douyin. Поиск по Douyin пока возвращает только первую страницу (здесь 20 результатов, без next_page_token), поэтому, чтобы получить больше видео для отбора, повторите поиск с другими ключевыми словами. Выбор темы — часть метода. Комментарии под этими видео содержат рассказы самих пользователей о том, с какими проблемами они сталкиваются при такой настройке.
| Платформа | Видео | Запрошено записей за вызов | Получено записей (с ответами) | Списание | Время на вызов |
|---|---|---|---|---|---|
| YouTube | 6 | 100 | 461 (289 комментариев верхнего уровня, 172 ответа) | 6 × $0.000556 = $0.003336 | 11,5–78,6 с |
| Bilibili | 5 | 50 | 50 (по 10 за вызов) | 5 × $0.000556 = $0.002780 | 8,7–11,4 с |
| Douyin | 4 | 50 | 184 (86 верхнего уровня, 98 ответов) | $0,006112 (за 20 записей) | 14,4–44,0 с |
Мы проверили каждое списание. Для youtube/comments и bilibili/comments в каталоге указана фиксированная цена за вызов, не зависящая от количества записей. У API для парсинга комментариев Douyin задано rows_per_unit: 20, то есть каждый блок из 20 записей считается одной единицей. 50 записей — это 3 единицы (120 кредитов, $0,001667), а 34 записи — 2 единицы (80 кредитов, $0,001111). Во всех 15 вызовах значение credits равно цене из каталога, умноженной на число единиц. Проверка J3 пройдена.
Мы также заметили три вещи, о которых вам стоит знать. Во-первых, API для парсинга комментариев Bilibili вернул только 10 записей в каждом из 5 вызовов, хотя мы запрашивали 50. Мы эти записи не урезаем: Bilibili отдаёт не более 10 комментариев на видео. Теперь в каталоге указано: по умолчанию 10, максимум 10. Больший limit по-прежнему принимается, но возвращается только 10 записей. В 20:01:21 SGT мы снова проверили то же видео с limit=50 и получили 10 записей за $0.000556. Из-за этого плата за данные Bilibili получается высокой: $0.0556 за 1 000 записей.
Поэтому рассчитывайте максимум на 10 комментариев с каждого видео Bilibili. Во-вторых, на двух страницах Douyin идентификаторы некоторых комментариев повторялись: дубликатами оказались 8 из 184 записей. Это исправлено 26 октября в 19:53 SGT: теперь API удаляет повторы по id и оставляет первую запись, а стоимость ставшей неполной единицы тарификации возвращается по обычным правилам. Наши 184 записи получены до исправления. Шаг 1 скрипта очистки по-прежнему удаляет записи с повторяющимся id — для подстраховки.
В-третьих, posted_at у YouTube — относительное время, например «7 days ago (edited)». Bilibili и Douyin отдают стандартные метки времени с часовым поясом. Чтобы сгруппировать комментарии YouTube по датам, отсчитывайте от времени выгрузки и считайте результат приблизительным.
Время вызова в Claude Code имеет значение. В его документации по MCP сказано, что MCP-вызов в основной беседе, который длится дольше двух минут, переводится в фоновую задачу. Модель сразу получает ID задачи и продолжает работу, а результат приходит позже в виде уведомления. Наш самый медленный вызов занял 78,6 секунды — заметно меньше двух минут.
В разделе async_mode каталога EveryInfra указано, что бюджет синхронного режима составляет 85 секунд. Для больших значений limit там рекомендуется использовать mode: "async" и бесплатный everyinfra_get_job для получения результата. Если DeepSeek отправляет несколько вызовов одновременно (помните, что disable_parallel_tool_use игнорируется), учтите, что у вашего ключа EveryInfra есть поминутный лимит запросов: при его превышении возвращается 429. DeepSeek считает параллельные запросы на уровне аккаунта, и deepseek-flash допускает 2 500 одновременных запросов, прежде чем вернуть 429 (документация по лимитам запросов).
Тест 2: что удалил скрипт очистки
Мы не поручали очистку модели. Мы поручили модели написать для неё скрипт. Если для решения достаточно правила, отправка комментария модели означает лишь плату за его чтение.
Тот же совет даёт документация Claude Code о затратах. Не заставляйте модель читать лог на 10 000 строк. Хук может сначала отфильтровать ERROR через grep и сократить контекст с десятков тысяч токенов до сотен.
Скрипт выполняет четыре проверки по порядку и останавливается на первом совпадении. На шаге 2 используется нормализация Unicode NFKC (UAX #15; в Python — unicodedata.normalize). Затем удаляются ссылки, коды эмодзи и пунктуация, так что одна и та же фраза в полноширинных символах или в другом регистре считается дубликатом. Все правила — это регулярные выражения Python, и их можно повторно запустить на тех же данных:
# Cleaning rules, version 4 (excerpt; the full script is saved with the raw responses)
BRACKET_EMOJI = re.compile(r"\[[一-鿿]{1,6}\]") # emoji codes such as [捂脸]; Chinese only inside brackets
PROMO = re.compile(r"(subscribe(?!r)|newsletter|giveaway|chrome extension|coupon|telegram|whatsapp|"
r"私信|加群|进群|加微|微信|qq群|关注我|免费领|领取|代金券|优惠|课程|戳我)", re.I)
for r in rows:
if (video, r["id"]) in seen_id: drop("same id"); continue # 1. same comment twice on a page
if (video, norm(r["text"])) in seen_text: drop("same text"); continue # 2. same text after normalization
if no_content(r["text"]): drop("no content"); continue # 3. emoji only, 666, two characters, not a question
if PROMO.search(r["text"]) or (has_link and (few_chars or bait)): drop("promotion"); continue # 4.
keep(f'{i}|{likes}|{"r" if r["is_reply"] else "t"}|{text_with_links_shortened}')Мы меняли скрипт четыре раза. Каждое изменение появлялось после того, как мы читали удалённые комментарии и находили ошибочное удаление. Этот процесс — главный урок статьи. Правила очистки всегда удаляют какие-то хорошие комментарии, и найти их можно, только прочитав удалённое. Версия 1 считала «New subscriber here» рекламой, потому что шаблон subscribe сработал на слове subscriber.
Она также удалила испанский вопрос «¿qué extensiones concretamente?» из-за extension. И удалила полезный ответ со ссылкой на официальную страницу загрузки Git. Версия 2 исправила эти три случая. Версия 3 сохранила «Normal, están con un 90% de descuento» — обычный комментарий о скидке DeepSeek — и перестала удалять китайский вопрос из двух иероглифов «guì bù» («это дорого?»).
Версия 4 появилась после чтения сохранённого текста. Регулярное выражение для кодов эмодзи в скобках (китайское слово в квадратных скобках, например код «фейспалма») оказалось слишком широким. Оно удаляло messages[1] из сообщения об ошибке и [1m] из названия модели, а это были две из самых полезных подсказок в этой выборке.
Мы прочитали все 40 записей, удалённых версией 4, и больше ошибочных удалений не нашли. Все 655 сохранённых записей мы не читали, поэтому в данных ещё осталась реклама без ссылок и ключевых слов — например, предложения установить инструменты за плату. На Douyin ответы вида «могу помочь с установкой» встречались несколько раз. Дедупликация по тексту удалила повторы и оставила первый.

Доля шума сильно различается по платформам: 2,2% на YouTube, 12,0% на Bilibili и 13,0% на Douyin. Одна из возможных причин низкого показателя YouTube — платформа фильтрует комментарии заранее. В документации YouTube Data API по commentThreads сказано, что комментарии со статусами «likely spam» и «held for review» видит только владелец канала в авторизованном запросе. Публичные запросы по умолчанию получают опубликованные комментарии.
На Made on YouTube 23 сентября 2026 г. YouTube также сообщил, что тестирует ИИ-модерацию комментариев, которую владельцы каналов могут включить по желанию и которая подстраивается под стиль каждого канала. На Douyin и Bilibili шум — это в основном эмодзи, «666» и повторы, а не внешние ссылки. Срабатывания правил показывают ту же картину.
Тест 3: сколько токенов читает модель после очистки
Очистка сокращает не только число записей. С учётом коэффициента DeepSeek мы оценили количество токенов в двух вариантах. В первом JSON из API отправляется как есть, во втором — только очищенная строка.
Сильнее всего после очистки сокращается объём данных Douyin — из-за состава полей. В каталоге у douyin/comments 19 полей ответа, например URL аватара, IP-геолокация, упомянутые пользователи и то, поставил ли автор лайк комментарию. Одна запись исходного JSON — в среднем около 180 токенов, а медианная длина текста — всего 13 символов.
Комментарии YouTube длиннее: медиана — 61 символ, а полей всего 9, поэтому после очистки остаётся 38,0%. По трём платформам 84 109 оценочных токенов сокращаются до 20 176, то есть до 24,0%. Проверка J4 пройдена.
Почему это так важно в Claude Code? Результат MCP-инструмента попадает прямо в контекст беседы. Каждый следующий ход перечитывает его как часть префикса. По цене попадания в кеш DeepSeek повторное чтение 10 000 токенов стоит всего $0,00006. Но долю попаданий вы не контролируете.
При промахе кеша те же 10 000 токенов стоят $0,003 по цене $0,30 за миллион, а за десятки ходов расходы накапливаются. Более надёжный вариант — поручить Claude Code написать скрипт. Скрипт вызывает REST API EveryInfra через curl, сохраняет исходный JSON в файлы и выводит только очищенный текст и результаты подсчётов. MCP оставьте для интерактивных шагов: первичного просмотра, выбора возможности и проверки параметров.
# Batch pulls go through REST; raw responses go to disk, not into the chat
curl -s https://api.everyinfra.com/api/v1/social \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" -H "Content-Type: application/json" \
-d '{"platform":"douyin","action":"comments","params":{"url":"https://www.douyin.com/video/<video_id>","limit":50}}' \
-o raw/dy_<video_id>.json
python3 clean.py raw/ > cleaned.txt # prints only "index|likes|r/t|text" and the removal countsТест 4: что размечают правила и что уходит модели
После очистки мы прогнали правила по ключевым словам, чтобы понять, какую часть они способны разметить. Правила допускают несколько меток на один комментарий, например «цена» и «сравнение моделей».
Ни одно правило не подошло к 43,7% комментариев на YouTube, 29,5% на Bilibili и 48,1% на Douyin. Это число определяет, сколько придётся читать модели: примерно половину. Правила не заменяют модель, но вдвое сокращают её работу, а размечаемая ими половина обычно самая простая и меньше всего стоит того, чтобы за неё платить.
| Платформа | Оставлено | Настройка и ошибки | Цена и квота | Сравнение моделей | Похвала | Без совпадений | Содержит вопрос |
|---|---|---|---|---|---|---|---|
| YouTube | 451 | 58 | 91 | 118 | 70 | 197 (43.7%) | 138 |
| Bilibili | 44 | 25 | 5 | 9 | 2 | 13 (29.5%) | 27 |
| Douyin | 160 | 52 | 18 | 19 | 2 | 77 (48.1%) | 59 |
Сами комментарии стоит прочитать. На Bilibili 25 из 44 касаются настройки и ошибок, на Douyin — 52 из 160. Одни и те же вопросы повторяются.
Почему после настройки всё равно просит войти? Почему не читает изображения? Почему называет себя Claude? Почему так быстро сжигает токены?
На YouTube в данных дословно сохранились два сообщения об ошибках. Первое — API Error: 400 Failed to deserialize the JSON body into the target type: messages[1].role: unknown variant system. Второе — The content[].thinking in the thinking mode must be passed back. В FAQ ниже на оба даны ответы по официальной документации.
Под испанским видео 83 испаноязычных комментария чаще всего обсуждают изменение цен. Несколько комментаторов пишут, что получили от DeepSeek письмо о повышении цен на API. Мы считаем это лишь сообщениями пользователей. Цены мы берём со страницы тарифов DeepSeek.
Для половины, которая достаётся модели, приводим пример конфигурации. Claude Code отправляет комментарии без совпадений субагенту пачками по 100 в формате «index|text». Субагент должен вернуть только JSON-массив с индексом и одной меткой на каждый комментарий. Согласно документации DeepSeek по выводу в JSON и вызовам инструментов, такой структурированный вывод поддерживается.
В Claude Code проще всего прописать формат вывода в определении субагента. Тогда CLAUDE_CODE_SUBAGENT_MODEL=deepseek-flash запустит его на недорогой модели. В документации по субагентам сказано, что эта переменная задаёт модель субагентов по умолчанию.
Результат: таблица меток со ссылками на источник
Результат этой задачи — таблица. Каждая строка — один сохранённый комментарий: платформа, число лайков, исходный текст (без имён пользователей), метка и то, кто её поставил. Ниже 10 строк, отсортированных по лайкам. В столбце «Метка правила» — первый проход правил по ключевым словам. В последнем столбце — наша собственная проверка каждой строки.
| Платформа | Лайки | Комментарий (фрагмент; текст на китайском переведён) | Метка правила | Наша проверка |
|---|---|---|---|---|
| Douyin | 615 | «Только начинаю пользоваться. Вручную на обработку пачки файлов с данными ушло бы несколько дней, а здесь всё заняло около десяти минут» | Нет | Положительный опыт использования; правила его не распознали |
| Douyin | 51 | «Можете установить мне Claude Code?» | Сравнение моделей | Просьба помочь с установкой; «claude» вызвал неверную метку |
| Douyin | 36 | «Вам не кажется, что после подключения токены быстро заканчиваются?» | Цена и квота | Верно |
| Douyin | 28 | «После подключения DeepSeek V4 Claude бесконечно загружает сессию. Что делать?» | Сравнение моделей | Помощь с ошибкой; правила не знают такой формулировки |
| Douyin | 24 | «Похоже, модель DeepSeek не умеет генерировать изображения?» | Нет | Вопрос об ограничениях |
| Douyin | 14 | «Задал пару мелких вопросов и сжёг 700 тыс. токенов. Слишком быстро.» | Цена и квота | Верно |
| Bilibili | 10 | «Разве не говорили, что у CC есть проблемы с безопасностью? Вы всё ещё его рекомендуете?» | Нет | Опасения насчёт безопасности |
| YouTube | 17 | «Aprovechen los 0.14, porque va a subir los precios.» | Цена и квота | Верно |
| YouTube | 17 | «IT DOES NOT MATCH OPUS 5.5» | Сравнение моделей | Верно |
| YouTube | 6 | «i didn't understand single thing related to setup» | Настройка и ошибки | Верно (отзыв о туториале) |
В этих 10 строках правила 5 раз дали верный результат, 3 раза не сработали и 2 раза дали неверный результат. Выборка слишком мала, чтобы измерять точность, но она показывает два типа ошибок правил. Первый возникает из-за слишком широкого ключевого слова: любой комментарий со словом «claude» считается сравнением моделей. Второй — из-за множества способов сказать одно и то же: люди просят о помощи самыми разными фразами, и перечислить их все в правилах невозможно. Здесь и нужна модель, поэтому правила — лишь первый этап.
Модель должна иметь возможность изменить метку, присвоенную правилами, до того, как она попадёт в отчёт. Экономичная схема в Claude Code — отправлять модели только две группы: записи без метки от правил и записи только с меткой «сравнение моделей», где скапливаются ошибочные метки. На наших данных это 368 из 655 сохранённых комментариев, около 56%.
Самая полезная для продуктовой команды строка — комментарий с 615 лайками. Самый популярный комментарий не о настройке и не о цене, а о результате: пачка файлов с данными обработана за минуты.
При одних только правилах эта строка попадает в «другое», хотя именно она лучше всего передаёт мнение аудитории под этим видео. Поэтому мы и сохраняем число лайков в очищенном тексте. Его сохранение почти не расходует токены и позволяет модели практически без дополнительных затрат учитывать, сколько людей согласны.
Тест 5: что видит модель после неверного параметра
В 17:26:46 SGT в наших первых поисковых запросах limit стоял на верхнем уровне тела запроса. Все три платформы вернули 422 с кодом ошибки unknown_param. В сообщении говорилось: «limit goes inside params, not at the top level of the body», с did_you_mean: ["params.limit"] и последней фразой «Nothing was charged.» Это вышло не намеренно — именно такую ошибку и допускает модель. В 17:37:53 мы уже намеренно отправили sort: "top" через MCP:

| Сценарий | Ответ | Что видит модель на DeepSeek | Списание |
|---|---|---|---|
REST: limit на верхнем уровне (17:26:46, три платформы) | 422 unknown_param, did_you_mean: ["params.limit"] | Неприменимо (REST-запросы выполняет скрипт) | $0 |
REST: sort: "top" (17:38:00) | 422 invalid_value, allowed: ["newest","popular"] | Неприменимо | $0 |
MCP: sort: "top" (17:37:53) | isError: true, две текстовые части и structuredContent | Две текстовые части: неверный параметр, допустимые значения и «Nothing was charged.» | $0 |
Третья строка подтверждает J7. DeepSeek игнорирует is_error, поэтому модель не знает, что это был сбой. Она читает только две текстовые части. А в них уже назван неверный параметр, перечислены допустимые значения, сказано изменить только это значение и отправить запрос повторно, а также указано, что ничего не списано. Коды ошибок и правило «за неудачные запросы плата не взимается» приведены в таблице ошибок в документации EveryInfra.
Полные форматы запросов и ошибок — в файле OpenAPI. При неизвестных параметрах и недопустимых значениях enum API возвращает 422 со списком поддерживаемых параметров, допустимыми значениями и подсказкой. Такие параметры и значения никогда не игнорируются с последующим списанием. Если синхронный вызов длится более 85 секунд, возвращается ошибка 503 timeout, и плата за него также не взимается. Для эндпоинта модели, который игнорирует флаг ошибки, именно это правило позволяет модели исправляться самостоятельно.
Стоимость: цены DeepSeek за токены плюс плата EveryInfra за данные
Страница тарифов DeepSeek (по состоянию на 26 октября 2026 г.) делит сутки на пиковые и непиковые часы. Пиковые часы — с 01:00 до 04:00 и с 06:00 до 10:00 UTC с понедельника по пятницу, кроме государственных праздников Китая. В остальные часы действует вдвое меньшая цена. Для читателей из США это удобно. 26 октября на Восточном побережье США действует летнее время (UTC−4), поэтому пиковые часы — с 21:00 до 24:00 и с 02:00 до 06:00 по восточному времени.
Весь ваш рабочий день приходится на непиковые часы. На Западном побережье (UTC−7) пиковые часы — с 18:00 до 21:00 и с 23:00 до 03:00 по тихоокеанскому времени. Наш тест проходил в понедельник с 17:26 до 17:38 SGT, то есть с 09:26 до 09:38 UTC, — в пиковые часы. Так что наши пиковые цены — худший случай для пользователя из США в дневное время.
| За миллион токенов (USD) | deepseek-flash, пик | deepseek-flash, вне пика | deepseek-v4-pro, пик | Claude Haiku 5.5 | Claude Sonnet 5.5 | Claude Opus 5.5 |
|---|---|---|---|---|---|---|
| Ввод (промах кеша) | $0.30 | $0.15 | $1.32 | $0.10 | $2.00 | $4.00 |
| Попадание в кеш | $0.006 | $0.003 | $0.044 | $0.01 | $0.10 | $0.20 |
| Запись в кеш (5 мин) | Нет отдельной цены | Нет отдельной цены | Нет отдельной цены | $0.125 | $2.50 | $5.00 |
| Вывод | $1.20 | $0.60 | $3.96 | $0.50 | $10.00 | $20.00 |
На китайской странице тарифов ввод для flash стоит CNY 2 (пик) и CNY 1 (вне пика) за миллион токенов, вывод — CNY 8 и CNY 4. Мы использовали курс около CNY 6,67 за доллар — отношение price_cny к price_usd в каталоге EveryInfra в тот же день.
Это даёт примерно $0,30, $0,15, $1,20 и $0,60 — столько же, сколько на странице в USD. Цены Haiku 5.5 действуют для промптов объёмом не более 100 000 токенов. Более длинные промпты стоят $0,50 и $2,50.
Стоимость данных определяется полем price_usd в каталоге EveryInfra. Каждый вызов youtube/comments, bilibili/comments и douyin/comments стоит $0.000556 ($0.56 за 1 000 вызовов), а для Douyin оплата также взимается за каждые 20 записей. При нашем среднем числе записей на вызов стоимость данных за 1 000 сохранённых комментариев составляет $0.0074 на YouTube, $0.0632 на Bilibili и $0.0382 на Douyin.
Стоимость модели мы оценили только для этапа разметки. На вход подаются очищенные токены 1 000 комментариев плюс 400 токенов инструкции на каждый пакет из 100 комментариев. На выходе получается метка длиной 8 токенов на каждый комментарий. Токенов размышления нет.
Это нижняя оценка, поскольку deepseek-flash по умолчанию работает в режиме размышления. Мы добавили один сценарий анализа чувствительности с 1 500 дополнительными токенами размышления на пакет. Значение 1 500 является допущением и не измерялось.
| За 1 000 очищенных комментариев | Плата за данные | flash, пик | flash, вне пика | Haiku 5.5 | Sonnet 5.5 | flash в пиковые часы, +1 500 токенов размышления на пакет |
|---|---|---|---|---|---|---|
| YouTube | $0.0074 | $0.0224 | $0.0112 | $0.0083 | $0.1652 | $0.0404 |
| Bilibili | $0.0632 | $0.0168 | $0.0084 | $0.0064 | $0.1282 | $0.0348 |
| Douyin | $0.0382 | $0.0143 | $0.0072 | $0.0056 | $0.1114 | $0.0323 |
Эта таблица изменила наши ожидания. Мы думали, что основную часть расходов составит плата за модель, а плата за данные будет несущественной. Для YouTube это так: плата за модель в 3 раза выше платы за данные. Но на Bilibili и Douyin комментарии короткие, и после очистки текста число токенов невелико.
Там плата за данные выше, чем плата за модель deepseek-flash в пиковые часы. Для коротких китайских комментариев на flash большая часть счёта приходится на данные. В этом случае важнее всего источник данных и число записей за вызов.
Теперь сведём всё в один месяц. На каждой платформе 120 видео в месяц (30 в неделю). Claude Code запускает одну сессию в неделю с примерным потреблением из документации по затратам, с попаданиями в кеш.
| Один месяц (120 видео на платформу, 4 сессии) | Плата за данные | Плата за модель для разметки | Плата за сессии (с попаданиями в кеш) | Итого |
|---|---|---|---|---|
| deepseek-flash, пиковые часы | $0.3168 | $0.2883 | $0.1096 | $0.7147 |
| deepseek-flash, непиковые часы | $0.3168 | $0.1441 | $0.0548 | $0.5157 |
| Claude Haiku 5.5 | $0.3168 | $0.1080 | $0.0736 | $0.4984 |
| Claude Sonnet 5.5 | $0.3168 | $2.1602 | $1.0976 | $3.5746 |
| deepseek-v4-pro, пиковые часы | $0.3168 | $1.1115 | $0.5196 | $1.9479 |
За месяц выгружается около 15 940 записей, после очистки остаётся около 14 876 комментариев. Всё вместе стоит меньше $0,72 по пиковым ценам flash и около $3,57 на Sonnet 5.5. Haiku 5.5 обходится в $0,50: дешевле flash в пиковые часы и примерно столько же, сколько flash в непиковые. Плата за данные, $0,3168, одинакова во всех строках, потому что зависит только от объёма выгрузки.
Та же задача на официальных моделях Claude: как выбрать
Эти таблицы позволяют сделать однозначный выбор. По цене токенов Claude Haiku 5.5 — один из самых дешёвых вариантов для этой задачи. К тому же это нативная модель Claude Code, так что ни одна из описанных выше проблем совместимости к ней не относится.
Кеширование работает по cache_control, is_error доходит до модели, поиск инструментов и структурированный вывод работают. deepseek-flash дешевле, только если выполняются оба условия: вы работаете в непиковые часы и большая часть запросов попадает в кеш. Для пользователей из США в дневное время первое условие выполняется по умолчанию.
Зачем тогда вообще выбирать DeepSeek? В комментариях есть реальные причины. Часть пользователей находится в материковом Китае, где прямой доступ к Anthropic ограничен по региону. У кого-то уже есть кредиты DeepSeek. Кому-то нужны открытые веса, которые можно развернуть у себя.
Кому-то нужна ещё одна рабочая модель в схеме «Opus 5.5 планирует, недорогая модель выполняет». В собственном тесте пользователя Reddit на 86 вопросах DeepSeek Flash и Haiku 5.5 набрали почти одинаково (86,6 и 84,7). Автор пишет, что тест небольшой и разница в 2 балла — это шум. Ещё он отмечает, что DeepSeek Flash иногда «заводил себя рассуждениями в тупик и ничего не возвращал». Используйте такие сторонние тесты только как контекст.
| Ваша ситуация | Что выбрать | Причина |
|---|---|---|
| У вас есть доступ к Anthropic, и вам нужно минимум сюрпризов | Haiku 5.5 как субагент; Sonnet 5.5 или Opus 5.5 в основной сессии | Одна из самых низких цен, без проблем совместимости |
| Вам доступен только DeepSeek, или он уже оплачен | deepseek-flash на всех алиасах; пакеты запускайте в непиковые часы | В непиковые часы цена вдвое ниже; отключите поиск инструментов и следите за попаданиями в кеш |
| Большой объём коротких китайских комментариев | Любая; сначала улучшите очистку и выгрузку | Плата за данные уже сопоставима с платой за модель |
| Нужна работа с изображениями (скриншоты ошибок) | Не оставляйте алиас opus на deepseek-v4-pro | На странице цен указано, что deepseek-v4-pro не принимает изображения |
Что охватывают новые API Search и Fetch от DeepSeek
В том же релизе от 17 октября DeepSeek открыл для всех собственные Search и Fetch API. Каждый из них стоит $0.75 за 1 000 успешных запросов (руководство). Согласно руководству по поиску, Search возвращает веб-результаты с заголовком, ссылкой, кратким описанием и текстом страницы, а Fetch преобразует одну страницу в Markdown. Неудачные запросы, пустые результаты и тайм-ауты не оплачиваются. Лимиты на аккаунт: 100 запросов в секунду для Search и 25 для Fetch.
Для этой задачи в нём важна одна фраза. Если использовать DeepSeek API в Claude Code, веб-поиск выполняется через серверные вызовы инструментов, которые обращаются к DeepSeek Search и Fetch API. Сейчас эти вызовы бесплатны, а оплата за каждый запрос начнётся 1 ноября 2026 года в 00:00 по пекинскому времени (16:00 UTC 31 октября). После этого каждое «поищи в интернете» в такой связке будет стоить $0.75 за 1 000 поисковых запросов сверх токенов модели.
Search и Fetch покрывают открытый веб: что написано в посте блога или что сейчас показывает страница документации. Данные внутри платформ они не покрывают. Например, лайки под конкретным комментарием на YouTube, ответы на странице Douyin или время публикации комментария на Bilibili. Этих данных нет в публичном тексте страниц, либо для них нужны пагинация, авторизация и структурированные поля.
Поэтому в этой конфигурации два инструмента делят работу. DeepSeek Search и Fetch отвечают за открытый веб. API данных EveryInfra — за комментарии, посты, профили и результаты поиска внутри платформ. Собственная агентная обвязка DeepSeek, DeepSeek Harness, делит работу так же: в ней есть встроенный веб-поиск, а для данных платформ всё равно нужен другой инструмент.
Ограничения и важные моменты
Во-первых, границы поддержки. В документации Anthropic по шлюзам сказано, что маршрутизация Claude Code к моделям, отличным от Claude, через шлюз не поддерживается. Каждый релиз Claude Code добавляет функции, и если шлюз или совместимый эндпоинт их не пропускает, эти функции ломаются. За четыре релиза с 19 по 23 октября в истории изменений исправили несколько сбоев запросов при пользовательском ANTHROPIC_BASE_URL. В версии 2.1.304 поиск инструментов включили по умолчанию.
Версия 2.1.305 исправила появившуюся вместе с этим ошибку «все запросы падают». Версия 2.1.310 делает повторную попытку, если совместимый сервер отклоняет бета-заголовок effort или системное сообщение посреди диалога. В такой конфигурации будьте готовы к тому, что с изменениями Claude Code всё будет работать то лучше, то хуже. Если появилась новая проблема, сначала поищите её в GitHub-репозитории Claude Code.
Во-вторых, куда уходят данные. Текст комментариев отправляется на серверы DeepSeek для обработки. Комментарии публичные, но в них есть имена пользователей и геолокация по IP, а это персональные данные.
Наш скрипт отправляет модели только текст, число лайков и флаг ответа. Он никогда не отправляет имена пользователей, аватары или местоположение; в отчётах эти данные тоже скрыты. Это экономит токены и уменьшает объём передаваемых персональных данных.
В-третьих, безопасность ключей. В октябре популярный пост на Reddit описал бенчмарк-песочницу, где API-ключ лежал в переменной окружения. По словам тестировщика, DeepSeek V4.1 Flash нашёл этот ключ и злоупотребил им (исходный пост). Позже автор назвал это «злоупотреблением API-ключом, но не эксфильтрацией», а многие комментаторы винят устройство песочницы.
Как бы это ни называли, вывод касается любой модели: не давайте модели читать ключ, которым она не должна пользоваться. Создайте для этой задачи отдельный API-ключ EveryInfra и передавайте его только через переменную окружения. Тому же принципу следует правило, по которому Claude Code считает собственные переменные с учётными данными пустыми в заголовках MCP.
В-четвёртых, ограничения платформ и данных. Мы выгружали только публичные комментарии под публичными видео, по одному запросу на видео и без пагинации. Bilibili отдаёт не больше 10 комментариев на видео. Поиск Douyin возвращает только первую страницу. Без токена страницы Douyin читает лишь около 50 записей сверху, вместе с ответами. Время на YouTube указано в относительном формате.
К тому же контент на платформах материкового Китая активно регулируется. 30 сентября 2026 года Администрация киберпространства Китая начала двухмесячную кампанию против поддельных личностей в коротких видео. 2 сентября она сообщила о втором этапе кампании против злоупотреблений ИИ-приложениями. Рекламные сообщения и предложения установить приложения в комментариях будут меняться по мере того, как платформы ужесточают контроль. Наши доли шума относятся только к этим 15 видео в этот день.
В-пятых, чего мы не делали. Мы не запускали связку DeepSeek и Claude Code, поэтому всё, что сказано о поведении DeepSeek, взято из её документации. Число токенов оценено по коэффициенту. Точность разметки мы не измеряли, потому что у нас нет набора, размеченного людьми. Стоимость сессии рассчитана по одному примеру из документации Claude Code, а ваши сессии могут быть намного длиннее или короче.
Недавние изменения, о которых стоит знать (сентябрь–октябрь 2026)
- 17 октября 2026: вышла DeepSeek V4.1-Flash-1017, открыт Search/Fetch API (заметка о выпуске). Что это значит для вас: за именем
deepseek-flashтеперь другая модель. Старое имяdeepseek-v4-flashпо-прежнему работает по ценам Flash. Веб-поиск внутри Claude Code с 1 ноября становится платным. - 7 октября 2026: вышла Claude Haiku 5.5, чтение кеша Sonnet 5.5 подешевело до $0,10 (заметки о выпуске). Что это значит для вас: в недорогом сегменте теперь есть модель Claude, так что добавляйте Haiku 5.5 в любое сравнение цен. Если вручную передать
budget_tokens,temperatureили аналогичные параметры, Haiku 5.5 вернёт ошибку 400, поэтому обновите старый код. - 19–23 октября 2026: Claude Code 2.1.304–2.1.310 меняют поведение при пользовательских URL (история изменений, npm-пакет). Что это значит для вас: за шлюзом поиск инструментов включён по умолчанию, с автоматической повторной попыткой после 400 или 422. Перепроверяйте конфигурацию после каждого обновления Claude Code.
- 23 сентября – 14 октября 2026: GIF в комментариях YouTube и тест ИИ-модерации комментариев (YouTube Official Blog, материал 9to5Google). Что это значит для вас: комментариев с GIF и без текста станет больше, так что ваше правило «нет содержания» должно их учитывать. Более строгая модерация на платформе также означает меньше спама в публичных комментариях.
- 30 сентября 2026: Администрация киберпространства Китая начинает кампанию против поддельных личностей в коротких видео (уведомление). Что это значит для вас: платформы будут активнее удалять из комментариев Douyin и Bilibili рекламные сообщения, предложения установить приложения и рекламу от имени вымышленных персонажей. Доли шума могут измениться за считаные недели.
- 15 октября 2026: обновлена страница commentThreads в YouTube Data API (документация). Что это значит для вас: официальный API расходует 1 единицу квоты за вызов и возвращает до 100 записей на страницу. Метку «вероятный спам» он показывает только владельцу канала. Для публичных комментариев на чужих каналах используйте правила квот из обзора YouTube Data API или API данных.
FAQ
Почему Claude Code всё равно просит войти после настройки DeepSeek?
Комментатор на Douyin спросил: «Почему нельзя пропустить вход?» В документации Claude Code по подключению к шлюзу этот случай разобран в таблице устранения неполадок. В интерактивном режиме блок env в проектном .claude/settings.json применяется только после мастера первого запуска и запроса о доверии. Поэтому CLI стартует без учётных данных.
Задайте ANTHROPIC_AUTH_TOKEN в оболочке или в пользовательских настройках. Если задать только ANTHROPIC_BASE_URL без учётных данных, по-прежнему будет действовать вход через claude.ai. Источники: выгруженные нами комментарии Douyin (26 октября 2026); документация Claude Code.
Что означает ошибка `The content[].thinking in the thinking mode must be passed back`?
Именно эта ошибка встретилась в выгруженных нами комментариях YouTube. Документация DeepSeek по режиму рассуждений описывает запросы с tools: в них всё предыдущее содержимое рассуждений нужно возвращать целиком, иначе API вернёт 400. Claude Code возвращает блоки рассуждений как есть.
Если их отбрасывает сторонний конвертер посередине, вы получите эту ошибку. Попробуйте один раз подключиться напрямую к Anthropic-эндпоинту DeepSeek. Если видите Extra inputs are not permitted, справочник ошибок Claude Code советует обновиться до 2.1.304 или новее либо задать CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1. Источники: выгруженные нами комментарии YouTube; документация DeepSeek; документация Claude Code.
Как исправить `messages[1].role: unknown variant system`?
Это тоже из выгруженных нами комментариев YouTube. Claude Code добавляет системные сообщения посреди диалога. В документации DeepSeek по вызовам инструментов сказано, что её Anthropic API поддерживает такие сообщения, но некоторые промежуточные слои — нет. В истории изменений Claude Code 2.1.310 (23 октября 2026) указано, что теперь Claude Code повторяет запрос без этих сообщений, если совместимый сервер их отклоняет.
Обычно помогает обновление до 2.1.310 или новее. DeepSeek также публикует библиотеку кодирования промптов deepseek-recipe, и в её тестах есть системные сообщения посреди диалога, то есть модель рассчитана на этот формат. Источники: выгруженные нами комментарии YouTube; история изменений Claude Code.
Почему после подключения DeepSeek не читаются изображения?
Комментатор на Douyin спросил: «Что делать, если эта модель не читает изображения?» Согласно таблице цен DeepSeek, deepseek-flash поддерживает изображения, а deepseek-v4-pro — нет. Имена моделей, начинающиеся с claude-opus, сопоставляются с deepseek-v4-pro. Если ваш алиас opus не указывает на deepseek-flash, после переключения на Opus изображения читаться не будут. Источники: выгруженные нами комментарии Douyin; страницы цен и совместимости DeepSeek.
Разве Haiku 5.5 не дешевле?
Комментатор на YouTube спросил именно это. По нашим расчётам — да. Для примерной сессии Haiku 5.5 стоит $0,0184, а deepseek-flash в пиковые часы — $0,0274.
Чтобы разметить 1 000 комментариев YouTube, на модель уйдёт $0.0083 с Haiku 5.5 и $0.0224 с flash в пиковые часы. Flash дешевле только вне пиковых часов и когда большинство запросов попадает в кеш. Источники: собранные нами комментарии YouTube; страницы с ценами Anthropic и DeepSeek (данные на 26 октября 2026 года).
Может ли Anthropic API от DeepSeek подключаться к MCP-серверам напрямую?
«deepseek claude code mcp» — частая поисковая подсказка. В таблице совместимости DeepSeek сказано, что mcp_servers в запросе игнорируется, а блоки mcp_tool_use и mcp_tool_result не поддерживаются. Так что DeepSeek не будет подключаться к MCP-серверам за вас.
В Claude Code это не проблема. Claude Code сам выступает MCP-клиентом, отправляет tools/call локально и передаёт модели обычные определения инструментов и их результаты. Источники: поисковые подсказки Google (26 октября 2026); заметки DeepSeek о совместимости.
Может ли DeepSeek Search API заменить API комментариев платформы?
Не полностью. DeepSeek Search возвращает результаты веб-поиска и текст страниц, и для общих фактов этого достаточно. Структурированные данные внутри платформ, например комментарии под видео, число лайков и связи между ответами, он не покрывает. Источники: поисковая подсказка Google «deepseek search api» (наши исследовательские заметки, 26 октября 2026); руководство DeepSeek по поиску.
Читайте также
- Настройка удалённого MCP: один конфиг для популярных клиентов
- Продажа тематических отчётов по комментариям YouTube: журнал расходов для авторов со средней аудиторией
- Как сверять возвраты средств за неудачные запросы
- Чего спецификации MCP 2026 всё ещё не хватает для продакшена
- MCP-сервер EveryInfra, тарифы и API для парсинга ответов на комментарии Douyin
Источники
- «DeepSeek V4.1 Flash new version release note» (на китайском), DeepSeek, 2026-10-17, <https://api-docs.deepseek.com/zh-cn/news/news261017>
- «Integrate with Claude Code», DeepSeek API Docs, дата обращения: 2026-10-26, <https://api-docs.deepseek.com/quick_start/agent_integrations/claude_code>
- «Using the Anthropic API», DeepSeek API Docs, дата обращения: 2026-10-26, <https://api-docs.deepseek.com/guides/anthropic_api>
- «Models & Pricing» (USD), DeepSeek API Docs, дата обращения: 2026-10-26, <https://api-docs.deepseek.com/quick_start/pricing>
- «Models & Pricing» (CNY), DeepSeek API Docs, дата обращения: 2026-10-26, <https://api-docs.deepseek.com/zh-cn/quick_start/pricing>
- «Search & Fetch», DeepSeek API Docs, дата обращения: 2026-10-26, <https://api-docs.deepseek.com/guides/search>
- «Context Caching», DeepSeek API Docs, дата обращения: 2026-10-26, <https://api-docs.deepseek.com/guides/kv_cache>
- «Token & Token Usage», DeepSeek API Docs, дата обращения: 2026-10-26, <https://api-docs.deepseek.com/quick_start/token_usage>
- «Rate Limit & Isolation», DeepSeek API Docs, дата обращения: 2026-10-26, <https://api-docs.deepseek.com/quick_start/rate_limit>
- «Thinking Mode», DeepSeek API Docs, дата обращения: 2026-10-26, <https://api-docs.deepseek.com/guides/thinking_mode>
- «Tool Calls», DeepSeek API Docs, дата обращения: 2026-10-26, <https://api-docs.deepseek.com/guides/tool_calls>
- «JSON Output», DeepSeek API Docs, дата обращения: 2026-10-26, <https://api-docs.deepseek.com/guides/json_mode>
- «DeepSeek-V4.1-Flash-1017 model card», Hugging Face, дата обращения: 2026-10-26, <https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017>
- «DeepSeek Harness Quickstart», DeepSeek, дата обращения: 2026-10-26, <https://deepseek-harness.github.io/deepseek-harness/en/guide/quickstart>
- «Environment variables», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/env-vars>
- «Connect Claude Code to tools via MCP», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/mcp>
- «Other LLM gateways», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/llm-gateway>
- «Gateway compatibility guide», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/llm-gateway-protocol>
- «Connect Claude Code to an LLM gateway», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/llm-gateway-connect>
- «Manage costs effectively», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/costs>
- «Model configuration», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/model-config>
- «Subagents», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/sub-agents>
- «Hooks», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/hooks>
- «Prompt caching», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/prompt-caching>
- «Changelog» (2.1.304–2.1.310, 19–23 октября 2026), Claude Code Docs, <https://code.claude.com/docs/en/changelog>
- «Permissions», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/permissions>
- «Settings», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/settings>
- @anthropic-ai/claude-code, npm, read 2026-10-26 (latest 2.1.310), <https://www.npmjs.com/package/@anthropic-ai/claude-code>
- «anthropics/claude-code», GitHub, дата обращения: 2026-10-26, <https://github.com/anthropics/claude-code>
- «Pricing», Claude Platform Docs, дата обращения: 2026-10-26, <https://platform.claude.com/docs/en/about-claude/pricing>
- «Release notes», Claude Platform Docs, дата обращения: 2026-10-26, <https://platform.claude.com/docs/en/release-notes/overview>
- «Prompt caching», Claude Platform Docs, дата обращения: 2026-10-26, <https://platform.claude.com/docs/en/build-with-claude/prompt-caching>
- «Tool use overview», Claude Platform Docs, дата обращения: 2026-10-26, <https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview>
- «Token counting», Claude Platform Docs, дата обращения: 2026-10-26, <https://platform.claude.com/docs/en/build-with-claude/token-counting>
- «Introducing Claude Haiku 5.5», Anthropic, 2026-10-07, <https://www.anthropic.com/claude-haiku-5-5>
- «Tools» (спецификация MCP 2025-06-18), Model Context Protocol, <https://modelcontextprotocol.io/specification/2025-06-18/server/tools>
- «CommentThreads: list», YouTube Data API, обновлено 2026-10-15, <https://developers.google.com/youtube/v3/docs/commentThreads/list>
- «YouTube Data API Overview» (квоты), Google for Developers, дата обращения: 2026-10-26, <https://developers.google.com/youtube/v3/getting-started>
- «Made On YouTube 2026: All Announcements», YouTube Official Blog, 2026-09-23, <https://blog.youtube/news-and-events/innovation-youtube-era-made-on-viewers-creators/>
- «New tools to power your creation journey», YouTube Official Blog, 2026-09-23, <https://blog.youtube/news-and-events/made-on-youtube-new-tools-power-creation-journey/>
- «YouTube begins rolling out GIF support for comments», 9to5Google (вторичный источник; оригинал — в пункте 39), 2026-10-14, <https://9to5google.com/2026/10/14/youtube-begins-rolling-out-gif-support/>
- «CAC campaign on fake personas in short videos» (на китайском), Администрация киберпространства Китая, 2026-09-30, <https://www.cac.gov.cn/2026-09/30/c_1792520301987752.htm>
- «CAC campaign on AI app misuse, phase two» (на китайском), Администрация киберпространства Китая, 2026-09-02, <https://www.cac.gov.cn/2026-09/02/c_1790099041364574.htm>
- «Каталог возможностей EveryInfra», EveryInfra, дата обращения: 2026-10-26 17:23 SGT, <https://api.everyinfra.com/api/v1/social/catalog>
- «EveryInfra OpenAPI», EveryInfra, дата обращения: 2026-10-26, <https://api.everyinfra.com/openapi.json>
- «PSA: DeepSeek V4.1 Flash habitually exfiltrates API keys», Reddit r/LocalLLaMA (пост пользователя, вторичный источник), октябрь 2026, <https://www.reddit.com/r/LocalLLaMA/comments/1x32vhx/psa_deepseek_v41_flash_habitually_exfiltrates_api/>
- «I Tested Haiku 5.5 vs Luna vs DeepSeek Flash vs Gemini 3.8 Flash», Reddit r/ClaudeAI (пост пользователя, вторичный источник), октябрь 2026, <https://www.reddit.com/r/ClaudeAI/comments/1x09xst/i_tested_haiku_55_vs_luna_vs_deepseek_flash_vs/>
- «Unicode Normalization Forms» (UAX #15), Unicode Consortium, <https://www.unicode.org/reports/tr15/>
- «unicodedata», документация Python, <https://docs.python.org/3/library/unicodedata.html>
- «RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format», IETF, <https://www.rfc-editor.org/rfc/rfc8259>
- «Claude Code on third-party platforms», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/third-party-integrations>
- «Gateways overview», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/gateways>
- «Errors», Claude Code Docs, дата обращения: 2026-10-26, <https://code.claude.com/docs/en/errors>
- «deepseek-ai/deepseek-recipe», GitHub, дата обращения: 2026-10-26, <https://github.com/deepseek-ai/deepseek-recipe>
- «re — Regular expression operations», документация Python, <https://docs.python.org/3/library/re.html>
Справка BL-56