Kendi Haline Bırak: TabPFN, Gemma ve Temporal ile Tembel E-posta Ajanı
Kaynak: dev.to

İçindekiler 4 başlık
Hacktoberfest Açık Kaynak Yapay Zeka Yarışması'nın 3. Haftası ("Yavaş ve İstikrarlı") kapsamında geliştirilen Let It Die, klasik otomasyon anlayışına farklı bir açıdan yaklaşıyor.
Ne İnşa Ettim#
Çoğu "tembel" yapay zeka ajanı, rutin işlerinizi daha hızlı yapmaya odaklanır. Let It Die ise o işin gerçekten yapılmasına gerek olup olmadığını sorgular. Gelen e-postaları okur ve her bir mesajı, onu görmezden gelmenin size bir maliyeti olma olasılığına göre puanlar. Ardından şu üç aksiyondan birini uygular:
- Size İhtiyacı Var (Puan bazında ilk %20): Yerel olarak çalışan bir Gemma modeli, sabah bülteni için iki satırlık bir özet ve önerilen bir aksiyon yazar.
- Düşük Öncelikli (Ortadaki %60): Olduğu gibi bırakılır ve yalnızca sabah özetinde sayı olarak belirtilir.
- Kendi Haline Bırak (Son %20): Dayanıklı (durable) bir Temporal zamanlayıcısına park edilir. Gönderici 7 gün içinde tekrar yazarsa e-posta üst kademeye taşınır (escalate edilir). Hiçbir ses çıkmazsa arşivlenir.
Gelen kutusu kendi kendine çözülen postalarla dolu olan herkes biraz daha tembel olma şansı yakalar: Tamamlaması en ucuz görev, hiç başlamadığınız görevdir; yeter ki hangilerinin bu kategoride olduğunu ayırt edebilin. 1.981 e-postalık test veri setimde 398 e-posta (%20) park edildi ve bunların yaklaşık %85'i gerçekten hiçbir yanıt gerektirmedi.
Demo#
Test veri setindeki gerçek çalıştırma çıktıları:
397 size ihtiyacı var | 1186 düşük öncelikli | 398 zamanlayıcıya park edildi (kendi haline bırak)
'Size ihtiyacı var' grubundakilerin %46'sı gerçekten yanıtlandı (genel oran: %30)
- [email protected] | Wharton Tm #3 Presentation | yanıtladı
Özet: John, Wharton Tm #3 sunumunu inceledi ve iyi bir başlangıç olduğunu düşündü.
Park etme demosunda, "kendi haline bırak" grubundan rastgele 8 e-posta seçildi. 7 tanesi arşivlendi ve bu 7 e-postanın tamamı gerçekten yanıt gerektirmiyordu. Yalnızca 1 tanesi, gönderici tekrar yazdığı için üst kademeye taşındı.
Kod#
Khushighosh / let-it-die deposu üzerinden erişilebilen bu proje, en temel yeteneği "harekete geçmemeye karar vermek" olan bir ajandır. MIT lisanslıdır ve README dosyasında Windows ile Python 3.12 için çalıştırma adımları yer almaktadır.
e-postalar ── TabPFN puanı ── triyaj ──┬─ size ihtiyacı var ── Gemma özeti ── sabah bülteni
├─ düşük öncelikli ── sadece sayılır
└─ kendi haline bırak ── Temporal zamanlayıcı (7 gün)
├─ takip sinyali ── yükselt
└─ zaman aşımı ── arşivle
Nasıl İnşa Ettim#
Sistemin mimarisi üç temel bileşene ve bunların pratik yazılım geliştirme çıkarımlarına dayanır:
- TabPFN (Prior Labs): E-posta gelmeden önce mevcut olan verilerden (gönderici geçmişi, kime gönderildiği, günün saati, konu/gövde ipuçları, yazışma uzunluğu) yola çıkarak, kullanıcının 7 gün içinde yanıt verip vermeyeceğini tahmin eder. Eğitim aşamasına (training run) ihtiyaç duymaz. Pratik Çıkarım: Her metin veya sınıflandırma problemi için büyük dil modelleri (LLM) kullanmak yerine, yapılandırılmış özniteliklerde sıfır eğitimle çalışan TabPFN gibi tablosal modeller hem maliyeti düşürür hem de hızı artırır.
- Gemma (Ollama üzerinden yerel çalışan gemma3:4b): Yalnızca "size ihtiyacı var" grubundaki kritik %20'lik dilim için özetler ve önerilen aksiyonlar üretir. Pratik Çıkarım: LLM'leri bir ön filtreleme sonrasında sadece yüksek değerli veriler üzerinde çalıştırmak, üretim ortamlarında kaynak optimizasyonu için altın kuraldır.
- Temporal: Park edilen her e-posta için ayrı bir iş akışı (workflow) çalıştırır. Ya bir takip sinyali ya da 7 günlük zaman aşımı bekler; ardından e-postayı yükseltir veya arşivler. Demo ortamında Temporal'ın zaman atlamalı test sunucusu (time-skipping test server) kullanılmıştır. Pratik Çıkarım: Günler süren asenkron ajan süreçlerinde durum yönetimi (state management) ve hata toleransı için Temporal gibi dayanıklı iş akışı motorları, ajanların üretimdeki güvenilirliğini doğrudan sağlar.
Kaynak ve atıf
Bu yazı, dev.to üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- dev.to/khushighosh/let-it-die-the-lazy-email-agent-on-tabpfn-gemma-and-temporal-10o0