🚀 Bilgiseli 160+ Online Geliştirici Aracı Yayında! Ücretsiz kullanmak için tıklayın. Araçları Keşfet
Yapay Zeka 📅 2026-10-31

Otonom AI Ajanları ve ReAct Mimarisi: LangGraph ile Kendi Kendini Düzeltici (Self-Correcting) Sistemler Geliştirme

LangGraph ve ReAct (Reason + Act) döngüsü kullanarak otonom yapay zeka ajanları, döngüsel durum grafikleri ve kendi kendini düzelten kurumsal iş akışları mimarisi.

M
M.Salih ASLAN
Kıdemli Mühendis
⏱️ 9 dk 👁️ 143
Otonom AI Ajanları ve ReAct Mimarisi: LangGraph ile Kendi Kendini Düzeltici (Self-Correcting) Sistemler Geliştirme
📑 İçindekiler Genişlet / Daralt ▾

Giriş ve Endüstriyel Motivasyon

Büyük dil modellerinin (LLM) geleneksel metin üretim sınırlarını aşarak harici araçları çalıştırabildiği, veritabanlarını sorgulayabildiği ve hedefe yönelik çok adımlı görevleri icra edebildiği otonom AI ajanları (Autonomous AI Agents) dönemi başlamıştır. Yalnızca tek yönlü prompt-cevap modeline dayanan sistemler, karmaşık kurumsal görevlerde halüsinasyon, bağlam kaybı ve mantıksal çıkmazlar yaşamaktadır.

Bu sorunları aşmak amacıyla geliştirilen ReAct (Reason + Act) mimarisi ve LangGraph gibi yönlü çevrimli durum grafiği (Directed Cyclic Graph) çatıları; yapay zekanın sadece "düşünmesini" değil, "eylemde bulunmasını", eylemin sonucunu "gözlemlemesini" ve hata durumunda kendi kendini düzeltmesini (Self-Correction) sağlamaktadır.

Otonom AI Ajanları ve ReAct Mimarisi Genel Çalışma Prensipleri
Otonom AI Ajanları ve ReAct Mimarisi Genel Çalışma Prensipleri

İçindekiler Tablosu

1. Otonom Ajan Paradigması: ReAct Döngüsünün Mantığı
2. LangGraph Mimarisi ve StateGraph Veri Yapısı
3. Döngüsel Akışlar ve Kendi Kendini Düzeltme (Self-Correction Loop)
4. Üretim Düzeyinde Python ve LangGraph Uygulaması
5. Hata Toleransı, Bellek Yönetimi ve İnsan Denetimi (Human-in-the-Loop)
6. Kurumsal Başarım Kriterleri ve Karşılaştırma Matrisi
7. Sıkça Sorulan Sorular (FAQ)
8. Sonuç ve İleri Okuma Önerileri


1. Otonom Ajan Paradigması: ReAct Döngüsünün Mantığı

2022 yılında Princeton Üniversitesi ve Google Research araştırmacıları tarafından literatüre kazandırılan ReAct Mimarisi (Reasoning and Acting), dil modellerinin akıl yürütme adımlarını harici eylemlerle senkronize eder:

$$\text{Döngü} = \text{Düşünce (Thought)} \longrightarrow \text{Eylem (Action)} \longrightarrow \text{Gözlem (Observation)} \longrightarrow \text{Güncelleme (State Update)}$$

Düşünce (Thought): Model, kullanıcı hedefi karşısında ne yapması gerektiğini doğal dilde planlar: "Kullanıcı 2026 yılı sunucu maliyet raporunu sordu. Önce SQL veritabanına bağlanıp ilgili tabloyu listelemeliyim."
Eylem (Action): Belirlenen harici araç (Model Context Protocol veya REST API) çağrılır: sql_query(query="SELECT SUM(cost) FROM infrastructure_costs WHERE year = 2026").
Gözlem (Observation): Aracın döndürdüğü gerçek veri bağlama eklenir. Eğer sorgu sözdizimi hatası verirse, model bu hatayı gözlem olarak okur.
Refleksiyon (Reflection): Hata oluştuysa model "Sütun adı 'cost' değil 'amount' imiş, sorguyu revize ediyorum" diyerek bir sonraki iterasyona geçer.

[!TIP]
Geleneksel zincir (Chain) mimarileri doğrusal bir rotayı takip ederken ($A \to B \to C$), ReAct ajanları çevrimseldir ($A \to B \to \text{Hata} \to A \to B \to C$). Bu çevrimsellik, karmaşık sistemlerde başarı oranını %38'den %89'a çıkarmaktadır.

2. LangGraph Mimarisi ve StateGraph Veri Yapısı

Geleneksel LangChain veya LlamaIndex zincirleri, döngüsel (cyclic) yapıları yönetmekte yetersiz kalmaktadır. LangGraph, graf tabanlı bir durum makinesi (State Machine) olarak tasarlanmıştır.

LangGraph StateGraph ve ReAct Döngüsü Mimari Şeması
LangGraph StateGraph ve ReAct Döngüsü Mimari Şeması

LangGraph mimarisinin üç temel ayağı şunlardır:

1. State (Durum Nesnesi): Tüm düğümler arasında taşınan merkezi veri sözlüğü. Her düğüm durumdan okur ve duruma ekleme yapar (Annotated[list, add_messages]).
2. Nodes (Düğümler): Birer Python fonksiyonudur. Bir LLM çağrısını, bir veritabanı sorgusunu veya bir Python sandbox çalıştırmasını temsil eder.
3. Edges (Kenarlar & Koşullu Geçişler): Bir düğümden diğerine geçişi yöneten mantık. Özellikle conditional_edges, modelin bir araç çağırıp çağırmadığını (tools_condition) denetleyerek akışı tool_node veya END düğümüne yönlendirir.


3. Döngüsel Akışlar ve Kendi Kendini Düzeltme (Self-Correction Loop)

Gerçek dünya üretim sistemlerinde LLM'lerin ürettiği SQL kodları, JSON nesneleri veya Python script'leri sıklıkla doğrulama (validation) testlerinden kalır. LangGraph'ın en büyük gücü, kendi kendini düzelten döngüler (Self-Correction Loops) kurgulamaktır.

Bir veri analizi ajanında şu akış çalışır:

1. Coder Node: Kullanıcı isteğine göre Python kodu üretir.
2. Executor Node: Kodu güvenli bir Docker container veya sandbox içinde yürütür.
3. Validator Node: Çıktı bir SyntaxError veya mantıksal sapma içeriyorsa, akışı sonlandırmak yerine hata çıktısını Coder Node'a geri iletir.
4. Model, kendi hatasını analiz ederek azami tekrar sayısı (örn. 3 tekrar) içinde düzelterek başarılı sonuca ulaşır.

Platformumuzda yer alan Yapay Zeka Rehberleri ve Geliştirici Araçları ile bu tür ajanların entegrasyonu hızla test edilebilmektedir.


4. Üretim Düzeyinde Python ve LangGraph Uygulaması

Aşağıda, harici bir hesaplama ve arama aracıyla donatılmış, kendi kendini doğrulayan kurumsal bir LangGraph ajanı yer almaktadır:

from typing import Annotated, TypedDict
from langchain_openai import ChatOpenAI
from langchain_core.messages import BaseMessage, HumanMessage, ToolMessage
from langgraph.graph import StateGraph, END
from langgraph.graph.message import add_messages
from langgraph.prebuilt import ToolNode, tools_condition

# 1. Merkezi Durum Şeması (State Definition)
class AgentState(TypedDict):
messages: Annotated[list[BaseMessage], add_messages]
retry_count: int

# 2. Özel Kurumsal Araçlar (Custom Tools)
def execute_system_diagnostic(subsystem: str) -> str:
"""Linux çekirdeği ve servis durumlarını sorgulayan araç."""
valid_subsystems = ["ebpf", "docker", "nginx", "redis"]
if subsystem.lower() not in valid_subsystems:
return f"HATA: '{subsystem}' geçerli bir alt sistem değil. Geçerli olanlar: {valid_subsystems}"
return f"BAŞARILI: {subsystem} alt sistemi 0ms gecikme ile NOMINAL durumda çalışıyor."

tools = [execute_system_diagnostic]

# 3. Modelin Araçlarla Bağlanması (Tool Binding)
llm = ChatOpenAI(model="gpt-4o", temperature=0.1)
llm_with_tools = llm.bind_tools(tools)

# 4. Ajan Düğümü (Agent Node)
def agent_node(state: AgentState):
response = llm_with_tools.invoke(state["messages"])
return {"messages": [response], "retry_count": state.get("retry_count", 0)}

# 5. Grafiğin Kurulması (StateGraph Construction)
workflow = StateGraph(AgentState)

workflow.add_node("agent", agent_node)
workflow.add_node("tools", ToolNode(tools))

workflow.set_entry_point("agent")

# Koşullu Kenar: Model araç çağırdıysa 'tools' düğümüne, tamamladıysa END'e git
workflow.add_conditional_edges(
"agent",
tools_condition,
{
"tools": "tools",
END: END
}
)
workflow.add_edge("tools", "agent")

app = workflow.compile()

# Örnek Çağrı
inputs = {"messages": [HumanMessage(content="Docker ve Nginx durumlarını kontrol et.")], "retry_count": 0}
for chunk in app.stream(inputs, stream_mode="values"):
message = chunk["messages"][-1]
print(f"[{message.type}]: {message.content or message.tool_calls}")

[!IMPORTANT]
Ajan döngülerine mutlaka bir recursion_limit (örneğin 25 döngü) parametresi atanmalıdır. Bu limit, modelin çözümsüz bir problemde sonsuz döngüye girip aşırı API tüketmesini engeller.

5. Hata Toleransı, Bellek Yönetimi ve İnsan Denetimi (Human-in-the-Loop)

Kurumsal ortamlarda tam otonomluk, finansal transferler veya sunucu silme gibi kritik işlemlerde kabul edilemez riskler barındırır. LangGraph, Human-in-the-Loop (HITL) desteği ile işlem icra edilmeden önce insan onay mekanizması sunar:

Kesme Noktaları (Breakpoints): interrupt_before=["tools"] kuralı sayesinde ajan kritik bir SQL veya API aracı çalıştırmadan önce grafik duraklatılır.
Onay ve Durum Düzenleme: Yönetici panelinden onay geldiğinde veya durumdaki parametre elle düzeltildiğinde grafik kaldığı yerden devam eder.
* Zaman Yolculuğu (Time Travel): LangGraph'ın MemorySaver (Checkpointer) bileşeni sayesinde grafiğin önceki adımlarına geri dönülüp farklı alternatif promptlarla dallanma yapılabilir.

Bu mimari, Zero Trust Güvenlik Mimarisi ilkeleriyle birebir örtüşmektedir.


6. Kurumsal Başarım Kriterleri ve Karşılaştırma Matrisi

KriterDoğrusal Zincir (Linear Chain)Klasik ReAct AjanıLangGraph StateGraph
Döngü Desteği❌ Desteklemez⚠️ Sınırlı (Derinlik az)✅ Sınırsız & Denetimli
Durum (State) Yönetimi❌ Yok (Yalnızca metin akışı)⚠️ Basit Bellek✅ Tip Denetimli (TypedDict)
Kendi Kendini Düzeltme❌ Mümkün Değil⚠️ Düşük Başarı✅ Çok Katmanlı Validator
İnsan Onayı (HITL)❌ Yok❌ Karmaşık✅ Doğal Kesme Noktaları
ÖlçeklenebilirlikDüşükOrtaKurumsal (Enterprise)

Sıkça Sorulan Sorular (FAQ)

ReAct mimarisi ile geleneksel Chain-of-Thought (CoT) arasındaki fark nedir?

Chain-of-Thought (CoT), modelin yalnızca içsel düşünme adımlarını sıralar ve dış dünyayla etkileşime geçemez. ReAct mimarisi ise düşünme adımlarını somut dış araç çağrılarıyla (API, veritabanı sorgusu) birleştirir ve aldığı sonuçlara göre stratejisini günceller.

LangGraph ajanları üretim ortamında nasıl gözlemlenir (Observability)?

LangGraph grafikleri, LangSmith veya açık kaynaklı OpenTelemetry telemetri hatları üzerinden izlenir. Her düğümün yürütülme süresi, token tüketimi ve araç çağrı parametreleri saniyelik bazda takip edilir.

Bir ajan sonsuz döngüye girerse ne olur?

LangGraph çalışma zamanı motoru (Runtime), öntanımlı olarak bir recursion_limit barındırır. Belirtilen adım sayısı aşıldığında sistem bir GraphRecursionError fırlatarak akışı güvenli bir şekilde sonlandırır.

LangGraph yerel açık kaynak LLM'ler (Ollama / vLLM) ile çalışır mı?

Evet. LangGraph, LangChain'in ChatOllama ve ChatOpenAI uyumlu tüm yerel sürücüleriyle tam uyumludur. Llama 3, Mistral ve DeepSeek gibi modeller yerel sunucularda ajan motoru olarak kullanılabilir.

Sonuç ve İleri Okuma Önerileri

Otonom AI ajanları, yapay zekayı pasif bir soru-cevap asistanından kurumsal görevleri hatasız tamamlayan otonom dijital çalışma arkadaşlarına dönüştürmektedir. ReAct döngüsü ve LangGraph durum mimarisi, halüsinasyon riskini en aza indirerek mühendislik düzeyinde güvenilirlik sağlar.

Daha fazla derinlik için RAG Mimarisi ve Vektör Veritabanları Rehberi, Modern Yazılım Mimarileri ve Bilgiseli Mühendislik İlkeleri sayfalarımızı ziyaret edebilirsiniz.

Bu rehber size yardımcı oldu mu?

Lütfen değerlendirmenizi yıldızlara tıklayarak iletin.

Ortalama: 4.96 / 5.0 (64 oy)

📚 Benzer Yapay Zeka Rehberleri

💬 Okuyucu Yorumları (0)

Bu makaleye henüz yorum yapılmamış. Düşüncelerinizi ilk paylaşan siz olun!

Yorum Yapın

Yorumunuz editör onayından sonra yayınlanacaktır.