Как снизить расходы на AI-агентов: схема с бесплатными моделями и автоматическим роутингом для Claude Code, Codex и других
Я — Денис Шохирев, AI-архитектор в Erlangen. В DennisCraft AI Studio я за 6 месяцев вывел в продакшн 14 AI-агентов на стеке Claude, Supabase, n8n, Doppler, Postgres. Почти у каждого заказчика вопрос: «Почему у нас такие счета за LLM, можно ли дешевле — и без потери качества?» Счета от Anthropic и OpenAI превращают быстрые POC в дорогой прод. Здесь — мой рабочий паттерн, как снизить расходы на inference без потери стабильности и качества кода. Где теряются деньги: реальный продакшн В логистике
Я — Денис Шохирев, AI-архитектор в Erlangen. В DennisCraft AI Studio я за 6 месяцев вывел в продакшн 14 AI-агентов на стеке Claude, Supabase, n8n, Doppler, Postgres. Почти у каждого заказчика вопрос: «Почему у нас такие счета за LLM, можно ли дешевле — и без потери качества?» Счета от Anthropic и OpenAI превращают быстрые POC в дорогой прод. Здесь — мой рабочий паттерн, как снизить расходы на inference без потери стабильности и качества кода.
Где теряются деньги: реальный продакшн
В логистике и финтехе 80–90% запросов к AI-агентам — это рутинные задачи: парсинг, простые проверки, CRUD-операции, SQL-генерация. Но почти все идут в платные модели (Claude Code, GPT-4o), потому что «так надежнее». По моим логам: на 3 проектах 2024 года только 13% задач реально требовали топовых моделей. Остальные спокойно закрываются бесплатными: например, Code Llama, StarCoder, Phi-3, Deepseek Coder. Если строить агент «в лоб», вы всегда переплачиваете за inference.
Схема: автоматический роутинг между моделями
Реальная экономия начинается, когда агент сам решает — отправлять запрос на бесплатную модель или на Claude Code / Codex. Для этого собираю пайплайн с 3 ключевыми этапами:
- Классификация задачи (решает: бесплатная модель или платная)
- Inference на выбранной модели (локальной или облачной)
- Проверка качества (статический анализ, тесты, ранжирование)
1. Классификатор задачи
Для маршрутизации использую lightweight-классификатор на базе небольшого LLM (например, Phi-3 или даже DistilBERT). Классификатор получает промпт/код/описание задачи и выдает label: «Safe for Free Model» или «Needs Premium». Точность зависит от данных — обучал на реальных логах задач, где вручную размечал случаи, когда бесплатные модели не справлялись (например, сложный парсинг, интеграция с нестандартным API, специфический DSL).
def classify_task(task: str) -> str:
# Используем open-source модель для классификации
from transformers import pipeline
classifier = pipeline("text-classification", model="distilbert-base-uncased")
label = classifier(task)[0]['label']
if label == "SAFE":
return "FREE"
return "PREMIUM"
2. Роутинг запроса
n8n или кастомный FastAPI-роутер принимает label и направляет запрос либо на self-hosted StarCoder через vLLM, либо на облачный Anthropic API. Для self-hosted моделей использую stack: vLLM (https://github.com/vllm-project/vllm) + Docker-контейнеры на выделенном сервере (или GPU-инстанс в Hetzner). Для безопасности — inference в изолированной среде, выводы всегда проходят через постпроцессинг.
def route_and_infer(task, code_input):
route = classify_task(task)
if route == "FREE":
# inference через self-hosted StarCoder
return call_local_model(code_input)
else:
# inference через Anthropic Claude Code
return call_claude_api(code_input)
3. Проверка качества: статический анализ и тесты
После генерации кода — обязательные проверки. Для Python-кода использую связку semgrep, bandit, gitleaks. Если задача требует SQL, прогоняю через custom тесты на уязвимости (OWASP Top 10). Только если весь пайплайн проходит проверки — результат отдаю пользователю. Сложные кейсы (например, интеграции с финтех-API) всегда идут через платные модели и ручную валидацию.
semgrep --config=python .
bandit -r .
gitleaks detect --source=.
Сравнение: бесплатные против платных моделей
| Модель | Стоимость | Скорость | Качество кода (по тестам) |
|---|---|---|---|
| StarCoder (self-hosted) | 0 ₽ | 2–3 сек | 87% задач проходит автотесты |
| Claude Code (Anthropic API) | ~$8 за 1M токенов | 5–6 сек | 98% задач проходит автотесты |
| Deepseek Coder (self-hosted) | 0 ₽ | 3–4 сек | 83% задач проходит автотесты |
На 2 B2B-проектах такой роутинг сократил расходы на inference на 67% и позволил запускать больше агентов без роста счета от Anthropic.
Интеграция с Supabase, n8n и Postgres
Supabase — база задач и логов для обучения классификатора. n8n — workflow-оркестрация: классификация, роутинг, логирование, алерты. Postgres — хранит метаинформацию, аудиты, результаты статического анализа. Такой стек полностью совместим с российскими и европейскими требованиями по комплаенсу — все данные хранятся в On-Prem, чувствительные запросы не уходят в облако без классификации.
FAQ
Как выбрать порог для классификатора?
Я начинаю с консервативного порога: все спорные задачи — только в платную модель. Порог корректирую когда накапливаю логи ошибок и анализирую false positives.
Какие open-source модели реально работают для генерации кода?
StarCoder, Code Llama, Deepseek Coder, Phi-3 — рабочие варианты. Конкретная модель зависит от задачи и стека (Python, SQL, JS).
Как контролировать качество кода на бесплатных моделях?
Ставлю жесткие автотесты (юнит-тесты, статический анализ), не пропуская небезопасные или нерабочие решения. Подозрительные кейсы отправляю на ручную проверку.
Как мониторить расходы и экономию?
Считаю токены и стоимость inference по каждому агенту, сравниваю baseline (только платные LLM) и реальный расход с роутингом. Для визуализации — Grafana или Supabase Dashboards.
Насколько сложно внедрить такой роутинг?
В среднем — 2–3 недели на пилот, если есть devops и опыт с Docker/vLLM. Дальше схема масштабируется на любые B2B-задачи.
В какой точке у вас в пайплайне LLM чаще всего возникают ошибки — классификация задачи, статический анализ или ручная ревью? Интересно сравнить с реальными кейсами. Провожу бесплатный аудит стека для DACH-команд, которые строят AI в регулированных рынках. Пишите в LinkedIn или в @ger_dennis_ai.
Turn your process into an AI system
Fixed price. Production quality. DACH B2B focus.