ReAct, LLM'lerin akıl yürütme (Thought) ile harici araç kullanımını (Action) döngüsel olarak birleştirdiği ajan prompting çerçevesidir.

ReAct (Reasoning + Acting), büyük dil modellerinin (LLM) akıl yürütme izlerini (reasoning traces) ve eylemleri (actions) birbirine kenetleyerek ürettiği bir prompting çerçevesidir. Shunyu Yao ve arkadaşları tarafından 2022 yılında yayımlanan "ReAct: Synergizing Reasoning and Acting in Language Models" makalesiyle tanıtılmıştır. Geleneksel zincir-düşünce (Chain-of-Thought) prompting'i yalnızca dahili akıl yürütmeye dayanırken, ReAct modelin aynı zamanda harici araçlarla (web arama, hesap makinesi, veritabanı sorgusu) etkileşime girmesine olanak tanır. Her adımda model önce bir düşünce üretir (Thought), ardından bir eylem gerçekleştirir (Action), sonra bu eylemin sonucunu gözlemler (Observation) ve döngü tekrarlanır. ReAct döngüsü şu şekilde işler: 1) Model mevcut bağlamı değerlendirerek sıradaki adım için bir plan düşüncesi (Thought) üretir. 2) Bir araç çağrısı veya başka bir eylem (Action) tanımlar. 3) Araçtan dönen sonucu gözlemler (Observation). 4) Gözlemi bağlama ekleyerek yeni bir Thought üretir. Bu döngü görev tamamlanana kadar devam eder. ReAct, AI ajan çerçevelerinin (LangChain, LlamaIndex, OpenAI Agents, Google Vertex AI Agents) temel akıl yürütme stratejisi olarak yaygınlaşmıştır. Özellikle açık uçlu soru cevaplama, olgusal doğrulama (fact-checking) ve çok adımlı problem çözmede saf CoT'a kıyasla belirgin doğruluk artışı sağlar. Modelin hem düşüncesini hem de eylemini izlenebilir kılması, hata ayıklamayı ve güvenilirliği artırır.

loop ReAct Döngüsü Nasıl Çalışır?

ReAct çerçevesinde model, her akıl yürütme adımını üç bileşenle üretir. Thought (Düşünce): Model, şu ana kadar edindiği bilgileri ve sıradaki adım için planını doğal dil olarak ifade eder. Bu iç monolog, dışarıdan izlenebilir ve denetlenebilir. Action (Eylem): Model, kullanabileceği araçlardan birini (arama, sorgu, hesaplama, kod çalıştırma) ve bu araca iletilecek parametreyi belirtir. Observation (Gözlem): Araçtan dönen sonuç bağlama eklenir. Model bu yeni bilgiye dayanarak bir sonraki Thought'u üretir. Döngü, model "Görev tamamlandı" kararı verene veya maksimum adım sayısına ulaşılana kadar sürer. Tüm Thought-Action-Observation zinciri, modelin neden bu kararları aldığının tam denetim kaydını oluşturur.

ReAct vs Diğer Prompting Teknikleri

chat Standart Prompting

Tek tur girdi-çıktı. Model dahili bilgisine dayanır, harici araç yok. Güncel bilgilere ve hesaplamaya erişemez.

format_list_numbered Chain-of-Thought (CoT)

Modelin adım adım düşünmesini sağlar, doğruluğu artırır. Ancak harici veri kaynakları veya araçlarla entegrasyon yoktur.

sync_alt ReAct

CoT düşüncesini harici araç kullanımıyla birleştirir. Model hem akıl yürütür hem de bilgi toplar; en güncel ve doğrulanmış yanıtları üretir.

psychology_alt Reflexion

ReAct'in üzerine inşa edilir; model geçmiş hatalarını yansıtır ve stratejisini günceller. Uzun vadeli hafıza ve öz eleştiri ekler.

apps ReAct Kullanım Alanları

  • check_circle Açık Uçlu Soru Cevaplama: Model Wikipedia, web arama veya veritabanı gibi kaynaklara erişerek güncel ve doğrulanmış yanıtlar üretir. HotpotQA ve FEVER kıyaslamalarında saf CoT'u geride bırakır.
  • check_circle Çok Adımlı Görev Planlama: ALFWorld gibi kapalı ortam simülasyonlarında ajan, her adımda ortamı gözlemleyerek planını günceller. Yazılım geliştirme ajanlarında kod çalıştırma + hata ayıklama döngüsü kurar.
  • check_circle Araç Entegrasyonu: Hesap makinesi, takvim, SQL sorgulayıcı, kod yorumlayıcı (code interpreter) gibi harici araçlarla birleştirilir. LangChain AgentExecutor ve OpenAI Assistants bunun hazır uygulamalarıdır.
  • check_circle Olgusal Doğrulama: Model iddiayı kaynaklardan bağımsız olarak kontrol eder, her doğrulama adımı izlenebilir. Yanlış bilgi üretme (hallucination) riskini önemli ölçüde azaltır.

quiz Sıkça Sorulan Sorular

  • check_circle ReAct ile AI ajan arasındaki fark nedir?: ReAct bir prompting stratejisidir; AI ajan ise bu stratejiyi kullanan bir sistem tasarımıdır. Tüm ReAct ajanları ReAct kullanır ama ajan mimarisi ek bileşenler (hafıza, planlayıcı, araç kayıt defteri) de içerir.
  • check_circle ReAct hallucination'ı tamamen önler mi?: Hayır, ancak önemli ölçüde azaltır. Model harici kaynaklardan bilgi aldığında doğruluk artar; ama yanlış araç çağrısı veya yanlış gözlem yorumu hâlâ hata üretebilir.
  • check_circle ReAct her LLM'de çalışır mı?: Teknik olarak evet, ama etkinlik modelin instruction-following kapasitesine bağlıdır. GPT-4, Claude 3+ ve Llama 3 gibi güçlü modellerde ReAct döngüsü çok daha kararlı çalışır. Küçük modellerde Thought-Action ayrımı bozulabilir.
  • check_circle LangChain'de ReAct nasıl kullanılır?: LangChain'in `create_react_agent` veya `AgentExecutor` sınıfları ile ReAct ajanı birkaç satır kodla kurulabilir. Araçlar (tools) listesi ve LLM tanımlandıktan sonra ajan otomatik Thought-Action-Observation döngüsü yürütür.