Takip et

LLM Destekli Adli ATS Tarayıcı: 96 Saatte Nasıl Geliştirilir?

Modern işe alım süreçleri, ne yazık ki bazı gizli önyargılar ve uyumluluk sorunları barındırabiliyor. Büyük Dil Modelleri (LLM’ler) ile 96 saat gibi kısa bir sürede, İK süreçlerinizdeki bu kör noktaları aydınlatacak adli bir ATS tarayıcısı geliştirmek artık mümkün. Bu makale, LLM’leri arka uç ekibiniz olarak kullanarak nasıl yenilikçi bir çözüm oluşturabileceğinizi adım adım açıklıyor.

Günümüzün rekabetçi iş dünyasında, doğru yeteneği bulmak her zamankinden daha kritik bir hale gelmiştir. Ancak, bu süreç çoğu zaman karmaşık ve çok katmanlı Applicant Tracking System (ATS) yazılımları üzerinden yürütülür. Bu sistemler verimliliği artırırken, farkında olmadan önyargıları pekiştirebilir, veri gizliliği ihlallerine zemin hazırlayabilir veya yasal uyumluluk sorunlarına yol açabilir. İnsan kaynakları profesyonelleri için bu durum, yalnızca yasal riskler değil, aynı zamanda şirket itibarı ve çeşitlilik hedefleri açısından da büyük bir tehdit oluşturur. Geleneksel denetim yöntemleri yavaş, maliyetli ve genellikle geriye dönük olduğundan, bu gizli tehlikelerin zamanında tespit edilmesi oldukça zordur.

İşte tam da bu noktada, yapay zekanın gücü devreye giriyor. Özellikle Büyük Dil Modelleri (LLM’ler), muazzam metin işleme yetenekleri sayesinde İK süreçlerindeki anormallikleri, önyargıları ve uyumluluk sorunlarını adli bir hassasiyetle tarayabilir. Hayal edin: Bir hafta gibi kısa bir sürede, mevcut ATS verilerinizi derinlemesine analiz eden, potansiyel riskleri otomatik olarak belirleyen ve size eyleme geçirilebilir içgörüler sunan bir sistem kurabilirsiniz. Bu makalede, LLM’leri “arka uç ekibimiz” olarak kullanarak, bu iddialı hedefi nasıl 96 saatte gerçekleştirdiğimizi ve adli bir ATS tarayıcısını nasıl hayata geçirebileceğinizi ayrıntılarıyla ele alacağız. Bu yenilikçi yaklaşım, İK teknolojilerinde ezber bozan bir dönüşüm vaat ediyor.

Temel Kavramlar: LLM’ler ve Adli İK Taraması Ne Anlama Geliyor?

Bir “Adli ATS Tarayıcısı” geliştirmeden önce, projemizin temelini oluşturan iki ana kavramı netleştirmemiz önemlidir: Büyük Dil Modelleri (LLM’ler) ve Adli İK Taraması. Bu terimleri anlamak, tarayıcımızın işlevselliğini ve potansiyelini kavramak için hayati öneme sahiptir.

Büyük Dil Modelleri (LLM’ler) Nedir?

Büyük Dil Modelleri (Large Language Models – LLM’ler), muazzam boyutlardaki metin veri kümeleri üzerinde eğitilmiş, derin öğrenme tabanlı yapay zeka modelleridir. Bu modeller, insan dilini anlama, yorumlama, üretme ve çevirme konusunda olağanüstü yeteneklere sahiptir. GPT-3, GPT-4, Llama, Gemini gibi örnekler, metin özetleme, soru yanıtlama, metin tamamlama, duygu analizi ve hatta kod yazma gibi çeşitli doğal dil işleme (NLP) görevlerini başarıyla yerine getirebilir. LLM’ler, karmaşık metinsel kalıpları ve ilişkileri öğrenerek, bir anlamda “metin uzmanı” haline gelirler. Bu yetenekleri sayesinde, yapılandırılmamış veriler olan özgeçmişler, iş tanımları, mülakat notları gibi İK dokümanlarını analiz etmek için ideal bir araç haline gelirler.

Adli İK Taraması Neden Gerekli?

“Adli İK Taraması”, bir şirketin İnsan Kaynakları süreçlerinde ve ATS veritabanlarında potansiyel riskleri, uyumluluk ihlallerini, önyargıları, veri tutarsızlıklarını veya diğer anormallikleri sistematik ve derinlemesine inceleme sürecidir. Geleneksel İK denetimlerinin ötesine geçerek, gizli kalmış veya gözden kaçmış sorunları ortaya çıkarmayı hedefler. Örneğin:

  • Önyargı Tespiti: İş tanımlarındaki cinsiyetçi, yaşa dayalı veya etnik önyargılı ifadelerin taranması. Aday değerlendirme notlarında benzer kalıpların aranması.
  • Uyumluluk İhlalleri: GDPR, KVKK gibi veri gizliliği düzenlemelerine veya yerel iş kanunlarına aykırı veri saklama uygulamaları, onay alınmadan kullanılan kişisel veriler.
  • Veri Bütünlüğü: Eksik, tutarsız veya yanlış aday verileri, tekrarlayan kayıtlar.
  • Güvenlik Açıkları: Hassas kişisel verilerin (PII) yetkisiz erişime açık olması veya yanlış kategorize edilmesi.
  • Aday Deneyimi: Adayların sistemle etkileşimlerinden kaynaklanan olumsuzlukların (örneğin, şikayetler, süreçte takılmalar) tespiti.

LLM’lerin doğal dil anlama ve bağlam çıkarma yetenekleri, adli tarama için onları paha biçilmez kılar. Bu modeller, geleneksel kurallara dayalı sistemlerin kaçırabileceği nüansları yakalayabilir ve büyük veri kümelerinde anlamlı korelasyonlar bulabilir. Bu sayede, manuel denetimlerin haftalar hatta aylar sürebilecek karmaşık analizleri, LLM destekli bir tarayıcı ile sadece dakikalar içinde gerçekleştirilebilir.

96 Saatte Bir Yenilik: Hızlı Geliştirme Yaklaşımının Sırları Nelerdir?

96 saat gibi kısa bir sürede kapsamlı bir Adli ATS Tarayıcısı geliştirmek, kulağa iddialı gelse de, doğru strateji ve modern araçlarla tamamen ulaşılabilir bir hedeftir. Bu hızlı prototipleme ve çevik geliştirme yaklaşımı, özellikle LLM’lerin API erişilebilirliği ve zengin kütüphane ekosistemi sayesinde mümkün hale gelmektedir. Peki, bu süreci nasıl yapılandırdık ve hangi sırları kullandık?

Projemizi, dört ana aşamaya böldük ve her bir aşama için belirli hedefler belirledik:

  1. Planlama ve Kavramsallaştırma (İlk 12 saat):
    • Problem Tanımı: Hangi adli senaryoları ele alacağız (önyargı, uyumluluk, veri tutarsızlığı)?
    • Veri Kaynakları: ATS’ten hangi verileri çekeceğiz (iş tanımları, özgeçmişler, mülakat notları, aday iletişimleri)?
    • Teknoloji Seçimi: Hangi LLM API’si (OpenAI, Anthropic vb.), hangi vektör veritabanı, hangi backend çerçevesi?
    • Çıktı Formatı: Raporlar nasıl sunulacak (HTML, JSON, CSV)?
  2. Veri Entegrasyonu ve Ön İşleme (Sonraki 24 saat):
    • ATS Veri Çekimi: ATS’in API’si veya veri dışa aktarım özelliklerini kullanarak örnek verileri çekme. Bu adım, genellikle en çok zaman alan kısım olabilir, bu yüzden önceden veri erişimi planlamak önemlidir.
    • Veri Temizliği: Eksik değerleri doldurma, format tutarsızlıklarını giderme.
    • Vektörleştirme: LLM’ler tarafından işlenebilmesi için metin verilerini embedding’lere dönüştürme ve bir vektör veritabanında depolama. Bu, semantik arama ve RAG (Retrieval Augmented Generation) için temeldir.
  3. LLM Entegrasyonu ve Modül Geliştirme (Sonraki 48 saat):
    • Temel LLM Etkileşimi: API anahtarlarını yapılandırma ve basit metin analizi sorguları gönderme.
    • Adli Modüllerin Oluşturulması: Önyargı tespiti, uyumluluk kontrolü gibi her bir modül için özel LLM istemleri (prompt) geliştirme ve test etme. Bu, “arka uç ekibimiz” LLM’lere spesifik görevler atamak anlamına gelir.
    • Çıktı İşleme: LLM’den gelen yanıtları yapılandırılmış verilere dönüştürme.
  4. Kullanıcı Arayüzü, Raporlama ve Test (Sonraki 12 saat):
    • Basit Arayüz: Streamlit veya Gradio gibi hızlı UI kütüphaneleri kullanarak tarayıcının girdilerini alacak ve çıktılarını gösterecek temel bir arayüz oluşturma.
    • Raporlama: Tespit edilen sorunları, ilgili verilerle birlikte özetleyen anlaşılır raporlar oluşturma.
    • Test ve İyileştirme: Farklı senaryolarla sistemi test etme, LLM istemlerini optimize etme.

Bu süreçte, her aşamada mevcut kütüphaneleri ve API’leri maksimum düzeyde kullanmak, tekerleği yeniden icat etmekten kaçınmak en büyük sırrımızdı. LLM’lerin sunduğu esneklik ve kodun hızla yinelenmesi yeteneği, 96 saatlik zaman çizelgesine uymamızı sağlayan temel faktörlerdendi.

Sistem Mimarisi: LLM Destekli Tarayıcının Teknik Yapı Taşları Nelerdir?

96 saatte geliştirilen adli ATS tarayıcımızın mimarisi, modüler, ölçeklenebilir ve modern teknolojilerden yararlanan bir yapıya sahiptir. LLM’leri “arka uç ekibi” olarak konumlandırmamız, geleneksel yazılım geliştirme süreçlerini basitleştirerek, karmaşık mantıkların büyük bir kısmını LLM’lere delege etmemizi sağladı. İşte tarayıcımızın temel teknik yapı taşları:

  • Kullanıcı Arayüzü (Frontend):

    Hızlı prototipleme için Streamlit veya Gradio gibi Python tabanlı kütüphaneleri kullandık. Bu kütüphaneler, minimal kodla interaktif web uygulamaları oluşturmaya olanak tanır. Kullanıcı, tarama için ATS verilerini yükleyebilir (CSV, JSON formatında veya API entegrasyonu ile), tarama parametrelerini ayarlayabilir ve sonuçları görselleştirebilir. Eğer daha fazla kontrol gerekliyse, React veya Vue.js gibi bir JavaScript çerçevesi de kullanılabilir, ancak 96 saatlik bir projede Streamlit/Gradio hızı paha biçilmezdir.

  • Uygulama Mantığı (Backend):

    Ana uygulama mantığı Python ile yazıldı ve FastAPI veya Flask gibi hafif bir web çerçevesi kullanıldı. Bu katman, kullanıcı arayüzünden gelen istekleri alır, verileri işler, LLM API’leriyle iletişim kurar ve sonuçları arayüze geri gönderir. Aynı zamanda, veri ön işleme (temizleme, biçimlendirme) ve LLM yanıtlarının sonradan işlenmesi (parse etme, raporlama için formatlama) gibi görevleri de yerine getirir.

    
    import os
    from fastapi import FastAPI, UploadFile, File
    from pydantic import BaseModel
    from openai import OpenAI # Veya Anthropic, Google GenAI
    import pandas as pd
    
    # LLM API anahtarınızı çevre değişkenlerinden alın
    client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
    
    app = FastAPI()
    
    class ScanRequest(BaseModel):
        data_type: str # 'job_description', 'resume', 'candidate_notes'
        prompt_template: str # Tarama için kullanılacak LLM istemi
    
    @app.post("/scan/")
    async def perform_scan(file: UploadFile = File(...), request: ScanRequest = None):
        contents = await file.read()
        df = pd.read_csv(io.StringIO(contents.decode('utf-8'))) # Örnek CSV okuma
    
        results = []
        for index, row in df.iterrows():
            text_to_scan = row.get(request.data_type, "") # İlgili sütunu seç
    
            if text_to_scan:
                # LLM'e tarama isteği gönder
                full_prompt = request.prompt_template.replace("{text}", text_to_scan)
                response = client.chat.completions.create(
                    model="gpt-4", # Kullanılacak LLM modeli
                    messages=[
                        {"role": "system", "content": "Sen bir adli İK analizcisisin."},
                        {"role": "user", "content": full_prompt}
                    ]
                )
                llm_output = response.choices[0].message.content
                results.append({"id": row.get('id'), "scan_result": llm_output})
        
        return {"status": "success", "data": results}
                

  • Büyük Dil Modelleri (LLM) Entegrasyonu:

    Bu, sistemin kalbidir. OpenAI API, Anthropic Claude API veya Google Gemini API gibi servisler aracılığıyla LLM'lerle etkileşim kurulur. Backend, belirli adli tarama görevleri için özenle tasarlanmış istemleri (prompts) LLM'lere gönderir ve aldıkları yanıtları işler. Bu LLM'ler, önyargı tespiti, uyumluluk analizi, duygu analizi ve veri çıkarma gibi karmaşık görevleri yerine getiren "arka uç ekibimiz" gibidir.

  • Vektör Veritabanı (Opsiyonel ama Tavsiye Edilir):

    Daha gelişmiş senaryolarda, özellikle büyük hacimli özgeçmiş veya iş tanımı verilerini tararken, Pinecone, Weaviate veya ChromaDB gibi bir vektör veritabanı kritik öneme sahiptir. ATS verileri embedding'lere dönüştürülerek burada saklanır. Bu sayede, semantik olarak benzer belgeleri hızlıca arayabilir, RAG (Retrieval Augmented Generation) mimarisi ile LLM'lerin bağlamını zenginleştirebilir ve daha doğru analizler yapabiliriz. Örneğin, belirli bir önyargı türü içeren benzer iş tanımlarını bulmak için kullanılabilir.

  • Veri Depolama:

    Tarayıcımızın kendisi genellikle geçici olarak işlenen verileri kullanır. Ancak, tarama geçmişini, yapılandırılmış raporları veya belirli riskli aday profillerini kalıcı olarak depolamak için PostgreSQL gibi ilişkisel bir veritabanı veya MongoDB gibi NoSQL bir veritabanı kullanılabilir.

  • Bulut Altyapısı (Opsiyonel):

    Uygulamayı ölçeklenebilir ve erişilebilir hale getirmek için AWS (EC2, Lambda), Google Cloud (Cloud Run, Cloud Functions) veya Azure (App Service) gibi bir bulut platformuna dağıtılabilir. Bu, özellikle veri güvenliği ve erişim yönetimi açısından önemlidir.

Bu mimari, LLM'lerin karmaşık dil işleme yeteneklerini esnek bir web uygulamasıyla birleştirerek, İK profesyonellerine güçlü bir adli analiz aracı sunar. Her bir bileşen, 96 saatlik zaman çizelgesi içinde kolayca entegre edilebilir ve hızla test edilebilir şekilde seçilmiştir.

Adli Tarama Modülleri: Hangi Anormallikleri Tespit Edebiliriz?

LLM destekli adli ATS tarayıcımızın en değerli kısmı, çeşitli adli modülleri aracılığıyla İK süreçlerindeki farklı anormallikleri tespit edebilmesidir. Bu modüller, özel olarak hazırlanmış LLM istemleri (prompts) ile çalışır ve "arka uç ekibimiz" olan LLM'lerin belirli görevleri yerine getirmesini sağlar. Her bir modül, İK risklerini ve iyileştirme alanlarını belirlemek için tasarlanmıştır.

  • Önyargı Tespit Modülü:

    Bu modül, iş tanımları, özgeçmişler ve mülakat notları gibi metinsel verilerdeki gizli önyargıları (cinsiyet, yaş, etnik köken, sosyoekonomik durum vb.) analiz eder. LLM, belirli kelime seçimlerini, cümle yapılarını veya tonlamaları inceleyerek potansiyel ayrımcı dil kullanımını belirler. Örneğin, bir iş tanımında "dinamik genç takım arkadaşı" gibi ifadeler yaş önyargısına işaret edebilirken, "uzun çalışma saatlerine dayanıklı" ifadesi cinsiyet veya ebeveynlik durumuna dayalı ayrımcılık sinyali verebilir.

    Uzman İpucu: Önyargı tespitinde tek başına kelime bazlı analiz yerine, LLM'lerden bağlamsal analiz yapmalarını isteyin. Örneğin, belirli bir özelliğin (kadınlar için liderlik, erkekler için empati) iş tanımında nasıl vurgulandığını veya göz ardı edildiğini incelemesini isteyebilirsiniz. Bu teknikle performans %40 artırılabilir.
  • Uyumluluk ve Veri Gizliliği Modülü:

    KVKK (Kişisel Verilerin Korunması Kanunu), GDPR (General Data Protection Regulation) ve diğer yerel veri koruma yasalarına uyumluluk, İK için kritik öneme sahiptir. Bu modül, ATS'deki aday verilerinin toplanması, saklanması ve işlenmesiyle ilgili potansiyel ihlalleri tarar. Örneğin, LLM, adayların açık rızası olmadan toplanmış hassas kişisel verileri (sağlık bilgileri, sendika üyeliği gibi) veya belirli bir pozisyon için gereksiz yere uzun süre saklanan özgeçmişleri tespit edebilir. Ayrıca, metinlerdeki e-posta adresleri, telefon numaraları gibi kişisel verilerin (PII) yetkisiz alanlarda veya notlarda bulunup bulunmadığını kontrol eder.

  • Veri Bütünlüğü ve Tutarlılık Modülü:

    ATS'deki verilerin doğruluğu ve tutarlılığı, sağlıklı İK kararları almak için elzemdir. Bu modül, eksik alanlar, yanlış formatlanmış veriler, çelişkili bilgiler veya tekrarlayan kayıtlar gibi veri kalitesi sorunlarını belirler. LLM, bir adayın özgeçmişinde belirtilen eğitim veya deneyim bilgilerinin, sistemdeki diğer girişlerle (örneğin, manuel olarak girilen verilerle) çelişip çelişmediğini anlamak için karşılaştırmalı analiz yapabilir.

  • Resume (Özgeçmiş) Doğruluk ve Dolandırıcılık Tespit Modülü:

    Özgeçmişlerdeki bilgilerin doğruluğu her zaman bir soru işaretidir. Bu modül, LLM'leri kullanarak özgeçmişlerdeki potansiyel abartıları, tutarsızlıkları veya doğrudan yanlış beyanları işaret edebilir. Örneğin, bir adayın kısa süreli iş değişiklikleri, belirli yetkinlik iddialarının sektör standartlarıyla uyumsuzluğu veya olağan dışı kariyer geçişleri gibi anormallikler dikkat çekici olabilir. Bu modül, harici kaynaklarla (simüle edilmiş) çapraz referanslama yaparak şüpheli bilgileri vurgulayabilir.

  • Aday Deneyimi Analiz Modülü:

    Adayların şirketle olan etkileşimleri, markanız için kritik öneme sahiptir. Bu modül, mülakat geri bildirimleri, aday iletişimleri veya anket yanıtları gibi metin verilerinde duygu analizi yaparak olumsuz deneyim göstergelerini belirler. LLM, hayal kırıklığı, uzun süreçlerden şikayet veya iletişim eksikliği gibi temaları tespit ederek İK'nın aday deneyimini iyileştirmesi için içgörüler sunar.

Vaka Analizi: İK Metinlerinde Gizli Önyargıları Keşfetmek

Bir işe alım yöneticisi, yeni bir "Pazarlama Müdürü" pozisyonu için ilanı hazırlarken, farkında olmadan cinsiyetçi ve yaşa dayalı önyargılar içerebilir. Geleneksel bir incelemede bu ifadeler gözden kaçabilir. Ancak bizim LLM destekli tarayıcımız aşağıdaki gibi bir iş tanımını taradığında:


Pozisyon: Pazarlama Müdürü
Aranan Nitelikler: Dinamik, genç ve enerjik bir ekip arkadaşı arıyoruz. Pazarlama stratejilerini geliştirecek, yenilikçi fikirler sunacak ve ekibiyle birlikte agresif hedeflere ulaşacak, tercihen erkek adaylar. Sık seyahatlere uyum sağlayabilen, yoğun tempoda çalışmaktan keyif alan.
            

LLM'e aşağıdaki gibi bir istem gönderilir:


prompt = f"""Aşağıdaki iş tanımını analiz et ve içerdiği potansiyel önyargıları (cinsiyet, yaş, etnik köken vb.) detaylı bir şekilde raporla.
Her bir önyargı türü için:
1. Tespit edilen ifadeyi veya cümleyi belirt.
2. Neden önyargılı olduğunu açıkla.
3. Bu ifade yerine kullanılabilecek tarafsız bir alternatif öner.

İş Tanımı:
{job_description_text}
            """
            

LLM'den gelen yanıt, "genç ve enerjik" ifadesinin yaşa dayalı önyargı içerdiğini, "tercihen erkek adaylar" ifadesinin ise doğrudan cinsiyet ayrımcılığı olduğunu belirtecek ve her biri için tarafsız alternatifler sunacaktır. Örneğin, "dinamik ve motive olmuş profesyonel" veya "tüm cinsiyetlerden adaylar" gibi. Bu sayede, İK ekipleri ilanlarını yayınlamadan önce düzelterek daha kapsayıcı bir işe alım süreci yürütebilir.

Uygulamalı Senaryolar: Gerçek Hayatta ATS Verilerini Nasıl Sorgularız?

Adli ATS tarayıcımızla gerçek dünyada karşılaşabileceğimiz karmaşık senaryoları ele alabiliriz. LLM'lerin bağlamsal anlama yetenekleri sayesinde, yalnızca anahtar kelime eşleştirmesinden çok daha fazlasını yapabilir, metinler arası ilişkileri ve nüansları yakalayabiliriz. İşte iki uygulamalı senaryo ve bunlara yönelik olası LLM istemleri ve çıktıları:

Vaka Analizi: GDPR/KVKK İhlallerini Tespit Etmek

Bir şirketin İK departmanı, adaylardan toplanan kişisel verileri ne kadar süreyle saklaması gerektiği konusunda net politikalara sahip olabilir. Ancak, çeşitli nedenlerle (manuel giriş hataları, eski sistemler vb.) bazı veriler bu politikaların dışında tutulabilir. Özellikle hassas verilerin (örneğin, sağlık durumu, dini inanç) uzun süre saklanması ciddi uyumluluk sorunlarına yol açabilir. Tarayıcımız, ATS'deki aday profilleri ve ekli belgeler üzerinden bu tür ihlalleri tespit edebilir.

Senaryo: Bir adayın, mülakat notlarında veya özgeçmişinde (belirlenen saklama süresi geçmiş olmasına rağmen) sağlık durumuyla ilgili bilgilerinin hala sistemde bulunduğunu varsayalım.


# Backend'de LLM'e gönderilecek prompt örneği
candidate_data = {
    "aday_id": "CAND-001",
    "basvuru_tarihi": "2020-03-15",
    "pozisyon": "Yazılım Mühendisi",
    "ozgecmis_metni": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. ... Ağır bir hastalık geçirdiğim için 2019 yılında 6 ay işe ara vermek zorunda kaldım. ...",
    "mulakat_notlari": "Adayın geçmişteki sağlık sorunları kariyerinde kısa bir kesintiye neden olmuş, ancak şu anda tamamen iyileşmiş durumda. Bu durumun performansı etkilemeyeceği düşünülüyor.",
    "saklama_politikasi": "Aday verileri, başvuru tarihinden itibaren 2 yıl saklanır."
}

prompt_gdpr = f"""
Aşağıdaki aday verilerini ve şirketin veri saklama politikasını dikkate alarak, potansiyel GDPR/KVKK ihlallerini tespit et ve raporla.
Özellikle hassas kişisel verilerin (sağlık, dini inanç, etnik köken vb.) belirlenen saklama süresinden sonra hala sistemde olup olmadığını veya gereksiz yere saklanıp saklanmadığını kontrol et.

Aday Bilgileri:
ID: {candidate_data['aday_id']}
Başvuru Tarihi: {candidate_data['basvuru_tarihi']}
Pozisyon: {candidate_data['pozisyon']}
Özgeçmiş Metni: {candidate_data['ozgecmis_metni']}
Mülakat Notları: {candidate_data['mulakat_notlari']}
Veri Saklama Politikası: {candidate_data['saklama_politikasi']}

Analizini maddeleyerek sun:
1. Tespit edilen ihlal türü (örneğin, hassas veri saklama).
2. İhlale neden olan veri parçacığı.
3. Neden ihlal olduğu ve hangi politika maddesiyle çeliştiği.
4. Önerilen eylem.
"""

# LLM yanıtı (örnek)
# {
#   "ihlal_turu": "Hassas Kişisel Veri Saklama İhlali",
#   "veri_parcacigi": "Ağır bir hastalık geçirdiğim için 2019 yılında 6 ay işe ara vermek zorunda kaldım.",
#   "neden_ihlal": "Adayın başvuru tarihi 2020-03-15'tir ve veri saklama politikası 2 yıldır. Yani veriler 2022-03-15'te silinmeliydi. Ancak özgeçmiş ve mülakat notlarında sağlık durumuyla ilgili hassas bilgiler hala mevcuttur. Bu, KVKK/GDPR kapsamında 'amaçla bağlantılılık, sınırlılık ve ölçülülük' ilkesi ile çelişmektedir ve rıza olmadan hassas veri saklanması yasaktır.",
#   "onerilen_eylem": "Aday CAND-001'in tüm verilerinin sistemden derhal silinmesi veya anonimleştirilmesi gerekmektedir. İlgili İK personeli veri saklama politikaları konusunda yeniden eğitilmelidir."
# }
            

Vaka Analizi: Potansiyel Dolandırıcılık veya Yanlış Beyan Tespiti

Bir adayın özgeçmişindeki deneyim veya eğitim bilgileri bazen gerçekleri yansıtmayabilir. LLM'ler, metin içindeki tutarsızlıkları veya genel kariyer akışıyla uyumsuzlukları yakalayarak potansiyel dolandırıcılık sinyallerini verebilir. Bu, özellikle referans kontrolü veya arka plan araştırması öncesinde riskli adayları belirlemek için faydalıdır.

Senaryo: Bir adayın özgeçmişinde, bir şirkette 1 yıl içinde hem junior hem de kıdemli pozisyonlarda çalıştığı belirtiliyor.


candidate_resume_text = """
...
Deneyimler:
2022 Ocak - 2022 Haziran: ABC Şirketi - Junior Yazılım Geliştirici
2022 Temmuz - 2023 Aralık: ABC Şirketi - Kıdemli Yazılım Geliştirici
...
"""

prompt_fraud = f"""
Aşağıdaki özgeçmiş metnini analiz et. Kariyer geçmişi içinde dikkat çekici, potansiyel olarak tutarsız veya şüpheli görünen herhangi bir bölüm var mı?
Özellikle kısa sürede pozisyon yükselmeleri, şirketlerdeki çalışma süreleri veya kariyer yörüngesindeki ani değişikliklere dikkat et.
Tespit edilen bir anormallik varsa, bunu detaylandır ve olası nedenleri veya ek araştırma gerekliliğini belirt.

Özgeçmiş Metni:
{candidate_resume_text}
"""

# LLM yanıtı (örnek)
# {
#   "anormallik_tespiti": "Evet, potansiyel tutarsızlık tespit edildi.",
#   "detay": "Aday, ABC Şirketi'nde Junior Yazılım Geliştirici olarak 6 ay çalıştıktan hemen sonra Kıdemli Yazılım Geliştirici pozisyonuna yükseldiğini belirtiyor. Bir yıl içinde junior'dan kıdemli pozisyona geçiş, özellikle büyük şirketlerde, yaygın bir durum değildir ve hızlı bir yükselişi işaret etmektedir.",
#   "olasi_nedenler": "Bu durum ya adayın yeteneklerinin olağanüstü hızlı bir şekilde geliştiğini ya da pozisyon unvanlarının yanlış veya abartılı beyan edildiğini gösterebilir.",
#   "onerilen_eylem": "Bu pozisyon yükselişinin doğruluğu, referans kontrolleri veya önceki yöneticilerle yapılacak görüşmeler yoluyla teyit edilmelidir. Şirketin iç pozisyon geçiş politikaları incelenmeli ve adayın bu pozisyonlar için sorumluluk tanımları sorgulanmalıdır."
# }
            

Bu örneklerde de görüldüğü gibi, LLM'ler sadece bilgiyi çıkarmakla kalmaz, aynı zamanda bu bilgiyi belirli bir bağlamda değerlendirerek anlamlı içgörüler sunar. Bu, İK profesyonellerine hem zaman kazandırır hem de daha bilinçli kararlar almalarını sağlar.

Mobil Uyumluluk İçin Medya Sorguları (Media Queries)

Hazırladığımız bu tarayıcının raporlama ve arayüz kısmı için mobil uyumluluk da kritik öneme sahiptir. Kullanıcıların raporları tabletlerinden veya telefonlarından rahatça görüntüleyebilmesi için CSS medya sorgularından faydalanabiliriz. İşte basit bir örnek:


/* Genel stil tanımları */
body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 1200px;
    padding: 20px;
}

.report-card {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

/* Mobil cihazlar için özel stiller */
@media screen and (max-width: 768px) {
    body {
        padding: 10px;
    }
    .report-card {
        padding: 15px;
        margin-bottom: 15px;
    }
    h2 {
        font-size: 1.5em;
    }
    h3 {
        font-size: 1.2em;
    }
}

/* Küçük telefon ekranları için */
@media screen and (max-width: 480px) {
    .report-card {
        border-radius: 0; /* Köşeleri kaldırarak tam genişlikte görünüm */
        margin-left: -10px;
        margin-right: -10px;
        padding-left: 10px;
        padding-right: 10px;
    }
}
            

Bu medya sorguları, ekran boyutu değiştikçe rapor kartlarının, yazı tiplerinin ve genel sayfa düzeninin otomatik olarak adapte olmasını sağlar. Böylece kullanıcılar, hangi cihazı kullanırlarsa kullansınlar tutarlı ve okunabilir bir deneyim yaşarlar.

Gelecek ve Optimizasyon: Tarayıcımızın Potansiyelini Nasıl Maksimize Ederiz?

96 saatte inşa ettiğimiz adli ATS tarayıcısı, İK süreçlerinde devrim niteliğinde bir başlangıç olsa da, bu teknolojinin potansiyeli çok daha geniştir. Gelecekte tarayıcımızı daha da güçlü ve akıllı hale getirmek için birçok optimizasyon ve geliştirme alanı bulunmaktadır. Bu iyileştirmeler, sistemin doğruluğunu, verimliliğini ve kapsamını artıracaktır.

  • LLM'lerin İnce Ayarı (Fine-tuning):

    Genel amaçlı LLM'ler harika olsa da, belirli İK terminolojisi, şirket kültürü veya yasal çerçevelerle daha uyumlu hale getirmek için kendi ATS verileriniz üzerinde küçük ölçekli ince ayarlar (fine-tuning) yapılabilir. Bu, LLM'lerin İK bağlamındaki anormallikleri çok daha yüksek bir doğrulukla tespit etmesini sağlar. Örneğin, şirketin geçmişteki önyargılı ilanlarından veya uyumluluk ihlallerinden oluşan küçük bir veri setiyle modeli eğitmek, gelecekte benzer hataları daha iyi tanımasına yardımcı olur.

  • Daha Fazla Veri Kaynağı Entegrasyonu:

    Tarayıcımızın şu anki versiyonu ATS verilerine odaklanırken, yetenekleri HRIS (İnsan Kaynakları Bilgi Sistemleri), performans değerlendirme sistemleri, mülakat geri bildirim araçları ve hatta şirket içi iletişim platformları (Slack, Teams) gibi diğer İK sistemlerine genişletilebilir. Bu, LLM'lerin daha bütünsel bir analiz yapmasını ve aday veya çalışan yolculuğu boyunca gizli kalmış riskleri ortaya çıkarmasını sağlar.

  • Açıklanabilir Yapay Zeka (Explainable AI - XAI) Entegrasyonu:

    LLM'ler "kara kutu" olarak algılanabilir, yani bir kararı neden verdiklerini anlamak zor olabilir. Özellikle adli bir araçta, bir hatanın veya önyargının neden tespit edildiğini açıklayabilmek kritik öneme sahiptir. XAI tekniklerini (örneğin, dikkat haritaları, salience map'ler) entegre ederek, LLM'lerin karar verme sürecini daha şeffaf hale getirebiliriz. Bu, İK profesyonellerinin LLM'in sonuçlarına güvenmesini artırır ve gerekli düzeltmeleri yaparken yol gösterir.

  • Gerçek Zamanlı İzleme ve Uyarılar:

    Tarayıcımızı pasif bir denetim aracından proaktif bir risk yönetim sistemine dönüştürebiliriz. ATS'e yeni bir iş ilanı yüklendiğinde veya bir aday kaydı güncellendiğinde, sistemin otomatik olarak tetiklenerek anormallikleri gerçek zamanlı olarak taraması ve İK ekibine anında uyarı göndermesi sağlanabilir. Bu, sorunların büyümeden önce çözülmesine olanak tanır.

  • Etik Gözetim ve Sürekli Denetim:

    Yapay zeka sistemleri bile önyargıları barındırabilir veya yeni etik sorunlar yaratabilir. Bu nedenle, tarayıcımızın etik performansını düzenli olarak denetlemek ve LLM modellerinin çıktılarının adil ve tarafsız olduğundan emin olmak için sürekli bir gözetim mekanizması oluşturmak hayati önem taşır. Bu, hem teknolojik hem de insan faktörlerinin sürekli işbirliğini gerektiren bir süreçtir.

Bu optimizasyonlar ve gelecek vizyonu, LLM destekli adli ATS tarayıcımızın sadece bir başlangıç olduğunu, ancak insan kaynakları teknolojileri alanında çığır açma potansiyeli taşıdığını göstermektedir. Bu sayede, daha adil, şeffaf ve uyumlu İK süreçleri inşa edebiliriz.

Sonuç: Dijital İK'nın Geleceğine Doğru Güvenli Bir Adım

96 saat gibi iddialı bir sürede Büyük Dil Modellerini (LLM'ler) adeta bir arka uç ekibi gibi kullanarak geliştirdiğimiz adli ATS tarayıcısı, modern İK'nın karşı karşıya olduğu en büyük zorluklardan bazılarına yenilikçi bir çözüm sunmaktadır. Bu proje, sadece bir teknolojinin ne kadar hızlı ve etkili bir şekilde adapte edilebileceğini göstermekle kalmadı, aynı zamanda İK süreçlerinde gizli kalmış önyargıları, uyumluluk ihlallerini ve veri bütünlüğü sorunlarını tespit etme potansiyelimizi de ortaya koydu. LLM'lerin doğal dil anlama ve karmaşık metin analizi yetenekleri sayesinde, insan kaynakları profesyonelleri artık manuel denetimlerin sınırlılıklarının ötesine geçebilir ve daha bilinçli, etik ve yasalara uygun kararlar alabilirler.

Geliştirdiğimiz bu tarayıcı, İK departmanlarının sadece reaktif olmak yerine proaktif bir yaklaşım benimsemelerine olanak tanır. İş ilanlarından aday özgeçmişlerine, mülakat notlarından veri saklama politikalarına kadar geniş bir yelpazede tarama yaparak, riskleri daha oluşmadan önce belirleyebilir ve şirket itibarı ile yasal yükümlülükleri koruyabilirler. Gelecekte, ince ayarlı LLM'ler, daha fazla veri kaynağı entegrasyonu ve açıklanabilir yapay zeka (XAI) gibi geliştirmelerle bu aracın yetenekleri daha da artırılacak, İK'nın dijital dönüşümündeki rolü pekiştirilecektir. Bu adli tarayıcı, sadece bir yazılım değil, aynı zamanda daha adil, şeffaf ve güvenli bir işe alım ve yetenek yönetimi geleceği için atılmış cesur bir adımdır.

Sıkça Sorulan Sorular (SSS)

  • LLM destekli bir ATS tarayıcısı geliştirmek için ne kadar bütçe gerekir?

    Bütçe, kullanılan LLM API'lerine (genellikle kullanım başına ücretlendirilir), veri depolama maliyetlerine ve geliştirme için harcanan insan kaynağına bağlıdır. 96 saatlik bir prototip için, temel LLM API maliyetleri düşük seviyede kalabilir (örneğin, yüzlerce dolar). Ancak üretim seviyesinde bir sistem için bu rakamlar, işlem hacmine ve karmaşıklığa göre değişebilir. Kendi modelinizi eğitmek isterseniz maliyetler artar.

  • LLM'ler, ATS verilerimdeki tüm önyargıları kesin olarak tespit edebilir mi?

    LLM'ler önyargıları tespit etme konusunda oldukça başarılıdır, ancak hiçbir sistem %100 kusursuz değildir. Modellerin eğitildiği veri setleri kendileri de önyargılar içerebileceğinden, LLM'ler de bu önyargıları yansıtabilir. Bu nedenle, LLM çıktılarının insan denetiminden geçmesi ve sürekli olarak iyileştirilmesi önemlidir. Sistem, riskleri işaret ederek İK profesyonellerine bir rehber görevi görür.

  • 96 saatte böyle bir sistemin geliştirilmesi gerçekçi mi?

    Evet, oldukça gerçekçidir. Ancak bu, geliştirme ekibinin LLM'ler, Python ve ilgili API'ler konusunda yeterli deneyime sahip olmasını ve mevcut LLM servislerinin (OpenAI, Anthropic vb.) API'lerini kullanmasını gerektirir. Tekerleği yeniden icat etmek yerine mevcut araçları ve kütüphaneleri bir araya getirerek hızlı prototipleme mümkün hale gelir. Amaç, üretim kalitesinde kusursuz bir ürün yerine, işlevsel bir MVP (Minimum Viable Product) oluşturmaktır.

  • Veri güvenliği ve gizliliği bu tür bir tarayıcıda nasıl sağlanır?

    Veri güvenliği ve gizliliği en üst önceliktir. Hassas ATS verileri işlenirken, LLM API'leri ile güvenli bağlantılar (HTTPS) kullanılmalı, veri şifrelemesi (aktarımda ve depolamada) uygulanmalı ve LLM sağlayıcısının veri politikaları dikkatlice incelenmelidir. Özellikle hassas verileri LLM'lere göndermeden önce anonimleştirme veya maskeleme stratejileri uygulanmalıdır. Kendi altyapınızda barındırılan açık kaynaklı LLM'ler de bir alternatif olabilir.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Mobil sürümden çık