İçeriğe geç
Yapay Zeka·25 dk·13 Mayıs 2026·8

ReAct Pattern (Reasoning + Acting) 2026: Türkçe Derin Teknik Rehber — Akademiden Production'a

ReAct Pattern (Reasoning + Acting) için Türkçe en kapsamlı teknik rehber: akademik temel (Yao et al. 2022 ICLR paper - 'ReAct: Synergizing Reasoning and Acting in Language Models'), CoT vs ReAct farkı, Thought-Action-Observation döngüsü detayı, 5 ReAct varyantı (Vanilla ReAct, MRKL, Self-Ask, ReWOO, Plan-and-Execute), LangChain + LangGraph + LlamaIndex ReAct implementations, agentic tool use entegrasyonu (Search, Calculator, Database, Custom), 25+ Türkçe pratik örnek (web araştırma, hukuki sorgu, mali analiz, çoklu API), error handling (max iterations, infinite loops), production deployment, observability (LangSmith trace analizi), maliyet optimizasyonu, modeller arası karşılaştırma (GPT-5 / Claude / o3 ReAct davranışları).

SYK
Şükrü Yusuf KAYA
AI Expert · Kurumsal AI Danışmanı
Özet (TL;DR)

Tek cümlelik cevap: ReAct Pattern LLMlere Düşünce-Eylem-Gözlem döngüsü yaptıran modern agentic AI mimarisi — Yao 2022 paper, CoT'tan farklı olarak dış dünya ile etkileşir, 5 varyantı var, LangChain/LangGraph üzerinde production-grade.

  • ReAct Pattern (Reasoning + Acting) — LLM'lere DÜŞÜNCE üretip ardından EYLEM (tool call) yapan ve sonucu OBSERVATION olarak alıp tekrar düşündüğü iteratif paradigma. Yao et al. 2022 paper'ında tanıtıldı, modern agentic AI'ın temel teknik mimarisi.
  • CoT (Chain-of-Thought) vs ReAct fark: CoT YALNIZ düşünce zinciri (içsel), ReAct düşünce + dış dünya etkileşim (web search, DB query, API call). Sonuç: ReAct daha az hallucination, daha güncel bilgi, multi-step task çözümü.
  • Thought-Action-Observation (T-A-O) döngüsü: (1) Thought - 'Şunu yapmalıyım çünkü...', (2) Action - 'search(query)', (3) Observation - tool çıktısı, (4) Thought - 'Bilgi yeterli, cevap...', son: Answer.
  • 5 ReAct varyantı: (1) Vanilla ReAct, (2) MRKL (Modular Reasoning Knowledge Language), (3) Self-Ask, (4) ReWOO (Reasoning without Observation), (5) Plan-and-Execute. Her biri farklı problem için optimize.
  • 2024-2026 production: LangChain AgentExecutor, LangGraph state machine, Anthropic SDK + Claude Code, OpenAI Function Calling + Assistants API hepsi ReAct paradigması üzerinde inşa edildi.
  • Türk kullanım: Türkçe doğal dil ile ReAct çalışır AMA Thought adımları çoğu modelde İngilizce ürer (model native), Action + Final Answer Türkçe. Hybrid yaklaşım.
  • 25+ Türkçe pratik ReAct örnek: web araştırma (Tavily, SerpAPI), KVKK uyum sorgu, Türk hukuki içtihat arama, finansal hesaplama (Türk bankası faiz), multi-API workflow (Trendyol fiyat + döviz API), customer support agent, code execution sandbox, dosya analizi.

1. Giriş: ReAct Nedir, Neden Devrim?

Tanım
ReAct Pattern (Reasoning + Acting)
LLM'lere REASONING (düşünme) ve ACTING (eylem yapma — tool çağırma, API call, web search) adımlarını BİRLEŞTİREREK iteratif çözüm üreten prompt mühendisliği paradigması. Yao, Zhao, Yu, Du, Shafran, Narasimhan ve Cao tarafından 2022'de Princeton ve Google Research'te geliştirildi. ICLR 2023'te yayınlandı. Modern agentic AI sistemlerinin (LangChain, AutoGen, Anthropic SDK) temel teknik temelidir.

1.1 Modern Agentic AI'ın Doğuşu

ReAct, 2022 yılında agentic AI alanını dönüştürdü. Önceden:

  • Chain-of-Thought: Sadece düşünme (içsel akıl yürütme)
  • Tool-use papers: Tool kullanma ama düşünce zayıf
  • ReAct: İkisini BİRLEŞTİRDİ — düşün, sonra hareket et, sonucu gör, tekrar düşün.

1.2 Bu Rehberin Farkı

2. CoT vs ReAct — Fundamental Fark

2.1 Chain-of-Thought Hatırlatma

CoT, modelin SADECE içsel düşünce zincirini açıkça yazmasını sağlar:

Soru: "İstanbul'da bugün hava nasıl?" CoT cevap: "Adım adım düşüneyim. İstanbul Türkiye'de büyük bir şehir. Hava değişkenlik gösterir. Hava durumu API'sine erişimim yok, bu yüzden..."

Sorun: CoT modelin BİLDİĞİ ile sınırlı. Güncel bilgi yok, dış dünya etkileşimi yok.

2.2 ReAct Çözümü

Aynı soruyu ReAct ile:

Thought 1: İstanbul'un bugünkü havasını bilmek için bir hava durumu API'sini sorgulamalıyım. Action 1: weather_api("İstanbul") Observation 1: "İstanbul, 15 Mart 2026: 14°C, parçalı bulutlu, nem %65" Thought 2: Şimdi bu bilgiyi kullanıcıya doğal dilde sunabilirim. Answer: İstanbul'da bugün 14°C, parçalı bulutlu, nem %65.

ReAct'ın gücü: Düşünce + dış dünya etkileşim → güncel, doğru, multi-step cevaplar.

2.3 Karşılaştırmalı Tablo

CoT vs ReAct vs Tool Use Karşılaştırma
BoyutChain-of-ThoughtReActPure Tool Use
ReasoningVarVarYok
Tool kullanımıYokVarVar
İteratifHayırEvetÇoğunlukla hayır
Güncel bilgiHayırEvetEvet
Hallucination riskiYüksekDüşükDüşük
Token usage1-2x3-10x2-5x
LatencyDüşükOrta-yüksekOrta
ComplexityDüşükYüksekOrta
Use caseMath, logicMulti-step + dış bilgiTek-tool görev

3. Yao et al. 2022 — Tarihi Paper

3.1 Paper Detayları

Başlık: ReAct: Synergizing Reasoning and Acting in Language Models

Yazarlar: Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, Yuan Cao

Yayın: ICLR 2023 (Mart 2022'de arxiv'e yüklendi)

Kurumlar: Princeton University + Google Research

3.2 Ana Bulgular

Benchmark performansı:

Yao et al. 2022 - ReAct Benchmark Results
BenchmarkStandartCoTReActReAct + Self-Consistency
HotpotQA (multi-hop)%27.3%29.4%35.1%44.0
FEVER (fact verify)%56.3%56.4%62.0%64.6
AlfWorld (task)%17.1%17.1%71.0-
WebShop (e-commerce)%9.1%4.7%40.0-

AlfWorld 71% sıçraması özellikle dikkat çekici — text-based household task ortamında ReAct CoT'tan 54 puan üstün.

3.3 Paper'ın Önemli Tespitleri

4. Thought-Action-Observation Döngüsü Detayı

4.1 Standart ReAct Format

ReAct prompt'ı şu yapıyı izler:

Thought: [Modelin ne düşündüğü] Action: [Hangi tool, hangi argümanlarla] Observation: [Tool çıktısı]

Bu üçlü her döngüde tekrar eder, sonunda:

Thought: Tüm bilgiyi topladım. Answer: [Final cevap]

4.2 Klasik Örnek (Yao paper)

Soru: "Aside from the Apple Remote, what other devices can control the program Apple Remote was originally designed to interact with?"

ReAct çıktısı:

Thought 1: I need to search Apple Remote and find the program it was originally designed to interact with. Action 1: Search[Apple Remote] Observation 1: The Apple Remote is a remote control introduced in October 2005 by Apple. It was originally designed to control the Front Row media center program on the iMac G5.

Thought 2: Apple Remote was originally designed to control Front Row. I need to search Front Row. Action 2: Search[Front Row] Observation 2: Front Row is a discontinued media center software. It is controlled by the Apple Remote or keyboard function keys.

Thought 3: Front Row is controlled by Apple Remote and keyboard function keys. So keyboard function keys can also control Front Row. Answer: Keyboard function keys.

4.3 Yapısal Anatomi

Thought-Action-Observation Anatomy
BileşenİşlevKim Üretir?
ThoughtPlan + reasoningLLM
ActionTool call (parametre ile)LLM
ObservationTool çıktısıTool/Environment
Answer (final)User-facing cevapLLM

4.4 Türkçe ReAct Örneği

Soru: "Trendyol'un 2025 cirosu ne kadardı? Bu rakam 2024'ten ne kadar değişti?"

ReAct çıktısı:

Thought 1: Trendyol'un 2025 cirosunu bulmak için web search yapmalıyım. Action 1: web_search("Trendyol 2025 yıllık ciro açıklaması") Observation 1: Trendyol 2025 yıllık ciro 200 milyar TL açıklandı (Şubat 2026 raporu).

Thought 2: 2024 cirosunu da bulmalıyım karşılaştırma için. Action 2: web_search("Trendyol 2024 yıllık ciro") Observation 2: Trendyol 2024 cirosu 142 milyar TL (Şubat 2025 raporu).

Thought 3: Şimdi hesaplama yapayım. 200 - 142 = 58 milyar artış. Yüzde olarak: 58/142 = %40.8. Action 3: calculator(58 / 142 * 100) Observation 3: 40.8451

Thought 4: Bilgi tamamlandı. Final cevap hazır. Answer: Trendyol'un 2025 cirosu 200 milyar TL oldu, 2024'teki 142 milyar TL'ye göre %40.8 artış gösterdi.

5. 5 ReAct Varyantı Detaylı

5.1 Varyant 1: Vanilla ReAct

Orijinal Yao 2022 paper'daki standart yaklaşım. Thought-Action-Observation döngüsü, max iteration (genelde 5-15).

Use case: Genel amaçlı multi-step QA, web research.

Strengths: Basit, anlaşılır, debug edilebilir.

Weaknesses: Maliyet artar her döngüde, infinite loop riski.

5.2 Varyant 2: MRKL (Modular Reasoning Knowledge Language)

Tanım
MRKL System
AI21 Labs tarafından 2022'de tanıtılan (Karpas et al.), 'mirakkel' okuyan, Modular Reasoning Knowledge Language System. LLM'i merkezi 'router' olarak kullanır ve farklı uzman modüllere (calculator, database, calendar, web search) yönlendirir. ReAct'ın özelleşmiş tool routing varyantı.

Pattern: Genel LLM + Specialized Modules (matematik için calculator, fact için database, vb.)

Avantajı: Spesifik domain'lerde uzman tool'lar daha doğru.

5.3 Varyant 3: Self-Ask

Tanım
Self-Ask
Press et al. 2022 paper'ında tanıtılan ReAct varyantı. Model kendine alt-sorular sorar ve cevap verir. 'Soru: X? -> İlk alt soru: Y? -> Cevap: Z -> Final cevap: ...' formatı.

Pattern:

Soru: "Joe Biden ABD'nin 46. başkanı oldu. 45. başkan kimdi?"

Are follow-up questions needed? Yes. Follow-up: Who was the 45th US president? Intermediate answer: Donald Trump. So the final answer is: Donald Trump.

Avantajı: Multi-hop reasoning'i daha doğal kurar.

5.4 Varyant 4: ReWOO (Reasoning WithOut Observation)

Tanım
ReWOO
Xu et al. 2023 paper'ında tanıtılan ReAct varyantı. Klasik ReAct'ta her observation'dan sonra model bir kez daha LLM call yapar (pahalı). ReWOO ÖNCE TÜM PLAN'I yapar, sonra tool'ları paralel çalıştırır, en son tek LLM call ile sentez yapar. Token tasarrufu %50-70.

Pattern:

Plan:

  1. plan_1 = web_search("Trendyol 2025 ciro")
  2. plan_2 = web_search("Trendyol 2024 ciro")
  3. plan_3 = calculator(plan_1 - plan_2)
  4. Synthesize all results into answer

Execute all → Final answer.

Avantajı: Maliyet düşük, latency düşük (paralel execution).

Dezavantajı: Plan'da hata varsa, sonradan düzeltemez.

5.5 Varyant 5: Plan-and-Execute (LangChain)

LangChain'in introduce ettiği pattern. Önce planner LLM bir plan oluşturur (multiple steps), executor LLM bu planı sırayla uygular.

Pattern:

Planner: Step 1: Search Trendyol 2025 revenue. Step 2: Search Trendyol 2024 revenue. Step 3: Calculate difference. Step 4: Format answer.

Executor: Her step'i sırayla yapar.

Avantajı: Net planlama + execution ayrımı. Plan'ı insan onaylayabilir.

5.6 Karşılaştırma Tablosu

5 ReAct Varyant Karşılaştırma
VaryantToken CostLatencyUse Case
Vanilla ReActYüksek (5-10x)Yüksek (sequential)Genel QA, exploration
MRKLOrta (3-5x)OrtaDomain-specific tool routing
Self-AskOrtaOrtaMulti-hop factual
ReWOODüşük (2-3x)Düşük (parallel)Bilinen plan + öngörülebilir
Plan-and-ExecuteOrtaOrtaLong-running tasks

6. Modern LangChain ReAct Implementation

6.1 Basit ReAct Agent (Python)

Kod Bloğu
from langchain.agents import AgentExecutor, create_react_agent
from langchain_anthropic import ChatAnthropic
from langchain.tools import Tool
from langchain_community.tools import DuckDuckGoSearchRun

# Tools tanımla
search = DuckDuckGoSearchRun()
tools = [
    Tool(name="Search", func=search.run, description="Web search yapar")
]

# Model
llm = ChatAnthropic(model="claude-sonnet-4-5")

# ReAct agent oluştur
agent = create_react_agent(llm, tools, prompt=react_prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True, max_iterations=10)

# Çalıştır
result = executor.invoke({"input": "Trendyol'un 2025 cirosu ne kadar?"})

6.2 LangGraph State Machine (Modern Pattern)

LangGraph 2024-2026'da ReAct'ın yerini almaya başladı — daha esnek, debug edilebilir state machine:

Kod Bloğu
from langgraph.graph import StateGraph, END
from typing import TypedDict, Annotated, Sequence

class AgentState(TypedDict):
    messages: Annotated[Sequence, "Conversation history"]
    next_step: str

def reason(state):
    # Model düşünce üret
    response = llm.invoke(state['messages'])
    return {"messages": state['messages'] + [response], "next_step": parse_next(response)}

def act(state):
    # Tool çağır
    tool_result = call_tool(state['next_step'])
    return {"messages": state['messages'] + [tool_result]}

# Graph oluştur
workflow = StateGraph(AgentState)
workflow.add_node("reason", reason)
workflow.add_node("act", act)
workflow.add_edge("reason", "act")
workflow.add_conditional_edges("act", lambda s: "reason" if needs_more(s) else END)
workflow.set_entry_point("reason")

app = workflow.compile()

6.3 OpenAI Function Calling Pattern

OpenAI 2023'te native function calling ekledi — JSON-tabanlı ReAct varyantı:

Kod Bloğu
from openai import OpenAI

client = OpenAI()

tools = [
    {
        "type": "function",
        "function": {
            "name": "web_search",
            "description": "Web search yapar",
            "parameters": {
                "type": "object",
                "properties": {"query": {"type": "string"}},
                "required": ["query"]
            }
        }
    }
]

messages = [{"role": "user", "content": "Trendyol 2025 ciro nedir?"}]
response = client.chat.completions.create(
    model="gpt-5",
    messages=messages,
    tools=tools,
    tool_choice="auto"
)

# Eğer tool call gerek
if response.choices[0].message.tool_calls:
    for tc in response.choices[0].message.tool_calls:
        result = execute_tool(tc.function.name, tc.function.arguments)
        messages.append({"role": "tool", "content": result, "tool_call_id": tc.id})
    # Final response
    final = client.chat.completions.create(model="gpt-5", messages=messages)

7. Tool Tasarımı — En Önemli Konu

7.1 İyi Tool 8 Prensibi

7.2 Tool Description Örnekleri (Türkçe)

Kötü description: "Search"

İyi description: "web_search: Verilen sorgu için DuckDuckGo'da güncel web araması yapar. Argüman: query (string, aranacak metin). Çıktı: Top 5 sonucun başlık + URL + 2-3 cümlelik özet listesi. Kullanım: gerçek dünya bilgisi, güncel olaylar, tarihler, istatistikler için."

Çok iyi description (with example): "web_search: Web araması yapar.

Parametreler:

  • query (string, required): Aranacak metin (Türkçe veya İngilizce)
  • num_results (int, opsiyonel, default 5): Kaç sonuç dönsün

Çıktı: JSON list [{"title": "...", "url": "...", "snippet": "..."}, ...]

Kullanım örneği: web_search(query="Trendyol 2025 ciro", num_results=3)

Ne zaman kullan:

  • Güncel bilgi (eğitim verisinden sonra olaylar)
  • İstatistik, finansal veri
  • Şirket bilgileri

Ne zaman KULLANMA:

  • Genel matematik
  • Bilinen kavram açıklama
  • Yaratıcı yazım"

7.3 Yaygın Tool Tipleri

Common ReAct Tools
ToolİşlevProvider Örnekleri
Web SearchGüncel web bilgisiDuckDuckGo, Tavily, SerpAPI, Brave
CalculatorHesaplamaPython eval, sympy
Database QuerySQL sorguPostgres, MySQL, MongoDB
Vector SearchSemantic searchPinecone, Weaviate, Chroma
Code ExecutionPython sandboxCode Interpreter, e2b
File Read/WriteDisk I/OStandard library
API CallExternal REST APIrequests, httpx
Email SendEmail göndermekSendGrid, AWS SES
CalendarTarih/saat sorguGoogle Calendar API
Browser UseWeb sayfası ile etkileşimPlaywright, Puppeteer
Image AnalysisGörsel anlamaGPT-4V, Claude Vision
Audio TranscribeSes → metinWhisper, Deepgram

8. 25+ Türkçe Pratik ReAct Örnek

8.1 Web Araştırma + Sentez

Görev: "Türk fintech sektörünün 2025 büyüme verilerini bul ve özetle."

ReAct trace:

Thought 1: Türk fintech sektörü 2025 verisi için web search yapmalıyım. Action 1: web_search("Türk fintech sektörü 2025 büyüme TÜBİSAD") Observation 1: TÜBİSAD raporu - Türk fintech 2025'te 18 milyar TL büyüklüğe ulaştı, %35 büyüme.

Thought 2: Daha detaylı veri için ek araştırma. Action 2: web_search("Türk fintech 2025 yatırım sayısı startup") Observation 2: 2025'te 45 yeni fintech startup, $200M+ yatırım çekildi.

Thought 3: Yeterli bilgi toplandı, özet hazır. Answer: Türk fintech sektörü 2025'te 18 milyar TL büyüklüğe ulaşarak %35 büyüme gösterdi. 45 yeni startup kuruldu ve sektör 200M+ dolar yatırım çekti. (TÜBİSAD verisi)

8.2 KVKK Uyum Sorgu

Görev: "Yeni AI ürünüm için KVKK Madde 9 (yurt dışı transfer) uyum gereksinimleri neler?"

Thought 1: KVKK Madde 9 detayını araştırmalıyım. Action 1: kvkk_database_search("Madde 9 yurt dışı veri transferi") Observation 1: KVKK Madde 9: (a) açık rıza, VEYA (b) yeterli koruma kararı olan ülkeler, VEYA (c) yeterli korumayı sağlayan taahhütname.

Thought 2: AI servis sağlayıcı bilgisini de almalıyım (OpenAI, Anthropic). Action 2: vector_search("OpenAI KVKK uyum, EU residency") Observation 2: OpenAI ChatGPT Plus standart sözleşme - veri ABD'de işlenir. ChatGPT Team/Enterprise EU residency opt-in mevcut.

Thought 3: Şimdi öneri sentezi yapabilirim. Answer: KVKK Madde 9'a uygun AI ürün için 3 strateji: (1) ChatGPT Enterprise + EU residency, (2) Mistral Le Chat (Paris datacenter native), (3) Self-host model (Türkiye datacenter). Açık rıza alma + DPA imzalama + VERBİS kayıt zorunludur.

⚠️ Bu örnek genel rehber; KVKK Sertifikalı uzman onayı şarttır.

8.3 Mali Analiz + Hesaplama

Görev: "100K TL'yi 5 yıl bileşik faizle %20 yıllık nominal getirde nasıl artar? Enflasyon %35 ise reel getiri nedir?"

Thought 1: Bileşik faiz formülünü uygulamalıyım. Action 1: calculator((100000 * (1.20)**5)) Observation 1: 248832

Thought 2: Şimdi enflasyon düşülü reel getiri hesabı. Action 2: calculator(((1.20/1.35)**5 - 1) * 100) Observation 2: -43.81

Thought 3: Sonuçları yorumlamalıyım. Answer: 100.000 TL nominal olarak 5 yıl sonra 248.832 TL oluyor. AMA %35 enflasyon altında reel getiri NEGATİF: %-43.8. Yani satın alma gücünüz azalıyor.

8.4 Çoklu API — E-ticaret Fiyat Karşılaştırma

Görev: "iPhone 15 Pro 256GB'ın Trendyol vs Hepsiburada vs Apple Store fiyatlarını karşılaştır."

Thought 1: 3 ayrı kaynak için fiyat sorgulamam gerek. Action 1: web_scrape("trendyol.com/iphone-15-pro-256gb") Observation 1: Trendyol: 64.999 TL (indirimli), normal 75.999 TL.

Action 2: web_scrape("hepsiburada.com/iphone-15-pro-256gb") Observation 2: Hepsiburada: 65.499 TL, 12 ay 5.458 TL'den taksit.

Action 3: web_scrape("apple.com/tr/shop/iphone-15-pro") Observation 3: Apple Store: 79.999 TL.

Thought 2: Karşılaştırma tablosu hazırlayabilirim. Answer:

KaynakFiyatNot
Trendyol64.999 TLİndirim aktif
Hepsiburada65.499 TL12 ay taksit imkanı
Apple Store79.999 TLGaranti + servis premium

En ucuz: Trendyol (15.000 TL avantaj).

8.5 Customer Support Agent

Görev: "Müşteri 'siparişim 5 günde gelmedi' diyor. Yardım et."

Thought 1: Önce müşterinin sipariş bilgisini bulmalıyım. Action 1: ask_user("Sipariş numaranızı paylaşır mısınız?") Observation 1: Müşteri "TR-2026-A123" yazdı.

Action 2: order_database.lookup("TR-2026-A123") Observation 2: Sipariş tarihi 2026-03-10, durum: kargoda, tahmin teslim 2026-03-15.

Thought 2: Sipariş bugün (15 Mart) için tahminli. Önce kargo durumunu kontrol edeyim. Action 3: cargo_tracking_api("TR-2026-A123") Observation 3: Son güncelleme: kargo Ankara hub'ında, dağıtım için yola çıktı 14:30.

Thought 3: Bilgi yeterli, müşteriye doğal cevap. Answer: Merhaba, sipariş #TR-2026-A123 bugün dağıtıma çıktı. Kargo aracında, akşam saatlerinde elinize ulaşacak. Sabırınız için teşekkür ederiz.

8.6 Code Debug Agent

Görev: "Python kodum 'TypeError: unsupported operand type(s) for +: int and str' hatası veriyor. Debug et."

Thought 1: Hatanın ne anlama geldiğini biliyorum — int + str karışımı. Kodu görmem gerek. Action 1: read_file("script.py") Observation 1: Kod yüklendi. Satır 42: result = age + " years old"

Thought 2: Age int olarak tanımlanmış, string ile direkt + yapılamaz. Çözüm: str() ile cast. Action 2: edit_file("script.py", line=42, new_content='result = str(age) + " years old"') Observation 2: Düzenleme başarılı.

Action 3: run_command("python script.py") Observation 3: Hata yok, çıktı: "30 years old"

Answer: Hata düzeltildi. Sorun satır 42'de int olan age'i string ile birleştirme çalıştırılıyordu. str(age) ile cast ettim, şimdi çalışıyor.

8.7 Dosya Analizi (RAG + ReAct)

Görev: "Şirket sözleşmesinde KVKK uyum maddeleri var mı? PDF'i incele."

Thought 1: PDF'i okumam ve KVKK maddelerini aramam gerek. Action 1: pdf_load("kontrat.pdf") Observation 1: PDF 25 sayfa yüklendi, vector store'a indexlendi.

Action 2: vector_search("KVKK kişisel veri koruma") Observation 2: Sayfa 12: "Madde 18 - Veri Sorumlusu", Sayfa 13: "Madde 19 - Veri Sahibi Hakları"

Action 3: pdf_extract("kontrat.pdf", pages=[12, 13]) Observation 3: Madde 18 + 19 metni tam çıkarıldı.

Thought 2: İçerikleri analiz edip özetlemeliyim. Answer: Evet, KVKK maddeleri sayfa 12-13'te yer alıyor. Madde 18 veri sorumlusu, Madde 19 veri sahibi hakları (Madde 11 KVKK) içeriyor. AMA: yurt dışı veri transferi (Madde 9 referansı) eksik — eklenmesi önerilir.

8.8 Multi-Step Hukuki Sorgu

Görev: "Türk İş Kanunu'na göre 5 yıl çalışan birinin tazminat hakkı nedir?"

Thought 1: İş Kanunu Madde 25 + Madde 14 (kıdem tazminatı) maddelerini araştırmalıyım. Action 1: legal_database_search("Türk İş Kanunu Madde 14 kıdem tazminatı") Observation 1: Madde 14: Kıdem tazminatı, her yıl için 30 günlük brüt ücret tutarındadır. 5 yıl çalışan için 5 × 30 = 150 günlük (5 ay) brüt ücret tutarında.

Action 2: legal_database_search("kıdem tazminatı tavan 2026") Observation 2: 2026 yılı için kıdem tazminatı tavanı: 41.828 TL aylık.

Thought 2: Hesaplama yapayım — örneğin maaş 30.000 TL ise. Action 3: calculator(30000 * 5) Observation 3: 150000

Thought 3: Sonucu detaylı sunayım. Answer: 5 yıl çalışan bir kişi için kıdem tazminatı:

  • Brüt maaş × 5 (yıl) = kıdem tazminat tutarı
  • Aylık 30.000 TL maaş ise: 150.000 TL
  • 2026 yılı için aylık tavan: 41.828 TL (yüksek maaşlar bu tavan ile sınırlı)
  • İhbar tazminatı ayrı: 5 yıl çalışmış için 8 hafta (Madde 17)

⚠️ Hukuki uyarı: Bu genel rehberdir. İş Hukuku avukatına danışılmalıdır.

8.9 + 16 ek Türkçe örnek (özet)

(9) Akademik makale literature review (10) Veri analizi (CSV dosyası) (11) E-mail sınıflandırma + yanıt taslağı (12) Çeviri quality check (geri çeviri) (13) İçerik üretim + fact-check (14) Sosyal medya monitoring + sentiment (15) Stock analizi + tahmin (16) Türk hukuk içtihat arama (17) Otomatik rapor üretimi (18) Müşteri segmentasyon analizi (19) SEO optimizasyon checklist (20) Code review automation (21) Bug ticket triage (22) Meeting transcribe + action items (23) Personalized recommendation (24) Marketing campaign performance analysis (25) Database schema migration plan

Her biri için aynı T-A-O pattern uygulanır.

9. Error Handling ve Edge Cases

9.1 Yaygın Failure Mode'ları

ReAct Yaygın Hatalar
Hata TipiTanımÇözüm
Infinite LoopModel aynı tool'u tekrar tekrar çağırırmax_iterations limit (5-10)
Tool FailureAPI timeout, 500 errorTry-catch + retry logic
Invalid Tool ArgsLLM yanlış format JSONSchema validation + retry with error
Hallucinated ToolLLM olmayan tool çağırırStrict tool list + reject unknown
No Final AnswerModel sonsuz düşünür, cevap vermezForce termination + summary
Token ExhaustionContext window dolarSummarize history + continue
Confused ReasoningAşırı uzun düşünce, alakasızRe-prompt + simplification

9.2 Best Practices

10. Maliyet Optimizasyonu

10.1 ReAct'ın Maliyet Karakteristiği

ReAct token usage'ı CoT'tan 3-10x fazladır çünkü:

  • Her döngüde tüm history yeniden gönderiliyor
  • Thought + Action + Observation hep prompt'ta
  • Multi-iteration için cumulative cost

Örnek hesap:

Tek soru, 5 iteration ReAct, Claude Sonnet 4.6:

  • Iteration 1: 500 token input + 200 output = $1.5/$3 = $4.5
  • Iteration 2: 1000 + 200 = $3 + $3 = $6
  • Iteration 3: 1700 + 200 = $5.1 + $3 = $8.1
  • Iteration 4: 2400 + 200 = $7.2 + $3 = $10.2
  • Iteration 5: 3300 + 300 = $9.9 + $4.5 = $14.4

Toplam: ~$43 (cents olmadan, sadece example token usage)

Aylık 1000 soru: ~$43,000... pratik için CoT vs ReAct cost karşılaştırması gerek.

10.2 Maliyet Düşürme Stratejileri

11. Observability — LangSmith Trace Patterns

11.1 İyi Bir Trace Yapısı

LangSmith'te ReAct trace'i ideal:

  1. Root: User query
  2. Child 1: Agent reasoning (LLM call 1)
  3. Child 2: Tool call (Search)
  4. Child 3: Tool response
  5. Child 4: Agent reasoning (LLM call 2)
  6. Child 5: Tool call (Calculator)
  7. Child 6: Tool response
  8. Child 7: Final synthesis (LLM call 3)
  9. End: Final answer

Her node'da: latency, token usage, cost.

11.2 Common Anti-Patterns Trace'te

  • LLM call'lar arası 30+ saniye gecikme → tool yavaş
  • 10+ iteration → infinite loop sınırı
  • Output token > 500 → model gevezelik yapıyor
  • Aynı tool 3+ kez aynı parametre ile çağrılıyor → infinite loop

12. Model Karşılaştırması — 2026

ReAct için Model Karşılaştırma 2026
ModelReAct SkillTool Use QualityHızıMaliyet
GPT-5Çok iyiEn iyi (native function calling)HızlıOrta
o3LiderİyiYavaş (reasoning)Pahalı
Claude Opus 4Çok iyiÇok iyiOrtaPahalı
Claude Sonnet 4.6Çok iyiÇok iyiHızlıOrta
Gemini 2.5 ProİyiİyiHızlıUcuz
DeepSeek R1İyi (reasoning)OrtaOrtaÇok ucuz
Llama 4 70BOrtaOrtaYerel hızlıSelf-host
Mistral Large 2İyiİyiHızlıOrta

Tavsiye:

  • Production: Claude Sonnet 4.6 veya GPT-5
  • Karmaşık reasoning: o3
  • Maliyet kritik: Gemini Flash veya DeepSeek
  • KVKK + self-host: Llama 4 70B

13. Sık Sorulanlar

Soru: ReAct vs CoT hangisi daha iyi?

Soru: ReAct mı Plan-and-Execute mi?

ReAct adaptive (her adım plan değişebilir). Plan-and-Execute statik plan + execution. ReAct keşif gerektiren task'lar için, Plan-and-Execute öngörülebilir task'lar için.

Soru: LangChain mi LangGraph mı?

LangChain ReAct olgun ama LangGraph daha esnek, debug edilebilir. 2026'da LangGraph state machine pattern modern best practice.

Soru: Multiple agents (multi-agent system) ReAct kullanıyor mu?

Evet. Crew AI, AutoGen, LangGraph multi-agent — her agent ReAct paradigmasında çalışır + agentlar arası coordination ek katman.

Soru: ReAct güvenlik riski var mı?

Var. Tool'lar database write, file delete gibi yapabiliyorsa LLM yanlış karar verebilir. Çözüm: (1) Confirmation step (user onaylasın), (2) Sandboxed environment, (3) Read-only tools default.

Soru: Türkçe ReAct İngilizce'den ne kadar farklı?

Çoğunlukla aynı. Modern LLM'ler Türkçe Thought + Action + Observation üretebilir. AMA bazı modellerde Thought'lar İngilizce çıkar — system prompt'ta "TÜM ÇIKTI TÜRKÇE" belirtmek gerek.

Soru: ReAct + RAG kombinasyonu nasıl?

Çok yaygın. RAG tool olarak ReAct'a dahil edilir: vector_search(query) tool'u. Modern AI Engineer rolü tam bunu yapıyor.

Soru: Production'da ReAct ne kadar maliyetli?

Tipik: $0.02 - $0.50 per query. Multi-tool query daha pahalı. Aylık 10K query: $200-5000 (model + tool seçimine bağlı).

Soru: ReAct fail rate ne kadar?

Production'da %5-15 fail (tool failure + LLM error + infinite loop). Iyi error handling ile %2-5'e düşer.

Soru: ReAct'a alternatif var mı?

Yes — Reflexion (self-critique), Self-Refine, Verbose CoT. Ama ReAct hala mainstream.

14. Sonuç

3 ana çıkarım:

  1. ReAct, modern agentic AI'ın temel tekniği — Yao 2022 paper modern LLM ekosisteminin temelini attı.

  2. 5 ana varyant farklı durumlar için — Vanilla, MRKL, Self-Ask, ReWOO, Plan-and-Execute.

  3. Production-grade ReAct = LangGraph + good tool design + observability + cost optimization.

Bu hafta yapılacaklar:

(1) LangChain veya LangGraph kurulum + ilk ReAct agent yazma.

(2) 3-5 quality tool tasarla (description detaylı, schema strict).

(3) LangSmith integration + ilk 100 trace inceleme.

(4) Maliyet tracking dashboard.

Kaynaklar

  1. , ICLR 2023 / Princeton + Google Research ·
  2. , AI21 Labs ·
  3. , University of Washington ·
  4. , Microsoft Research ·
  5. , LangChain ·
  6. , LangChain ·
  7. , Anthropic ·
  8. , OpenAI ·

Danismanlik Baglantilari

Bu yazıya en yakın consulting sayfaları

Bu içerikten sonraki mantıklı adım için en ilgili solution, role ve industry landing'lerini burada görebilirsin.

Yorumlar

Yorumlar

Bağlantılı Pillar Konular

Bu yazının bağlandığı pillar konular