Как мы снизили расходы на LLM с $2000 до $30 в месяц на парсинге вакансий
OpenAI
Anthropic
DeepSeek
В сервисе JobPath заменили Claude Sonnet на Qwen 3.5 Flash для извлечения данных из вакансий. Стоимость упала с прогнозных $2000 до ~$30 в месяц, качество незначительно снизилось с 4.48 до 4.06. В статье описаны типичные проблемы дешёвых моделей: пустые ответы, неверные типы полей, опечатки в названиях полей, путаница между годовой и месячной зарплатой, а также способы защиты: проверки типов, ретраи, fallback и строгий контроль ошибок биллинга.
В JobPath ночная задача обрабатывает вакансии из открытых источников через LLM, извлекая структурированные данные. Изначально использовали Claude Sonnet — качество было высоким (4.48/5), но стоимость росла и достигла бы $2000/мес. Перешли на Qwen 3.5 Flash ($0.0007 за вакансию, ~$30/мес). Качество по оценке слепого судьи (другая LLM) снизилось до 4.06 — карточки стали чуть суше, но пользователи не жаловались. При выборе модели отсеяли Qwen3-235B (путал зарплаты), DeepSeek-v3.1 (игнорировал схему) и Qwen3.5-9b (выдумывал факты). В проде столкнулись с проблемами: пустые tool input при HTTP 200 (лечится ретраем бизнес-логики), поля не того типа (проверка isinstance), опечатки в именах полей (парсер с исправлениями). Особо опасно — ошибки биллинга: при нулевом балансе спамерские ретраи сожгли 16 000 вызовов за ночь; теперь такие ошибки роняют батч. Для дешёвых моделей построили слой защиты: коэрция списков, зарплатный кап (отсев подозрительно высоких значений), частичные карточки при неудаче. Для вызовов, влияющих на действия пользователя (фильтр релевантности), применяют fail-closed с ретраем и фолбэком, а для читающих сценариев — fail-open.
- Сокращения
- LLM = Large Language Model — большая языковая модель
- HTTP = Hypertext Transfer Protocol — протокол передачи гипертекста
- API = Application Programming Interface — интерфейс программирования приложений
Источник: Habr — хаб ИИ —
оригинал
