Додавання ШІ-функцій до SaaS-продуктів без великих витрат
Як fluxLab.dev інтегрує Claude AI в Jobber для парсингу вакансій, зіставлення резюме та генерації супровідних листів, контролюючи витрати.
Вступ
Коли ми додали ШІ-функції до Jobber — нашої платформи відстеження заявок на роботу — у нас була чітка мета: зробити продукт розумнішим, не роздмухуючи витрати на інфраструктуру. Ось як ми інтегрували Claude AI для парсингу вакансій, зіставлення резюме з вакансіями та генерації супровідних листів, тримаючи витрати на API передбачуваними.
Функції
Jobber використовує ШІ в трьох сферах:
- Імпорт вакансій — вставте URL, ШІ витягне назву вакансії, компанію, локацію, зарплату та вимоги
- Оцінка відповідності резюме — порівняння резюме з описом вакансії для визначення відсотка сумісності
- Генерація супровідних листів — створення адаптованих листів на основі опису вакансії та вмісту резюме
Архітектура: багатошаровий підхід
Ми не викликаємо Claude AI на кожен запит. Натомість використовуємо багатошарову стратегію парсингу, яка мінімізує витрати на API:
Шар 1: Витягування структурованих даних
Перед зверненням до ШІ ми перевіряємо, чи є на сторінці вакансії структуровані дані JSON-LD. LinkedIn, Indeed та Glassdoor — усі вони вбудовують такі дані. Коли вони доступні, ми отримуємо все необхідне без жодного виклику ШІ — нульова вартість.
Шар 2: Зіставлення DOM-патернів
Для відомих сайтів вакансій ми використовуємо специфічні для кожного сайту правила витягування. Це прості інструменти зіставлення патернів, які знають, де саме кожен сайт розміщує назву вакансії, назву компанії та опис.
Шар 3: ШІ-фолбек
Лише коли шари 1 та 2 не спрацьовують, ми викликаємо Claude Haiku. Ми обрали Haiku замість Sonnet заради економічності — ця модель на 90% така ж здатна виконувати завдання структурованого витягування даних, але коштує лише частку ціни.
Проєктування промптів
Наші промпти структуровані для отримання послідовного, придатного до парсингу результату:
Extract the following fields from the job posting text.
Return ONLY valid JSON with these exact keys:
{
"title": "string",
"company": "string",
"location": "string",
"salary": "string or null",
"description": "string (first 500 chars)"
}
Ключові принципи:
- Обмежуйте формат виводу — завжди вимагайте JSON з точними назвами полів
- Обмежуйте розмір відповіді — обмежуйте довжину опису, щоб зменшити використання токенів
- Додавайте приклади — приклади типу "one-shot" суттєво підвищують точність
- Перевіряйте відповіді — парсьте JSON та перевіряйте наявність обов'язкових полів
Контроль витрат
Квоти на користувача
Кожен тарифний план має ліміти використання ШІ:
- Free: 10 ШІ-імпортів вакансій на місяць
- Pro: 100 ШІ-імпортів вакансій, необмежені оцінки відповідності, 50 супровідних листів
- Enterprise: Без обмежень
Вибір моделі за завданням
- Парсинг вакансій: Claude Haiku (швидко, дешево, достатньо для витягування даних)
- Зіставлення резюме: Claude Haiku (оцінювання не потребує глибоких міркувань)
- Генерація супровідних листів: Claude Sonnet (потребує кращої якості тексту)
Кешування
Ми кешуємо результати ШІ за хешем контенту. Якщо користувач імпортує той самий URL вакансії двічі, другий виклик потрапляє в кеш. Для оцінок відповідності резюме ми кешуємо за парою (job_id, resume_id) з TTL 24 години.
Результати
Після трьох місяців використання в продакшні:
- Середня вартість ШІ на користувача: $0.03/місяць
- Успішність парсингу вакансій: 94% (Шар 1: 45%, Шар 2: 30%, Шар 3: 19%)
- Точність оцінки відповідності: користувачі повідомляють про 87% збіг з оцінками ШІ
- Задоволеність супровідними листами: 72% згенерованих листів використані без суттєвих правок
Засвоєні уроки
- Не покладайтесь на ШІ за замовчуванням — детерміністичне витягування даних швидше, дешевше та надійніше
- Використовуйте найменшу модель, яка справляється — Haiku обробляє 80% наших ШІ-завдань
- Впроваджуйте квоти якомога раніше — спочатку користувачі активно досліджують ШІ-функції
- Кешуйте агресивно — одні й ті самі вакансії імпортують кілька користувачів
- Завжди майте фолбек — коли ШІ недоступний, застосунок усе одно працює (просто без збагачення даних)
Висновок
ШІ-функції — потужний диференціатор для SaaS-продуктів, але вони не повинні бути дорогими. Шаруючи детерміністичні підходи перед ШІ, обираючи правильну модель для кожного завдання та кешуючи результати, ми тримаємо витрати на ШІ в Jobber під контролем, водночас надаючи користувачам реальну цінність.
Хочете ШІ-функції у власному продукті без неконтрольованих рахунків за API? Дізнайтеся, як ми працюємо з клієнтами або розкажіть нам про свій проєкт.
Читайте також
Чому варто аутсорсити розробку в продуктову студію в Україні
Чому продуктова студія краща за традиційну аутсорсингову агенцію і що шукати в партнері в Україні. Практичний гайд від київської студії.
Як ми побудували ШІ-трекер заявок на роботу
Технічна історія Jobber від fluxLab.dev — платформа пошуку роботи з ШІ-зіставленням резюме, автоматичним парсингом вакансій та аналітикою.