---
Конкретний момент: потік в Slack, що спонукав до змін
Під час одного з недавніх обговорень у Slack один з наших рекрутерів висловив розчарування через невідповідність профілів кандидатів. Кандидат з сильними кваліфікаціями не отримав уваги для ролей, які, здавалося, ідеально підходили. Це спровокувало обговорення нашого алгоритму підбору кандидатів на основі ШІ та його недоліків. Ми знали, що потрібно заглибитися в механіку, що стоїть за нашим відсотком відповідності.
Розуміння проблеми
Важливість ефективного підбору кандидатів важко переоцінити. Для наших рекрутерів ставки високі; їхній успіх залежить від того, щоб представляти правильних кандидатів компаніям. Невідповідність не лише розчаровує рекрутерів, але й ставить під загрозу можливості кандидатів. Ми відчували цей тягар, намагаючись спростити процес найму як для кандидатів, так і для компаній, які користуються нашою платформою.
Основна проблема: невідповідність навичок
Конкретний сценарій підкреслив нашу проблему: старшого програмного інженера пропустили на роль через те, що наш алгоритм неправильно інтерпретував його навички. Наш алгоритм мав труднощі з синонімами навичок; терміни, такі як “програмування” та “розробка програмного забезпечення”, не завжди давали однаковий бал відповідності, що призводило до плутанини. Ця невідповідність означала, що кваліфіковані кандидати не потрапляли до відповідних вакансій, а наша система підбору не забезпечувала цінності.
Перші спроби: помилкові стартові та невдачі
У наших початкових спробах вирішити ситуацію ми розглянули можливість просто додати більше детермінованих фільтрів на основі жорстко закодованих наборів навичок. Це здавалося простим, але врешті-решт не вирішило основну проблему семантичного розуміння. Один з наших бекенд-інженерів швидко виявив, що цей підхід обмежував гнучкість і не враховував нюанси людської мови. Ми зрозуміли, що нам потрібне більш складне рішення.
Новий технічний підхід: повторний ранжування за допомогою LLM
Ми перейшли до впровадження моделі великої мови (LLM) для повторного ранжування кандидатів після початкової фази підбору. Процес включає два основних етапи:
- Підбір: Кандидати спочатку підбираються на основі детермінованих фільтрів — навичок, досвіду та освіти.
- Повторне ранжування: LLM потім оцінює відповідності, враховуючи синоніми, контекст і релевантність, щоб надати фінальний бал.
# Приклад повторного ранжування з LLM
re_ranked_candidates = llm_model.rank(candidates, job_description)
Цей метод значно покращив нашу здатність виявляти кандидатів, чиї навички могли бути ігноровані через відмінності в термінах.
Помітні зміни в нашому продукті
Після впровадження нового алгоритму ми спостерігали значні зміни. Кандидати почали отримувати більш релевантні рекомендації вакансій, що покращило їхній досвід на нашій платформі. Рекрутери також повідомили про підвищення задоволеності якістю підбору кандидатів, що призвело до швидших працевлаштувань і зменшення термінів найму. Ці вдосконалення можна побачити на наших сторінках /jobs та /for-companies, де рекрутери тепер мають доступ до більш відшліфованого пулу кандидатів.
Основні висновки з нашого досвіду
- Мова має значення: Синоніми та варіації в описах навичок можуть суттєво вплинути на результати підбору.
- Гнучкість є критично важливою: Спираючись виключно на детерміновані фільтри, можна обмежити адаптивність алгоритму до реального використання мови.
- Зворотний зв'язок від користувачів є безцінним: Прямий внесок від рекрутерів і кандидатів допоміг нам виявити проблеми, які ми могли пропустити спочатку.
Наслідки для кандидатів
З точки зору кандидата, це покращення означає кращі шанси на підбір до ролей, де вони дійсно підходять. Кандидати можуть очікувати бачити можливості, які більше відповідають їхнім навичкам та досвіду, що призводить до більш задовільного процесу пошуку роботи.
Наслідки для рекрутерів
Рекрутери тепер можуть покладатися на більш надійний алгоритм підбору, який враховує нюанси мови та профілі кандидатів. Це означає підвищення ефективності в пошуку кандидатів, що в кінцевому підсумку вигідно для їхніх цілей найму та компаній, які вони обслуговують.
Погляд у майбутнє: відкриті питання та майбутні напрямки
Хоча ми досягли значних успіхів, ми розуміємо, що ще є над чим працювати. Ми стежимо за постійними проблемами, такими як інфляція старшинства та заповнення ключовими словами, які все ще можуть спотворювати відсотки відповідності. Якщо б нам довелося скасувати один аспект, це, напевно, були б надто жорсткі початкові фільтри, які обмежували нашу гнучкість. Ми прагнемо вдосконалити наш підхід і дослідити, як ми можемо ще більше покращити наш алгоритм. ---