---
Konkretna chwila w dopasowaniu kandydatów
Na niedawnym wątku na Slacku pojawił się pilny błąd: nasz system dopasowania kandydatów AI zwracał wyniki, które nie miały sensu. Kandydat z dziesięcioletnim doświadczeniem w inżynierii oprogramowania był oceniany niżej niż junior developer. Frustracja była wyczuwalna, a stawka wysoka — nasi rekruterzy polegali na tym systemie, aby podejmować świadome decyzje rekrutacyjne. Musieliśmy głęboko zbadać, jak nasze dopasowanie kandydatów AI właściwie działa.
Dlaczego ten problem ma znaczenie
Niezawodność naszego algorytmu dopasowania jest kluczowa zarówno dla naszych rekruterów, jak i kandydatów. Niedopasowany kandydat może prowadzić do straconego czasu, złych zatrudnień, a ostatecznie, do utraty możliwości biznesowych. Rekruterzy czuli presję, walcząc o przedstawienie wykwalifikowanych kandydatów swoim klientom, podczas gdy deweloperzy narażeni byli na ryzyko bycia pominiętymi z powodu wadliwych mechanizmów oceniania. Na konkurencyjnym rynku pracy każdy procent dopasowania mógł oznaczać różnicę między zdobyciem pracy a pozostaniem w puli aplikacji.
Analiza problemu
Po zbadaniu sprawy zidentyfikowaliśmy kilka trybów awarii w naszym systemie dopasowania. Jednym z oczywistych problemów były synonimy umiejętności. Na przykład, terminy takie jak „inżynier oprogramowania” i „programista” były traktowane jako całkowicie odrębne byty, mimo że często opisują podobne role. Prowadziło to do niedoceniania kandydatów, jeśli ich CV używały innej terminologii. Dodatkowo, napotkaliśmy na inflację senioralności — gdzie kandydaci oznaczeni jako „senior” byli zawyżani w rankingu wyłącznie na podstawie tytułu, a nie rzeczywistego poziomu umiejętności. To było potęgowane przez przesycenie słowami kluczowymi, gdzie kandydaci optymalizowali swoje CV pod kątem algorytmu, zamiast dokładnie odzwierciedlać swoje doświadczenie.
Nasze początkowe próby
Początkowo zbadaliśmy prostą deterministyczną metodę filtrowania, w której kandydaci byli dopasowywani na podstawie ścisłego zestawu twardo zakodowanych kryteriów. Ta metoda okazała się ślepym zaułkiem; chociaż poprawiła specyfikę, brakowało jej niuansów potrzebnych do skutecznego rankingu. Dodatkowo, była sztywna i słabo dostosowana do różnorodnego języka używanego w CV. Zrozumieliśmy, że potrzebujemy bardziej dynamicznego podejścia, które mogłoby zrozumieć kontekst i semantykę, co skłoniło nas do rozważenia dużych modeli językowych (LLM) do ponownego rankingu.
Nasze podejście techniczne
Skierowaliśmy się ku systemowi ponownego rankingu opartego na LLM. Nasze nowe podejście wprowadziło algorytm dopasowania pracy, który najpierw pobierał szeroki zestaw kandydatów na podstawie deterministycznych filtrów, a następnie stosował LLM do ponownego rankingu na podstawie kontekstowej adekwatności. Oto uproszczona wersja naszej logiki dopasowania:
# Pseudo-kod dla procesu dopasowania kandydatów
candidates = retrieve_candidates(filters)
ranked_candidates = llm_re_rank(candidates, job_description)
return ranked_candidates
To podejście z dwoma warstwami pozwoliło nam wykorzystać zarówno ścisłe kryteria, jak i bardziej elastyczne rozumienie języka, które oferują LLM. Stwierdziliśmy, że znacznie poprawiło to naszą dokładność dopasowania i satysfakcję kandydatów.
Widoczne zmiany w produkcie
Po wdrożeniu tych zmian zauważyliśmy zauważalne poprawy na naszej platformie. Rekruterzy zgłosili znaczący wzrost adekwatności dopasowań kandydatów, co prowadziło do szybszych procesów rekrutacyjnych i wyższych wskaźników satysfakcji. Kandydaci również doświadczyli bardziej przejrzystego procesu, w którym ich umiejętności były lepiej reprezentowane w wyniku dopasowania. To miało bezpośredni wpływ na naszą stronę /jobs, ponieważ ogłoszenia o pracę zaczęły przyciągać wyższej jakości pule aplikacji, co ostatecznie poprawiło doświadczenia użytkowników dla wszystkich zaangażowanych.
Kluczowe wnioski
W trakcie tego procesu nauczyliśmy się kilku nieintuicyjnych lekcji:
- Elastyczność jest kluczowa: Ścisłe kryteria dopasowania mogą przeoczyć wykwalifikowanych kandydatów.
- Język ma znaczenie: Synonimy i żargon mogą zniekształcać wyniki; kontekst jest kluczowy.
- Tytuły senioralne nie równa się senioralnym umiejętnościom: Obiektywna ocena umiejętności jest konieczna, aby zapewnić jakość dopasowań.
- Ciągłe pętle informacji zwrotnych: Regularne przeglądanie logiki dopasowania na podstawie opinii użytkowników jest kluczowe dla utrzymania dokładności.
- Przejrzystość algorytmu: Kandydaci doceniają zrozumienie, jak ich umiejętności są oceniane, co może poprawić zaufanie do procesu.
Implikacje dla kandydatów
Dla kandydatów, ulepszony system dopasowania oznacza dokładniejsze odzwierciedlenie ich umiejętności i doświadczeń. Zamiast być odsuwanym na bok z powodu rozbieżności terminologicznych, ich prawdziwy potencjał jest dostrzegany. Nowy system pozwala im łączyć się z możliwościami, które naprawdę odpowiadają ich kwalifikacjom, co czyni proces poszukiwania pracy bardziej efektywnym i satysfakcjonującym.
Implikacje dla rekruterów
Z perspektywy rekrutera, udoskonalony algorytm dopasowania skraca czas spędzany na przeszukiwaniu nieodpowiednich kandydatów. Mogą przedstawić wąską listę wysoko adekwatnych kandydatów, co zwiększa satysfakcję klientów i poprawia ich ogólną efektywność. To również oznacza mniej zmarnowanych rozmów kwalifikacyjnych i lepsze dopasowanie między kandydatami a potrzebami firmy, co ostatecznie wzmacnia proces rekrutacji.
Kolejne kroki
Patrząc w przyszłość, monitorujemy kilka aspektów nowego systemu dopasowania. Chcemy dalej udoskonalać nasze dostosowanie LLM, aby poprawić zrozumienie kontekstu i zbadać integrację opinii użytkowników w algorytmie. Jednym z obszarów, na którym szczególnie nam zależy, jest zmniejszenie wpływu przesycenia słowami kluczowymi poprzez lepszą analizę semantyczną. Gdybyśmy musieli cofnąć jeden aspekt, byłoby to nadmierne poleganie na filtrach deterministycznych, ponieważ widzieliśmy znaczące korzyści z elastyczności LLM. ---