ВЫБЕРИ, КАК ЧИТАТЬ
Две версии одного выпуска. Для вайбкодеров — подробно: четыре среды работы агента с таблицей возможностей, полная карта инструкций (CLAUDE.md, AGENTS.md, скиллы, субагенты), экономика подписок и пошаговая настройка проекта. Для технарей — headless-рецепты из production, MCP-делегирование, подмена мозга через base URL, реальные примеры автоматизации без API-ключей.
CLI · IDE · WEB · HEADLESS · MCP · AGENT SDK · ПОДПИСКИ · API
007ПОДПИСКА, API ИЛИ ОБА
Когда хватает подписки, а когда нужен прямой API. Четыре CLI-агента, которые делегируют друг другу через MCP бесплатно, headless-автоматизация без API-ключей, и что нужно сделать до 15 июня 2026.
БЛОК 1. Четыре порта: где запускать агента
В 2026 году ИИ-агент — это не чат. Это процесс, который читает ваши файлы, запускает команды, подключается к базам данных, вызывает другие сервисы. Но где вы его запускаете — определяет, что он может.
У каждого агента есть четыре среды работы. Они не взаимозаменяемы. Терминал — не то же самое, что браузер. Headless — не то же самое, что интерактивная сессия.
Что умеет каждая среда
| Возможность | CLI (терминал) | IDE (VS Code / JetBrains) | Web (claude.ai) | Headless (-p) |
|---|---|---|---|---|
| Доступ к файлам | Весь диск | Рабочая область проекта | Только загруженные вручную | Весь диск |
| Запуск команд (bash) | Любые | Через встроенный терминал | Нет | Любые |
| MCP-серверы | Да, неограниченно | Да, через конфиг | Ограниченный набор | Да, неограниченно |
| Скиллы | Глобальные + проектные | Глобальные + проектные | Нет | Да (без --bare) |
| Hooks (автоматизация) | Да | Да | Нет | Да (без --bare) |
| Память между сессиями | Файловая (.claude/memory/) | Файловая | Ограниченная (Projects) | Файловая |
| Параллельные сессии | Неограниченно | 1 на проект | 1 на вкладку | Неограниченно |
| Контекстное окно | До 1M токенов (Max/Team) | До 1M токенов | ~200K токенов | До 1M токенов |
| Человек в процессе | Да, подтверждает действия | Да | Да | Нет — полная автономность |
CLI (терминал) — полная свобода
Открываете терминал, пишете claude (или agy, kimi). Агент видит весь диск, запускает любые команды, подключается к MCP-серверам, использует скиллы, помнит контекст между сессиями. Контекстное окно до 1M токенов на Max/Team/Enterprise. Вы подтверждаете опасные операции — агент не удалит базу данных без вашего «да».
Это основной инструмент разработчика. Если вы работаете с одним проектом — вам хватит CLI и ничего больше.
IDE — почти как CLI, но в редакторе
Плагин Claude Code для VS Code или JetBrains. Почти то же, что CLI, но файловый доступ ограничен рабочей областью проекта, и только одна сессия на проект. В CLI вы можете открыть 5 терминалов — 5 параллельных сессий с одним агентом. В IDE — только одна.
Хороший выбор, если вы хотите видеть правки агента прямо в редакторе, не переключаясь в терминал.
Web (claude.ai) — только диалог
Браузерный чат — это не агент. Нет файлов, нет bash, нет MCP, нет скиллов. Загружаете файлы вручную, получаете текст. Контекст ~200K. Годится для быстрых вопросов, брейнсторма, анализа документов. Не для разработки.
Частая ошибка новичков: работать через claude.ai и думать, что «ИИ не справляется». Просто вы используете 10% его возможностей.
Headless (-p / --print) — агент как скрипт
Тот же CLI, но без вашего участия. Передаёте промпт — агент отрабатывает автономно и возвращает результат. Полный доступ к файлам, bash, MCP, скиллы (если не --bare). Единственное ограничение — агент не может задать вам уточняющий вопрос.
Зачем это нужно: CI/CD-пайплайны, автоматические code review, мониторинг, бот-обработчики. Всё, что должно работать без человека.
CLI — вы работаете руками, один проект, нужна полная мощь. IDE — хотите видеть правки в редакторе. Web — быстрый вопрос, анализ документа. Headless — автоматизация, CI/CD, боты.
Headless — не чатбот, а agent runtime
Headless — это автономный процесс с полным агентским циклом. За один вызов агент может прочитать 50 файлов, запустить тесты, найти и исправить баг, создать коммит — и вернуть структурированный JSON с результатом, стоимостью и количеством итераций.
# Базовый headless-вызов claude -p "задача" \ --allowedTools "Read,Edit,Bash(git *),Bash(npm *)" \ --max-turns 15 \ --output-format json
--bare vs полная загрузка
| Параметр | Полная загрузка (default) | --bare |
|---|---|---|
| CLAUDE.md / AGENTS.md | Читает | Пропускает |
| Skills | Загружает описания, lazy-load тела | Пропускает |
| Hooks | Выполняет | Пропускает |
| MCP-серверы | Подключает | Пропускает |
| Время старта | 3-8 сек | <1 сек |
| Input overhead | +5-20K токенов | Минимум |
| Идемпотентность | Зависит от состояния окружения | Полная |
--bare — для CI/CD и одноразовых вызовов: идемпотентно, быстро, предсказуемо. Полная загрузка — для серверной автоматизации, где агент должен знать контекст проекта (стек, правила, домен).
Ключевые флаги
-p "prompt" | headless-режим (non-interactive) |
--output-format json | структурированный вывод (cost_usd, duration_ms, num_turns) |
--max-turns N | лимит итераций (дефолт 10; меньше = дешевле) |
--allowedTools "..." | авто-одобрение инструментов (без пауз на подтверждение) |
--bare | без hooks, skills, MCP, CLAUDE.md — чистый старт |
--continue / --resume | продолжить предыдущую сессию (хранит контекст) |
--json-schema '{...}' | принудительный JSON-формат ответа |
--append-system-prompt | дополнительный system prompt поверх загруженного |
--dangerously-skip-permissions | убрать все подтверждения (только для sandbox!) |
Конкурентность
Claude Code headless — неограниченно параллельных сессий (каждая — отдельный процесс). Kimi CLI — до 4 фоновых. Antigravity — неограниченно (sandbox-режим). Каждый процесс потребляет из пула подписки: 10 параллельных = 10x расход токенов.
БЛОК 2. Карта инструкций
Два файла — два назначения
Самая частая ошибка новичков: свалить все инструкции в один файл. В мультиагентной среде это не работает, потому что разные агенты читают разные файлы.
| Файл | Claude Code | Antigravity (Gemini) | Kimi | Что туда писать |
|---|---|---|---|---|
CLAUDE.md | Читает автоматически | Не читает | Не читает | Правила только для Claude: стиль кода, запреты, навигация, инварианты проекта |
AGENTS.md | Читает, если указано в правилах | Автоматически мерджит | Автоматически мерджит | Общие правила: стек, команды, git-конвенции, структура, тесты |
Правило: если у вас один агент (только Claude) — пишите всё в CLAUDE.md. Как только появляется второй агент — разделяйте. Общее — в AGENTS.md. Специфичное — в CLAUDE.md.
Иерархия: глобальный файл (~/.claude/CLAUDE.md) + проектный (./CLAUDE.md). Проектный побеждает. Можно вкладывать глубже: ./backend/CLAUDE.md перекроет корневой для файлов внутри backend/.
Что писать в CLAUDE.md
Не пишите роман. Пишите правила, которые агент должен помнить при каждом действии:
- Стек — «Astro SSG + Tailwind v4 + TypeScript strict + MDX»
- Команды — «Деплой:
bash deploy.sh. Тесты:npm test. Сборка:npm run build» - Запреты — «Никогда не запускай npm run build напрямую — используй deploy.sh» (реальный пример: прямой build ломает blue/green-симлинк)
- Структура — «Уроки:
src/content/lessons/. Компоненты:src/components/. Константы:src/lib/constants.ts» - Гочи — «slug-map.ts использует TRACKS[track].slug, не track-${track}»
Skills — навыки с ленивой загрузкой
Скилл — файл с инструкцией, который агент подгружает автоматически по контексту. Описание всегда в памяти (~50 токенов), тело загружается только при триггере.
Пример: у вас есть скилл deploy. Его описание — «Деплой проекта на production через blue/green». Когда вы говорите агенту «задеплой», он автоматически подгружает полную инструкцию: какой скрипт вызвать, что проверить до и после, как откатить.
Где лежат:
- Глобальные (для всех проектов):
~/.claude/skills/ - Проектные:
.claude/skills/в корне проекта
Формат файла скилла (SKILL.md):
# Имя, описание — агент использует для авто-триггера --- name: deploy description: Деплой на production. Триггер: деплой, выкатить, опубликовать. --- # Ниже — полная инструкция, загружается lazy 1. Проверь git status — нет uncommitted changes 2. Запусти bash deploy.sh 3. Проверь HTTP 200 на главной 4. Если ошибка — bash deploy.sh rollback
На реальном production-сервере с 15+ проектами у меня 18 глобальных скиллов (деплой, code review, SEO-аудит, навигация по коду) и 12 проектных (специфичные для конкретного проекта). Каждый агент видит свои: Claude — из .claude/skills/, Kimi — из .kimi/skills/ и .claude/skills/ (общая директория), Antigravity — из .antigravity/skills/.
Субагенты — изолированные специалисты
Субагент — отдельный процесс с собственным контекстом и ограниченным набором инструментов.
Зачем нужна изоляция:
- Ограничение доступа — субагент для code review может только читать файлы (Read, Grep), но не редактировать. Безопасно запускать на любом коде
- Защита контекста — основной агент не засоряется результатами поиска по 50 файлам. Субагент читает, анализирует и возвращает краткую сводку
- Дешёвая модель — субагент может работать на Haiku ($1/$5 за 1M токенов) вместо Sonnet ($3/$15), если задача простая
- Параллельность — 3 субагента проверяют 3 разные вещи одновременно
Реальные примеры субагентов на production-сервере:
code-validator— проверяет синтаксис, импорты, типы после каждой фичи (инструменты: Read, Bash, Grep)seo-specialist— SEO-аудит для русскоязычного рынка с базой знаний (Read, Write, Bash, WebSearch)pd-compliance— аудит на соответствие 152-ФЗ о персональных данных (Read, Grep, Write)verify-claims— перепроверяет утверждения другого агента, читая реальные файлы (Read, Bash, Grep)
Скилл — инструкция, которую основной агент выполняет сам. Как рецепт, который повар читает и готовит. Субагент — отдельный повар с собственной кухней и ограниченным набором ножей. Скилл для процедур («как деплоить»), субагент для изоляции («проверь код, но не трогай его»).
Полная иерархия файлов
| Claude Code | ~/.claude/CLAUDE.md → ./CLAUDE.md → .claude/rules/* → skills (descriptions) → hooks → MCP → .claude/agents/* |
| Antigravity | AGENTS.md (auto-merge root→cwd) → GEMINI.md (если симлинк на AGENTS.md) → .antigravity/skills/ → brain memory → MCP |
| Kimi | AGENTS.md (auto-merge) → .kimi/skills/ + .claude/skills/ (shared discovery) → .kimi/agents/main.yaml → MCP |
| GLM | Изолированный конфиг в ~/.glm-claude/, читает проектные AGENTS.md / CLAUDE.md |
Критический факт: Kimi и Antigravity не читают CLAUDE.md. Claude не читает AGENTS.md автоматически (нужно прописать в rules). Если у вас мультиагентная среда — общие правила идут в AGENTS.md, Claude-специфичные — в CLAUDE.md. Трюк: ln -s AGENTS.md GEMINI.md в корне проекта — Antigravity читает оба.
MCP-делегирование между агентами
Один агент вызывает другого как MCP-инструмент. Каждый на своей подписке. MCP — локальный протокол, обмен бесплатен. Результат: вы платите за 4 подписки, но получаете кросс-агентную автоматизацию без per-call расходов.
# Claude вызывает GLM для второго мнения mcp__glm__glm_ask("Проведи code review этого diff") # Claude делегирует длинную задачу Antigravity mcp__glm__glm_start("Аудит безопасности backend/") # → {job_id: "m1a2b3c", status: "running"} # ... другая работа ... mcp__glm__glm_collect("m1a2b3c", tail_only=true) # → результат аудита
Base URL swap — подмена мозга
Claude Code — это agent runtime (файлы, bash, MCP, tools). Мозг (LLM) подключается через API endpoint. Подменяя endpoint, вы получаете runtime Claude с другим мозгом:
# Claude runtime + GLM-5.1 мозг ($0.50/$0.50 per 1M) ANTHROPIC_BASE_URL=https://api.z.ai/v1 \ ANTHROPIC_API_KEY=sk-zai-xxx \ claude -p "Проведи code review" --output-format json
Результат: агентский runtime Claude Code (tools, MCP, file I/O) с мозгом GLM за 6-30x дешевле. Ограничение: не все модели одинаково хорошо работают с tool calling протоколом Claude — тестируйте.
Skills — wire-формат
Скилл — YAML-frontmatter + markdown тело. Claude/Kimi/Antigravity читают одинаковый формат. Ключевое: description: используется для автоматического триггера — агент решает, когда загрузить тело, по описанию. Плохое описание = скилл никогда не сработает.
# .claude/skills/deploy/SKILL.md
---
name: deploy
description: >
Деплой на production через blue/green.
Триггер: деплой, выкатить, опубликовать, deploy.
allowed-tools:
- Bash
- Read
---
1. git status — нет uncommitted changes
2. bash deploy.sh
3. curl -sI https://example.com | grep "200 OK"
4. При ошибке: bash deploy.sh rollback
allowed-tools — опционален, но полезен: ограничивает скилл только нужными инструментами.
БЛОК 3. Деньги: подписки и пулы
Что меняется 15 июня 2026
Anthropic разделяет биллинг Claude Code на два независимых пула. Интерактивный (claude.ai, CLI, IDE) остаётся как раньше — входит в подписку. Agent SDK (headless claude -p, Agent SDK, GitHub Actions, сторонние приложения) идёт в отдельный пул с месячным кредитом:
| План | Подписка | Agent SDK кредит | Перенос остатка |
|---|---|---|---|
| Pro | $20/мес | $20 | Нет |
| Max 5x | $100/мес | $100 | Нет |
| Max 20x | $200/мес | $200 | Нет |
| Team Premium | $125/seat | $100/seat | Нет |
Agent SDK кредит тарифицируется по полным API-ценам. Когда кредит заканчивается — дальнейшие вызовы тарифицируются из usage credits (если включены), или просто перестают работать.
До 15 июня Anthropic рассылает claim email. Нужно кликнуть ссылку и активировать Agent SDK кредит. Без активации — headless-вызовы тарифицируются по полным API-ценам напрямую. Кредиты не переносятся на следующий месяц, не объединяются между пользователями, не передаются.
Что это значит на практике
До 15 июня: интерактивная работа и headless-вызовы тратят один общий пул подписки. Headless на подписке — фактически бесплатный (в рамках лимитов плана).
После 15 июня: headless-вызовы идут из отдельного кредита. $200 на Max 20x — это не бесконечность. Нужно считать.
Пять сценариев
Вайбкодер, один проект — Max 5x ($100/мес). Хватает на полный рабочий день интерактивной работы + $100 Agent SDK для headless-автоматизации (~330 средних вызовов).
Два проекта, нужна автоматизация — Max 20x ($200/мес) + Antigravity free tier (до 20 запросов/день). Рутину (мониторинг, простые проверки) кидаете на Antigravity бесплатно, тяжёлое — на Claude headless из SDK-кредита.
Команда из 3 человек — Team Premium ($125/seat), $100/seat Agent SDK. Общий бюджет $675/мес, из них $300 на headless.
Минимальный бюджет — Pro ($20) + Kimi Code ($19/мес) + Antigravity (бесплатно). $39/мес за три агента. $20 Agent SDK — хватит на ~65 средних headless-вызовов Claude, остальное на Kimi и Antigravity.
Один проект, много автоматизации — Max 20x ($200/мес) + прямой API поверх кредита. Когда $200 Agent SDK закончится — автоматизация продолжит работать из usage credits по API-ценам.
Когда подписки точно не хватит
Если ваш продукт обслуживает внешних пользователей — подписка не масштабируется. 100 пользователей × 10 запросов/день = 1000 headless-вызовов. $200 кредит закончится за 2 дня. Тут нужен прямой API с биллингом per-token.
Стоимость одного headless-вызова (Sonnet 4.6)
| Лёгкий (grep + ответ, 1-2 итерации) | ~$0.06 |
| Средний (5 файлов + анализ, 3-5 итераций) | ~$0.30 |
| Тяжёлый (code review + fix, 10-15 итераций) | ~$1.35 |
| Очень тяжёлый (полный аудит, 50+ итераций) | ~$3.00 |
Max 20x ($200 Agent SDK): ~3300 лёгких, ~660 средних или ~148 тяжёлых вызовов в месяц. Opus 4.7 существенно дороже Sonnet — для автоматизации используйте Sonnet или Haiku.
Альтернативы вне Claude — реальная экономика
| Провайдер | Модель | Стоимость | Headless-режим |
|---|---|---|---|
| Antigravity (Google) | Gemini 3.5 Flash | Free tier: 20 запросов/день | agy --sandbox --print "prompt" |
| Kimi (Moonshot) | K2.6 | ~$19/мес (подписка Kimi Code) | kimi --print "prompt" |
| GLM (Z.ai) | GLM-5.1 | $0.50/$0.50 per 1M (через base URL swap) | Через Claude runtime + base URL |
| xAI | Grok 4.1 Fast | До $150/мес через data sharing | Прямой API |
Ключевой трюк: четыре подписки — четыре независимых пула. MCP-делегирование между ними бесплатно. Claude делегирует рутину на Antigravity (бесплатно) или GLM ($0.50/$0.50), оставляя свой Agent SDK кредит для тяжёлых задач.
БЛОК 4. На практике
Настройка нового проекта — от 5 минут до полудня
Создайте файл CLAUDE.md в корне проекта. Опишите стек, основные команды и запреты. Запустите claude в терминале. Агент прочитает файл и уже будет знать контекст.
Этого достаточно, чтобы начать работать. Агент видит ваши файлы, понимает стек, может редактировать и запускать команды.
Добавьте 2-3 скилла для повторяющихся операций: деплой, code review, создание компонента. Если планируете использовать второго агента (Antigravity, Kimi) — создайте AGENTS.md с общими правилами и перенесите туда стек и git-конвенции из CLAUDE.md.
Hooks — shell-скрипты, которые выполняются автоматически на каждом lifecycle-событии:
SessionStart— загрузить контекст проекта, проверить окружениеPreToolUse— заблокировать опасные команды (rm -rf, git push --force)PostToolUse— логировать действия агентаUserPromptSubmit— проверка актуальности фактов перед ответомStop— отправить уведомление о завершении работы
MCP-серверы — подключают агента к внешним системам: база данных (PostgreSQL MCP), кодовый граф (codegraph), навигация по коду (serena). Подключаются в настройках проекта — один раз.
Субагенты — изолированные специалисты для конкретных задач. Создайте 1-2 субагента для задач, где нужна изоляция: code review (только чтение), валидация (синтаксис + типы).
Полноценная мультиагентная среда: AGENTS.md с правилами для всех агентов, MCP-мосты между Claude/Antigravity/Kimi/GLM, ветка-конвенции (claude/* для Claude, gemini/* для Antigravity), pre-commit hook для валидации, Telegram-уведомления о завершении длинных задач.
Это уровень production-сервера. Не нужен для одного проекта одного человека. Нужен, когда у вас 5+ проектов и 3+ агента работают параллельно.
Реальный пример: автоматическая проверка безопасности
На production-сервере работает сервис, который защищает сайты от атак. Когда система безопасности блокирует IP-адрес, пользователь видит страницу бана с кнопкой «Проверить». По нажатию бэкенд вызывает AI-агента в headless-режиме. Агент получает структурированные данные: IP, сценарий бана, историю запросов, user-agent — и за 5-10 секунд возвращает вердикт: ложное срабатывание или реальная атака. Если ложное — автоматический разбан.
Стоимость каждого вызова: $0 сверх подписки Antigravity (free tier). На прямом API та же задача стоила бы ~$0.02-0.05 за вызов. При 50 проверках в день — $30-75/мес. На подписке — бесплатно.
Рецепт 1: AI-классификатор запросов (production)
Реальный сервис: FastAPI-бэкенд получает HTTP-запрос → собирает контекст → вызывает agy --sandbox --print → парсит JSON-ответ → действует.
# Python: headless Antigravity как классификатор import asyncio, json SYSTEM_PROMPT = """Ты security-аналитик. Вердикт: false_positive или real_attack. Ответ — строго JSON: {"verdict": "...", "reason": "..."}""" async def classify(ip: str, context: dict) -> dict: payload = json.dumps(context, ensure_ascii=False, indent=2) prompt = f"{SYSTEM_PROMPT}\n\n```json\n{payload}\n```\nДай вердикт." proc = await asyncio.create_subprocess_exec( "/usr/local/bin/agy", "--sandbox", "--print", prompt, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE, ) stdout, stderr = await asyncio.wait_for( proc.communicate(), timeout=45 ) content = stdout.decode().strip() # Gemini может обернуть в ```json if content.startswith("```"): content = content.strip("`").lstrip("json").strip() return json.loads(content)
Ключевые решения:
--sandbox— агент не может писать на диск, только читать и думатьtimeout=45— жёсткий лимит; если Antigravity зависнет, не заблокирует FastAPI worker- Парсинг
```json— Gemini/Kimi иногда оборачивают JSON в markdown - Стоимость: $0 (free tier Antigravity, до 20 запросов/день)
Рецепт 2: Автоматическое исправление багов (production)
Реальный pipeline: Sentry webhook → бэкенд → изолированный git worktree → headless agent → commit → push → Pull Request → Telegram-уведомление.
# Python: полный auto-fix pipeline import asyncio, subprocess, os async def auto_fix(project_path, branch_name, sandbox_path, error_msg): # 1. Создать изолированный git worktree subprocess.run([ "git", "worktree", "add", "-b", branch_name, sandbox_path, "origin/main" ], cwd=project_path) # 2. Сформировать промпт prompt = f""" Error: {error_msg} Goal: найди баг, напиши фикс, прогони тесты, закоммить. Коммит: fix(sentry): resolve issue Push ветку: git push origin {branch_name} """ # 3. Запустить агента в sandbox proc = await asyncio.create_subprocess_exec( "/usr/local/bin/agy", "--print", "--dangerously-skip-permissions", "--prompt", prompt, cwd=sandbox_path, # работает в worktree, не в основном репо stdout=subprocess.PIPE, stderr=subprocess.PIPE, ) stdout, _ = await proc.communicate() # 4. Создать PR через GitHub API create_pull_request(branch_name, error_msg) # 5. Очистить worktree subprocess.run(["git", "worktree", "remove", "--force", sandbox_path], cwd=project_path)
Критические инварианты:
- Агент работает строго в worktree, не в основном репо — production не затронут
- Worktree создаётся на диске (
/var/tmp/), не в/tmp/(tmpfs, RAM, лимит 2GB) --dangerously-skip-permissions— только потому что агент в изолированной песочнице- После завершения worktree удаляется; при краше — cleanup при следующем запуске
- Стоимость: $0 сверх подписки (Antigravity free tier)
Рецепт 3: CI/CD security review
# В GitHub Actions или любом CI git diff main | claude -p \ --append-system-prompt "Ты security-инженер. Ищи: инъекции, XSS, secrets в коде, небезопасные зависимости." \ --output-format json \ --bare \ --max-turns 5 \ --json-schema '{"type":"object","properties":{"findings":{"type":"array","items":{"type":"object","properties":{"severity":{"type":"string"},"file":{"type":"string"},"description":{"type":"string"}}}}}}'
--bare обязателен для CI — никаких side effects от hooks/skills. --json-schema — парсинг без регулярок. --max-turns 5 — экономия: security review не требует 15 итераций. Стоимость из Agent SDK: ~$0.15 за вызов.
Рецепт 4: Async-делегирование (fire-and-poll)
# Для задач >5 мин — не блокировать основной процесс JOB_ID=$(mcp__glm__glm_start "Полный аудит безопасности backend/" \ | jq -r '.job_id') # → m1a2b3c # ... делаем другую работу, или ждём ... mcp__glm__glm_status "$JOB_ID" # → {status: "done", alive: false, output_bytes: 14280} mcp__glm__glm_collect "$JOB_ID" --tail-only # → чистый результат последнего turn'а
State хранится в /var/tmp/agent-sessions/<provider>/<job_id>/: task.txt, pid, status, result.txt. Инспектируется bash-ом, мониторится через prometheus/zabbix.
БЛОК 5. Формула: подписка, API или и то и другое
Когда хватает подписки. Когда нужен API
Это главный вопрос статьи. Простой ответ: подписка — для вас (разработчика). API — для ваших пользователей.
Вы — единственный пользователь. Один разработчик, один или несколько проектов. Автоматизация — для себя: CI/CD, мониторинг, code review.
Нагрузка предсказуемая. 50-200 headless-вызовов в день — это потолок. Вы знаете, сколько тратите.
Нет внешних пользователей. Никто, кроме вас, не генерирует запросы к агенту.
Допускается задержка. Если free tier Antigravity кончился — подождёте до завтра.
У вас есть пользователи. Чатбот на сайте, SaaS-продукт, Telegram-бот для клиентов. Каждый пользователь генерирует запросы.
Нагрузка растёт. 10 пользователей сегодня, 1000 завтра. Подписка не масштабируется — API масштабируется.
Нужен fine-grained контроль. Выбор модели, температура, structured output с гарантиями, function calling под конкретный сценарий.
Биллинг per-request. Вы хотите знать, сколько стоит каждый запрос пользователя, чтобы установить правильную цену.
Гибрид — самый частый сценарий
Большинство разработчиков в 2026 году используют гибрид:
- Подписка — для себя: ежедневная работа в CLI, headless-автоматизация (CI/CD, code review, мониторинг), MCP-делегирование между агентами
- API — для пользователей: чатбот на сайте, RAG-ответчик, SaaS-функции с AI
Прототипируете на подписке (бесплатно в рамках пула). Когда прототип работает и нагрузка растёт — переводите именно этот компонент на API. Не всё сразу. Один компонент за раз.
Формула выбора
Один проект, один человек — CLI с подпиской ($100-200/мес). Без API.
Нужна headless-автоматизация — та же подписка, после 15.06 — из Agent SDK пула. Считайте вызовы.
Несколько агентов — AGENTS.md + ветка-конвенции + MCP-делегирование. Каждый на своей подписке.
SaaS / продукт с пользователями — только прямой API. Подписка не масштабируется.
Минимальный бюджет — Pro ($20) + Kimi ($19) + Antigravity (бесплатно). $39/мес за три агента.
Граница подписка/API — формально
| Критерий | Подписка (CLI/headless) | Прямой API |
|---|---|---|
| Кто вызывает | Вы / ваш CI / ваш cron | Ваши пользователи |
| Масштабирование | Фиксированный пул | Pay-as-you-go, неограниченно |
| Контроль модели | То, что даёт подписка | Любая модель, temperature, top_p |
| Structured output | --json-schema (Claude), без гарантий у других | Guaranteed JSON mode (API) |
| Стоимость 1 запроса | ~$0 (в рамках пула) | $0.003-$3.00+ per request |
| Latency | 3-8 сек (процесс startup) | 200-2000 мс (API call) |
| Tool calling | Полный agent loop (files, bash, MCP) | Function calling (ваши функции) |
Стратегии оптимизации Agent SDK расхода
Prompt caching — до -90% на input. Повторяющийся system prompt кэшируется: $3/1M → $0.30/1M. Claude Code headless с полной загрузкой (~10K system prompt) выигрывает от этого автоматически.
--max-turns — для лёгких задач ставьте 3-5 вместо дефолтных 10. Меньше итераций = меньше output-токенов = дешевле. Одна лишняя итерация Sonnet — ~$0.05-0.15.
Модельный mix — Haiku 4.5 ($1/$5) для рутины: классификация, форматирование, changelog, lint summary. Sonnet для code review и фиксов. Opus — только для архитектурных решений в интерактивном режиме.
Мультиагентный mix — рутинный мониторинг и простые проверки на Antigravity free (20/день). Code review от другого вендора — GLM через MCP ($0.50/$0.50). Тяжёлые задачи — Claude headless. Grok API — до $150/мес бесплатных кредитов через data sharing (проверьте актуальность в xAI Console).
--bare для CI — экономит 5-20K input-токенов на вызов (нет загрузки инструкций, skills, MCP). На 100 вызовов/мес: $1.50-$6.00 экономии.
Когда переходить с подписки на API
Три сигнала:
- Agent SDK кредит заканчивается до конца месяца — значит нагрузка перерастает пул. Считайте: если 80% расхода — один конкретный use case — вынесите именно его на API
- Latency критична — headless процесс стартует 3-8 сек. API call — 200 мс. Для real-time продуктов (чатбот, автокомплит) — только API
- Внешние пользователи — как только кто-то кроме вас генерирует нагрузку, подписка становится непредсказуемой. API — единственный способ биллить per-request
// Обсуждение
Можно писать анонимно. Укажите email, чтобы получать уведомления об ответах.