Büyük dil modelleri, onlardan aynı anda çok fazla şey yapmalarını istediğinizde tökezler. Elli sayfalık bir PDF'i bir sohbet penceresine atıp aynı anda yapılandırılmış bir analiz, bir risk değerlendirmesi ve bir yönetici özeti isteyin. Sonuç genellikle yüzeysel, kafa karıştırıcı veya tamamen yanlıştır. Daha iyi bir yaklaşım mekaniktir. İşi ayrı aşamalara bölün. İlk aşamanın çıktısını doğrudan ikinci aşamaya besleyin ve bu şekilde devam edin. Anthropic bu desene prompt chaining (prompt zincirleme) diyor. Google ise bunu sequential pipeline (ardışık iş akışı) olarak adlandırıyor. Her iki isim de aynı şeyi tanımlıyor: Her istasyonun belirli bir dönüşümü gerçekleştirdiği bir montaj hattı.

Bu Uygulamada Nasıl Görünür

Tek bir devasa prompt yerine, bir dizi küçük ve odaklanmış adım oluşturursunuz. Tedarikçi güvenlik değerlendirmelerini işleyen bir uyumluluk ekibini hayal edin. Birinci adım, taranmış bir PDF'ten ham metni çıkarır. İkinci adım, şifreleme standartları ve erişim kontrollerine yapılan her atıfı tanımlar. Üçüncü adım, bu bulguları dahili bir kontrol listesiyle eşleştirir. Dördüncü adım, güvenlik sorumlusu için kısa bir not taslağı hazırlar. Bir ajan PDF'i metne dönüştürür. Bir sonraki ajan o metinden belirli verileri çeker. Son ajan ise bu verilere dayanarak bir özet yazar. Bu adımların hiçbiri göz kamaştırıcı değildir ve hiçbiri aynı anda birden fazla iş yapmaz. Her parça tek bir işi iyi yapar.

Montaj hattı metaforunun geçerli olmasının sebebi budur. Bir fabrikada tek bir işçi tüm arabayı monte etmez. Uzmanlaşma, kaliteyi yüksek, hata modlarını ise dar tutar. Aynı mantık dil modelleri için de geçerlidir. Sadece JSON çıkarımı isteyen bir prompt, aynı istekte görüş ve biçimlendirme de isteyen bir prompta göre daha az halüsinasyon görme eğilimindedir.

Tahmin Değil, Kontrol Noktaları (Gates) Oluşturun

Herhangi bir zincirdeki en zayıf nokta aktarımdır (handoff). Bir model kibar bir reddediş, JSON yerine bir markdown bloğu veya kesilmiş bir yanıt döndürebilir. Eğer bu çöp veri ikinci adıma akarsa, tüm zincir çöker. Çözüm bir "gate" (kontrol noktası) oluşturmaktır.

Bir gate bir model çağrısı değildir. Basit bir koddur. Adımlar arasında çalışan kısa bir betik yazarsınız. Çıktının boş olmadığından emin olmak için uzunluğunu kontrol edebilir. Anahtarların üçüncü adımın beklediğiyle eşleşip eşleşmediğini doğrulamak için bir JSON şeması doğrulaması çalıştırabilir. Bir regex kontrolü, bir sonraki prompt oluşturulmadan önce bir e-posta adresinin veya tarih alanının gerçekten mevcut olup olmadığını doğrulayabilir. Bu, kötü çıktılar için para harcamadan önce hataları durdurur. Bir gate mikro saniyeler mertebesinde işlem gücü tüketir. Başarısız bir sonraki LLM çağrısı ise token, gecikme ve akıl sağlığınıza mal olur.

Bunu fabrika zeminindeki bir kalite kontrol noktası gibi düşünün. Widget'ları saymak için yapay zekaya ihtiyacınız yok. Bir cetvele ihtiyacınız var.

Ne Zaman Zincirleme Yapmalı, Ne Zaman Durmalı?

Prompt chaining her problem için uygun bir yöntem değildir. İşin sabit, tekrarlanabilir adımları olduğunda kullanın. Aylık finansal raporlar, standartlaştırılmış sözleşme incelemeleri ve log analizi iş akışları buna iyi örneklerdir. Prosedürü bir kontrol listesi olarak yazabiliyorsanız, muhtemelen zincirleme yapabilirsiniz. Ayrıca karmaşık işler için yüksek doğruluk gerektirdiğinde de zincirlemeye başvurmalısınız. Bir problemi aşamalara bölmek, modeli her seferinde tek bir mantıksal katmanı işlemeye zorlar. Son olarak, zincirler monolitik promptlara göre daha kolay hata ayıklanabilir (debug). Özet yanlış olduğunda, çıkarma (extraction) adımını incelersiniz. Çıkarma yanlış olduğunda, kaynak metni incelersiniz. İncelemek için elinizde ara çıktılar (artifacts) bulunur.

Adımları önceden bilmiyorsanız prompt chaining'den kaçının. Keşifsel araştırmalar, ucu açık beyin fırtınaları veya soruşturma görevleri düz bir çizgi izlemez. Hız tek önceliğiniz olduğunda da bunu atlayın. Zincirler seridir; birinci adım bitmeden ikinci adım başlayamaz. Eğer adımlarınız birbirine bağımlı değilse, onları paralel olarak çalıştırın. Aynı belgenin üç bağımsız çevirisini zincirlemek için hiçbir neden yoktur.

Katılık Tuzağı

Tüm bu yapının bedeli katılık (rigidity) olmasıdır. Sabit bir zincir yeni durumlara uyum sağlayamaz. Eğer bir tedarikçi altı alanlı bir form gönderirse ve sizin şema doğrulama kapınız beş alan bekliyorsa, hat durur. Eğer bir kullanıcı PDF yerine bir Word belgesi yüklerse, ilk adım bozulur ve zincirin geri kalanı üzerinde çalışacak bir şey bulamaz.

Daha da kötüsü, hatalar yayılır. Erken aşamada meydana gelen bir hata tüm zincir boyunca akar. Eğer PDF çıkarıcı, bir finansal rakamdan eksi işaretini düşürürse, sonraki her adım bu yanlış sayıyı...