Gerçek Kullanıcı Sorguları ile Kendini Geliştiren Çok Modlu Bir Arama Motoru Oluşturma - Curify

Geleneksel arama motorları statik dizinlerdir — dünyanın onları doldurmasını beklerler. Ajans iş akışları ve "vibe coding" çağında, bir arama sistemi oluşturmak sadece BM25 veya vektör gömme optimizasyonu ile ilgili olmamalıdır; öğrenen, karar veren ve kendi arzını oluşturan otonom bir döngü inşa etmekle ilgili olmalıdır. Curify'de, arama çubuğumuzu pasif bir geri alma aracından kendini geliştiren çok modlu bir motora dönüştürdük. Bu yazı, gerçek kullanıcı verileriyle yönlendirilen bir ajans döngüsünü nasıl mühendislik yaptığımızın arka planda bir bakışıdır.
Kurulum: Dinamik Bir Tedarik Zinciri
Motoru anlamak için envanterle başlayın. Curify, açık webi dizinlemiyor — kurulum son derece kontrollü ve belirleyicidir:
İçerik motoru: Değiştirilebilir parametrelerle yüzlerce yapılandırılmış görsel şablon, yüksek kaliteli görüntü üretimi için doğrudan Gemini API'sine bağlı.
Sinyal: Günlük, gerçek dünya kullanıcı sorgularını yakalayan canlı bir arama ürünü.
Optimizasyon hedefi basittir: arama sonuçlarının *zenginliğini* (arz / hatırlama) ve *kesinliği* maksimize etmek. Ancak ağırlıkları manuel olarak ayarlamak yerine, canlı kullanıcı sorgularını dinamik, sürekli bir değerlendirme setine dönüştürüyoruz. Her düşük performans gösteren sorgu bir eğitim sinyali haline gelir — gradyan inişi anlamında değil, ajans-karar anlamında. Boru hattı, bir sorgunun neden başarısız olduğunu düşünür ve doğru düzeltmeye yönlendirir.
Değerlendir → Akıl Yürüt → Eylem Döngüsü
Adım 1: Gerçek Sorguları Yakala (ve Kenar Durumlarını Simüle Et)
Curify'deki her arama, sorguyu ve hemen ardından gelen sonucu yakalar: tıklamalar, indirmeler veya korkulan sıfır sonuç sayfası. Bu, bize gerçek sinyal akışı sağlar.
Ayrıca, gerçek kullanıcılar bunlara ulaşmadan önce kenar durumlarını stres test etmek için *simüle edilmiş* kullanıcı yanıtları ekliyoruz — bir LLM destekli ajanın katalogun köşelerini araştırdığı gibi küçük bir sentetik trafik üretici. Gerçek sorgular, kullanıcıların gerçekten neye ihtiyaç duyduğunu yüzeye çıkarır; simüle edilmiş sorgular, beklediğimiz kalıplara dayanarak neye *ihtiyaç duyacaklarını* yüzeye çıkarır. Her ikisi de aynı değerlendirme boru hattına beslenir.
Adım 2: Her Düşük Performans Gösteren Sorguyu Değerlendir
Düşük zenginlik veya kötü kesinlik sağlayan herhangi bir sorgu bir değerlendirme düğmesini tetikler. Değerlendirici, gerçek etkileşim sinyallerini (tıklamalar, kalma süresi, indirmeler) ve sonuç döndüren ancak etkileşimin belirsiz olduğu sorgular için Gemini tarafından değerlendirilen alaka puanlarını birleştirir.
Değerlendirici sadece hatayı kaydetmez. Ajans sorusunu sorar: *bu bir arz problemi mi, yoksa bir mimari problemi mi?* O ayrım döngünün kalbidir ve hangi iki eylem yolunun bir sonraki olarak ateşleneceğini belirler.
Adım 3: Karar Dallaması — İçerik Oluştur (Arzı Düzelt)
Eğer değerlendirme, kullanıcının niyetinin geçerli olduğunu belirlerse (örneğin, "iki dilli dinozor kartları") ancak veritabanı gerçekten boşsa, sistem otonom bir yaratıcı olarak hareket eder.
Eylem: Sorgu parametrelerini şablon motoruna yönlendirir, Gemini API'sini tetikler ve eksik görsel varlıkları toplu olarak oluşturur — başarısız bir arama tarafından talep edilen aynı şablon destekli boru hattı.
Bir sonraki kullanıcı (veya simüle edilmiş ajan) aynı aramayı yaptığında, envanter kendini iyileştirmiştir. Arama motoru, gerçekten eksik olanı inşa etmiştir.
Adım 4: Karar Dallaması — Mimariyi İyileştir (Mantığı Düzelt)
Eğer içerik mevcutsa ("T-Rex eğitim posterleri") ancak kullanıcının sorgusu ("jurassic öğrenme materyalleri") bunu yüzeye çıkaramadıysa, motor bir mimari boşluğu işaretler.
Eylem: İşte vibe coding'in değer kazandığı yer. Bir geliştirici manuel olarak regex kuralları yazmak yerine, başarısız değerlendirme durumlarını Claude Code'a besliyoruz ve ona şunları yapmasını istiyoruz:
- sorgu yeniden yazma kurallarını güncelle
- yeni takma ad genişletmeleri oluştur
- LLM niyet yönlendirme istemini iyileştir
Arama boru hattındaki mimari ayarlamalar dakikalar içinde gönderilir, tamamen gerçek kullanıcı sürtünme noktalarına dayanır. Mühendis, farklılıkları gözden geçirerek döngüde kalır, ancak ajans, varsayımsal sorgular hakkında spekülasyon yapmak yerine gerçek durumlara karşı taslak oluşturur.
Bunun Yerine Geçtiği Şeyler
Döngünün yerini aldığı üç kalıp:
Manuel içerik geri doldurma: geleneksel arama ekipleri, "düşük hatırlama ile sorgular" için bir bekleme listesi tutar ve boşlukları doldurmak için içerik komisyonları gönderir. Gecikme haftalar sürer; birçokları asla doldurulmaz. Ajans döngüsü, boşluğu saatler içinde kapatır.
Elle yazılmış yeniden yazma kuralları: arama mühendisleri anahtar kelime başına takma adlar yazıyor veya kök sözlüklerini sürdürüyor. Gerekli ama yavaş, ve kurallar yeni sorgu kalıpları ortaya çıktıkça kayar. Vibe kodlu yeniden yazmalar, mühendis saatlerine değil, vaka hacmine göre doğrusal olarak ölçeklenir.
Statik değerlendirme setleri: bir kez yazılan ve dondurulan alaka ölçütleri. Gerçek kullanıcı sorguları her hafta değişir — statik bir değerlendirme seti, geçen çeyreğin gerçekliğini ölçmektedir. Canlı sorguları değerlendirme seti olarak ele almak, sistemin kullanıcıların *bu hafta* gerçekten aradıkları şeyler için optimize edilmesini sağlar.
Tools & Resources
Learn about the best tools available...
Yığın Nasıl Bir Araya Geliyor
Ajans katmanı ile yapıştırılmış dört bileşen:
Arama ön yüzü, sorguları + etkileşim sinyallerini yakalar ve bunları değerlendiriciye neredeyse gerçek zamanlı olarak gönderir.
Şablon motoru, Curify'nin Nano Banana kütüphanesidir — eksik içeriği oluşturmak için tedarik tarafı dalının çağırdığı yüzlerce parametreli görsel şablon. Manuel içerik düşüşlerini yönlendiren aynı motor; döngü başka bir çağırıcı haline gelir.
Gemini API, hem görüntü üretimini (arz tarafı) hem de alaka puanlamasını (değerlendirme tarafı) yönetir. Tek model ailesi, iki rol.
Claude Code, mimari taraf güncellemelerini yönetir — yeniden yazma kuralları, takma ad genişletmeleri, niyet yönlendirme istemleri. Ajans, başarısız durumlar hakkında bağlam alır ve mevcut boru hattı durumunu göz önünde bulundurarak bir fark döner, mühendis gözden geçirir, gönderir.
Entegrasyon maliyeti beklenenden daha düşük oldu çünkü şablon motoru ve arama ön yüzü zaten bağımsız sistemlerdi. Ajans döngüsü, zaten sahip olduğumuz araçların üzerinde bir koordinasyon katmanıdır — bir yeniden yazma değil — bu nedenle ilk sürümü günler içinde gönderebildik, haftalar değil.
Arama Olarak Orkestrasyon
Arama artık sadece geri alma ve sıralama ile ilgili değil; bu bir orkestrasyon problemidir. Gerçek kullanıcı sorgularını sadece metrikler olarak değil, bir ajans karar vericisi için aktif tetikleyiciler olarak ele alarak, kendi entropisiyle aktif olarak savaşan bir sistem inşa ettik.
Curify'de, arama motoru artık sadece içerik bulmuyor. Eğer içerik eksikse, onu yaratıyor. Eğer mantık hatalıysa, onu yeniden yazıyor. Arz tarafı ve mimari taraf, her ikisi de aynı sinyalden — dün çalışmayan sorgulardan — iyileşiyor.
Bu, sonraki nesil arama sistemleri için modeldir: daha büyük dizinler değil, daha sıkı döngüler.
Take the next step
Putting what you read into practice.
İlgili Makaleler
DS & AI Engineering
Yapay Zeka İçerik Fabrikası: Pazarlama Ajanslarının Araç Satın Almayı Durdurup Boru Hatları İnşa Etmesi Gerekiyor

Aylar Değil Dakikalar: İki Dilli Eğitim Yayıncılığı için Çok Modlu Bir AI Pipeline
