Düğümler, Kenarlar ve Durum
Bir TypedDict durumu tanımlayın, onu değiştiren düğüm işlevleri yazın ve bunları yönlü kenarlarla bağlayın.
Düğümler, Kenarlar ve Durum, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
State Nesnesi
Her LangGraph aracısı türü belirlenmiş bir duruma sahiptir — genellikle bir TypedDict:
from typing import TypedDict
from typing_extensions import Annotated
import operator
class AgentState(TypedDict):
messages: Annotated[list, operator.add] # appends instead of replaces
plan: str
answer: strDurum Güncellemeleri Nasıl Çalışır?
Her düğüm kısmi bir sözlük döndürür. LangGraph:
- Geçerli durumu okur
- Düğümü bu durumla çağırır
- Döndürülen kısmi sözlüğü geri birleştirir
operator.add kullanılan liste alanlarında yeni öğeler mevcut değerlerin üzerine yazmak yerine eklenir.
Defining a Node
def planner(state: AgentState) -> dict:
prompt = f'User wants: {state["messages"][-1].content}'
plan = llm.invoke(prompt).content
return {'plan': plan}Registering the Node
from langgraph.graph import StateGraph, END
graph = StateGraph(AgentState)
graph.add_node('planner', planner)Kenarları Tanımlama
Statik kenarlar koşulsuz olarak çalışır:
graph.set_entry_point('planner')
graph.add_edge('planner', 'researcher')
graph.add_edge('researcher', 'writer')
graph.add_edge('writer', END)Koşullu Kenarlar
Dallanma için sıradaki düğümü seçen bir işlev kaydedin:
def route(state: AgentState) -> str:
if state['needs_research']:
return 'researcher'
return 'writer'
graph.add_conditional_edges(
'planner',
route,
{'researcher': 'researcher', 'writer': 'writer'}
)END Özeldir
END son düğümdür. END'e giden herhangi bir kenar grafı sonlandırır ve geçerli durumu döndürür.
Compiling the Graph
app = graph.compile()
result = app.invoke({'messages': [...]})
print(result['answer'])Durum Güncellemelerinin Akışı
Durum değişikliklerini gerçek zamanlı olarak izleyin:
for event in app.stream({'messages': [...]}):
print(event)
# Each event is the state diff from the just-completed node.Azaltıcı İşlevler
Karmaşık durum birleştirmeleri için özel bir azaltıcı kullanın:
def merge_facts(old, new):
return {**old, **new}
class State(TypedDict):
facts: Annotated[dict, merge_facts]Alt Graflar
Bir düğüm, kendisi derlenmiş başka bir graf olabilir — hiyerarşik aracılar için kullanışlıdır:
subgraph = StateGraph(SubState).compile()
graph.add_node('subprocess', subgraph)Eşzamansız Düğümler
Düğümler eşzamansız işlevler olabilir:
async def fetch_node(state):
data = await fetch_async(state['url'])
return {'data': data}
result = await app.ainvoke({...})Düğümlerdeki Hatalar
Bir düğüm hata üretirse LangGraph hatayı yayar ve durur. Hatanın kontrollü biçimde ele alınmasını istiyorsanız düğüm içinde yakalayın:
def safe_search(state):
try:
return {'results': search(state['query'])}
except Exception as e:
return {'error': str(e), 'results': []}Durum Güncellemeleri
Bir düğüm sözlük olarak {'plan': '...'} döndürdüğünde ne olur?
Özet
Bir TypedDict durumu tanımlayın, kısmi güncellemeler döndüren işlevler yazın, düğümler ve kenarlar ekleyin, derleyin ve çalıştırın. LangGraph budur.
Sıkça Sorulan Sorular
“Düğümler, Kenarlar ve Durum” dersi ücretsiz mi?
Evet — “Düğümler, Kenarlar ve Durum” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.
“Düğümler, Kenarlar ve Durum” dersinde ne öğreneceğim?
Bir TypedDict durumu tanımlayın, onu değiştiren düğüm işlevleri yazın ve bunları yönlü kenarlarla bağlayın. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
AI Agents öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Düğümler, Kenarlar ve Durum” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?
Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Grafikler Düz Zincirlerden Neden Daha İyidir
- Düğümler, Kenarlar ve Durum
- Koşullu Yönlendirme ve Dallanma
- Grafik Durumunu Kalıcılaştırma (Kontrol Noktaları)