Как запускать AI-агентов по подписке в скриптах и обрабатывать лимиты
Подписка за 20 долларов на ChatGPT Plus или Claude Pro не заменяет API-ключ автоматически. API-ключи оплачиваются отдельно, а подписочные лимиты рассчитаны на пользователя и могут закончиться во время запуска. В 2026 год официальные клиенты получили поддержку сценариев с подписочными лимитами: Open

Подписка за 20 долларов на ChatGPT Plus или Claude Pro не заменяет API-ключ автоматически. API-ключи оплачиваются отдельно, а подписочные лимиты рассчитаны на пользователя и могут закончиться во время запуска. В 2026 год официальные клиенты получили поддержку сценариев с подписочными лимитами: OpenAI разрешает запускать Codex через ChatGPT в CI, но правила и доступные модели меняются.
Для собственного скрипта на своей машине подходят официальный CLI, ночной агент с репозиторным отчётом и частный CI для проверки пул-реквестов. Исчерпанный лимит здесь не авария, а штатное состояние, которое скрипт должен распознать и обработать.
Сторонние программы могут использовать лимиты тарифов пользователей, но это не означает, что подойдут закрытые адреса ChatGPT или Claude.ai. Неофициальные клиентские библиотеки тоже исключены. Anthropic в январе отключала сторонние клиенты, включая OpenCode и OpenClaw, а в апреле ввела платные кредиты. 12 ноября компания запретила потребительскую маршрутизацию.
DeepSeek не предлагает чат-подписку, зато DeepSeek API отличается низкой стоимостью. Для отдельных задач это может быть резервным провайдером, но условия доступа стоит сверять на chat.deepseek.com и в US/deepseek-terms-of.
Codex CLI и Claude Code поддерживают неинтерактивный режим. Используйте их вместо закрытых адресов и не копируйте пользовательский sign-in в серверный скрипт. Для серверной задачи нужна отдельная авторизация.
codex exec запускает Codex без диалога. Прогресс он пишет в поток ошибок, а финальный ответ выводит в стандартный поток. Флаг --json включает построчные события, последнее из них содержит расход токенов.
codex exec --json "Проверь изменения в этой ветке и перечисли риски" > run.jsonl Enter fullscreen mode Exit fullscreen mode По умолчанию агент не меняет файлы. Если запись нужна, укажите --sandbox workspace-write; полный доступ лучше выдавать только в изолированном контейнере или раннере.
В Claude Code для такого запуска служит -p. Флаг --output-format json возвращает единый JSON-объект, поле result содержит текстовый ответ. Код 0 означает успешное выполнение, ненулевой код означает сбой. Параметр --max-turns ограничивает шаги агента и защищает от бесконечного цикла.
claude -p "Разбери журнал ошибок и предложи три гипотезы" \ --output-format json --max-turns 5 > run.json Enter fullscreen mode Exit fullscreen mode
Ненулевой код может означать, что лимит подписки закончился. Повтор через минуту обычно не помогает, а пять попыток подряд создают ложное падение задачи. Окно иногда сбрасывается через два часа, но лучше извлекать время повтора из ответа клиента, а не ждать час вслепую.
Claude Code сообщает Usage limit reached. ChatGPT-маршрут может вернуть «You have hit your ChatGPT usage limit» и подсказку о времени повтора. Ищите устойчивую подстроку, сохраняйте сырой вывод в журнале и обрабатывайте лимит отдельной веткой.
#!/usr/bin/env bash # Один запуск агента: лимит — ждём и повторяем, другая ошибка — выходим. set -u for attempt in 1 2 3; do if claude -p " $1 " --output-format json --max-turns 5 > out.json 2> err.log; then exit 0 fi if grep -qi "usage limit" out.json err.log; then echo "лимит подписки, жду час" > &2 sleep 3600 continue fi echo "сбой не из-за лимита, смотрите err.log" > &2 exit 1 done exit 2 Enter fullscreen mode Exit fullscreen mode Для срочной задачи переключайтесь на API-ключ: у Codex после подписочного лимита он оплачивается по тарифам API. Задайте месячный лимит бюджета и переключатель провайдера в настройках. Единственный подписочный режим рискован, потому что в 2026 год правила менялись раз в один–два месяца.
Короткий ключ доступа живёт несколько дней, а ключ обновления выдаёт новый короткий ключ. OpenAI при продлении входа заменяет ключ обновления, поэтому старая копия перестаёт работать. Храните файл входа в одном месте и продлевайте вход одним процессом: на второй машине скопированный файл может уже не сработать.
Файл ~/.codex/auth.json равен паролю. Не размещайте его в репозитории, образе контейнера, общем CI и логах. Это относится и к third-party инструментам, которые читают входные данные без явного контроля.
Подписочные модели меняются чаще, чем API-модели. GPT-5.5 исчезла из Codex, хотя при ChatGPT-входе была доступна до 14 октября. Claude Pro также даёт отдельные кредиты Fable 5.1. Закладывайте в скрипт настройку модели и понятную ошибку «модель недоступна в подписке», чтобы не получить неясный сбой на десятом шаге.
Codex отдаёт токены в завершении хода, Claude Code показывает их в JSON-объекте. Ведите журнал расхода: неделя наблюдений покажет, сколько окна потребляет скрипт и сколько он стоил бы через API. Если API дешевле подписки, от подписки можно отказаться.
Для проверки правил и интерфейсов ориентируйтесь на openai.com, help.openai.com, claude.com/pricing, support.claude.com, anthropic.com/legal/aup, learn.chatgpt.com, GitHub, TechCrunch, VentureBeat и BleepingComputer. Учитывайте, что usage-based, fraud-prevention, non-human, CI/CD, Non-interactive, SDK, IDE, PayPal, WeChat, Мир, СБП, UTC, MIT, CC BY 2.0, CC BY-SA 3.0, BY-SA и CC0 не описывают замену подписки на API.
GPT-6, GPT-6.1, DevDay, I/O, SuperGrok, V4.1, --output-format json, --max-turns, --json, codex exec, claude -p, -p, JSON, CLI, AI и API требуют проверки доступности в конкретном клиенте перед запуском.
В полной версии также разобраны различия подписки и API, лимиты подписок и условия трёх компаний.
Полная версия: https://dzen.ru/a/atgHEEPLpUIMxO7M
Текст подготовлен с использованием искусственного интеллекта.