ReAct (Reasoning + Acting) prompting, büyük dil modellerinin (LLM) akıl yürütme zinciri oluştururken aynı anda dış araçlarla etkileşime girmesini sağlayan bir tekniktir. Bu yöntem, modelin düşünce sürecini adım adım takip ederek ve gerektiğinde bilgi arama, hesaplama gibi eylemler gerçekleştirerek daha doğru ve güvenilir sonuçlar üretmesine olanak tanır. Aşağıda ReAct prompting'i sıfırdan uygulamak için adım adım bir rehber bulacaksınız.
ReAct Prompting Nedir ve Neden Kullanılır?
ReAct, Chain-of-Thought (CoT) prompting'in bir uzantısı olarak düşünülebilir. CoT yalnızca akıl yürütme adımlarını içerirken, ReAct eylemleri de ekler. Örneğin, bir soruyu yanıtlarken model önce "Bilgi eksik, bir arama yapmalıyım" diyerek bir eylem gerçekleştirir, ardından sonucu değerlendirir. Bu sayede halüsinasyon riski azalır ve modelin güncel bilgilere erişmesi sağlanır. ReAct, özellikle çok adımlı mantık gerektiren sorular, bilgiye dayalı yanıtlama ve araç kullanımı gerektiren görevlerde etkilidir.
Adım Adım ReAct Prompting Uygulaması
Aşağıdaki adımlar, ReAct prompting'i bir LLM ile (örneğin GPT-4 veya açık kaynak bir model) uygulamak için kullanılabilir. Her adım, modelin akışını yönlendiren bir prompt yapısı içerir.
- Görevi ve Bağlamı Tanımlayın
İlk olarak, modelin gerçekleştirmesi gereken ana görevi net bir şekilde belirtin. Ardından, modelin kullanabileceği eylemleri (örneğin: arama yap, hesapla, veritabanını sorgula) ve her eylemin çıktısını nasıl işleyeceğini tanımlayın. Prompt'ta şu yapıyı kullanın:
"Görev: [soru]. Aşağıdaki eylemleri kullanabilirsin: [eylem1], [eylem2]. Her adımda önce düşünceni (Thought) yaz, sonra eylemi (Action) belirt, ardından gözlemi (Observation) ekle."
- Düşünce-Eylem-Gözlem Döngüsünü Kurun
Modelden her adımda üç bileşeni üretmesini isteyin: Thought (ne yapması gerektiği hakkında akıl yürütme), Action (gerçekleştirilecek eylem ve girdisi), Observation (eylemin sonucu). Örneğin:
- Thought: "İlk önce kullanıcının sorusunu anlamalıyım."
- Action: search("2026 Dünya Kupası finali")
- Observation: "Final 18 Temmuz 2026'da oynandı."
- Eylemler için Arayüz Sağlayın
Modelin eylemleri gerçekten çağırabilmesi için bir ara katman yazın. Örneğin,
search()eylemi bir API çağrısı yaparak sonucu döndürmeli. Bu adım, ReAct'in işlevsel olması için kritiktir. Prompt'ta eylemlerin sözdizimini açıkça belirtin ve geçersiz eylemler için hata işleme ekleyin. - Adım Adım İlerlemeyi Zorunlu Kılın
Modelin tek seferde cevap vermesini engelleyin. Her adımda yalnızca bir düşünce ve eylem üretmesini isteyin. Gözlemden sonra bir sonraki adıma geçmesi için "Sonraki düşünce:" gibi bir tetikleyici kullanabilirsiniz. Bu, modelin sıralı mantık yürütmesini sağlar.
- Final Cevap İçin Durdurma Kriteri Belirleyin
Model yeterli bilgiye ulaştığında bir sonuç üretmelidir. Prompt'a şu talimatı ekleyin: "Cevabı bulduğunda 'Final Answer: ...' diyerek bitir." Model eğer bir sonuca ulaşamazsa tekrar denemeli veya bilgi eksikliğini belirtmelidir.
- Örnek Bir Prompt Şablonu Oluşturun
İşte eksiksiz bir ReAct prompt şablonu:
Görev: {soru} Kullanabileceğin eylemler: - search(query): Bilgi aramak için. - calculate(expression): Matematiksel hesaplama. - finish(answer): Nihai cevabı vermek. Her adımda şu formatı kullan: Thought: [düşünce] Action: [eylem adı]([girdi]) Observation: [sonuç] Devam et.
En İyi Uygulamalar ve Sık Yapılan Hatalar
Dikkat Edilmesi Gerekenler
- Eylem adlarını ve parametrelerini net tanımlayın: Modelin doğru sözdizimi kullanması için prompt'ta örnekler verin.
- Döngü kontrolü ekleyin: Sonsuz döngüyü önlemek için maksimum adım sayısı (örneğin 10) koyun.
- Halüsinasyon riskini azaltmak için gözlemleri doğrulayın: Modelin ürettiği gözlemler gerçek eylem sonuçlarından gelmelidir; arayüzünüz bunu garanti etmelidir.
Sık Yapılan Hatalar
- Yanlış eylem çağırma: Model var olmayan bir eylemi çağırırsa hata mesajı dönün ve yeniden dene.
- Eksik düşünce adımları: Model bazen doğrudan eyleme geçer; düşünce adımını zorunlu kılın.
- Eylem sonuçlarını yanlış yorumlama: Observation'dan sonraki Thought'ta önceki gözlemi dikkate alması için prompt'u güçlendirin.
ReAct ile Diğer Tekniklerin Entegrasyonu
ReAct, Chain-of-Thought prompting ile birlikte kullanıldığında daha da güçlenir. CoT, akıl yürütme adımlarını yapılandırırken ReAct bunu eylemlerle genişletir. Ayrıca RAG (Retrieval-Augmented Generation) ile birleştirildiğinde, model dış bilgi kaynaklarına daha sistematik erişebilir. ReAct ayrıca LLM halüsinasyonlarını azaltmada etkili bir yöntemdir çünkü her adımda gerçek gözlemlere dayanarak ilerler.
Sonuç
ReAct prompting, LLM'lerin sadece dil üretme değil, aynı zamanda araç kullanma ve mantıksal akıl yürütme yeteneklerini birleştiren güçlü bir yaklaşımdır. Adım adım uygulama ile modelinizi daha güvenilir ve bilgiye dayalı hale getirebilirsiniz. Unutmayın, iyi bir ReAct sistemi, doğru prompt yapısı ve sağlam bir eylem arayüzü gerektirir. Yukarıdaki yönergeleri takip ederek kendi ReAct agent'inizi oluşturabilirsiniz.
Sık Sorulan Sorular
ReAct prompting ile Chain-of-Thought arasındaki fark nedir?
Chain-of-Thought (CoT) yalnızca akıl yürütme adımlarını içerirken, ReAct bu adımlara ek olarak dış araçlarla etkileşim (eylem) ekler. ReAct, modelin bilgi araması, hesaplama yapması gibi işlemleri gerçekleştirmesini sağlar.
ReAct prompting hangi durumlarda kullanılmalıdır?
ReAct, birden çok adım gerektiren karmaşık sorular, güncel bilgi gerektiren görevler, matematiksel hesaplamalar içeren problemler veya birden fazla dış kaynağa erişim gerektiren senaryolarda idealdir.
ReAct uygularken en sık karşılaşılan hata nedir?
En sık karşılaşılan hata, modelin geçersiz eylem adları kullanması veya eylem sözdizimini yanlış yazmasıdır. Bu nedenle prompt'ta örnek eylem gösterimi ve hata işleme mekanizması eklemek önemlidir.
ReAct ile RAG arasındaki ilişki nedir?
ReAct, RAG'den farklı olarak yalnızca bilgi almak için değil, genel amaçlı eylemler (arama, hesaplama) için de kullanılabilir. İkisi birleştirildiğinde, ReAct'in arama eylemi RAG'daki gibi bir döküman havuzunu sorgulayabilir.
ReAct prompt'umu optimize etmek için ipuçları nelerdir?
Prompt'a maksimum adım sayısı, eylem şablonları ve düşünce adımının zorunluluğunu ekleyin. Ayrıca az örnekli (few-shot) birkaç başarılı örnek vermek, modelin formatı daha iyi anlamasını sağlar.






