0Pricing
AI Agents · Ders

İletişim Protokolleri (İleti Veriyolları)

Bağımsız olarak ölçeklenebilmeleri ve hata verebilmeleri için aracılar arasındaki bağı bir ileti veriyoluyla (Redis, NATS, Kafka) kaldırın.

İletişim Protokolleri (İleti Veriyolları), CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 4. 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.

İşlem İçi Görüşmelerin Ötesinde

Küçük sistemlerde ajanlar birbirlerini işlem içinde çağırır. Daha büyük sistemlerde bunları Redis, NATS veya Kafka üzerinden bir ileti veri yoluyla birbirinden ayırın.

Neden Birbirinden Ayırmalı?

  • Ajanlar bağımsız olarak ölçeklenebilir
  • Hatalar ajan başına yalıtılır
  • Asenkron iş akışları (yavaş ajanları işlem içinde beklemek gerekmez)
  • Hata ayıklamak için iletiler yeniden oynatılabilir
  • Diller arası kullanım: bir Python ajanı ile bir Go ajanı aynı kanala abone olabilir

Simple Bus: Redis Pub/Sub

import redis
r = redis.Redis()

# Publisher
r.publish('agent.research.task', json.dumps({'task_id': 'abc', 'query': '...'}))

# Subscriber
p = r.pubsub()
p.subscribe('agent.research.task')
for msg in p.listen():
    if msg['type'] == 'message':
        handle_task(json.loads(msg['data']))

Yayınlama/Abone Olma ile Yayın

Bir olay hakkında birçok ajanın bilgi sahibi olabileceği durumlarda kullanın (örneğin "kullanıcı-sorusu-alındı").

İş Dağıtımı için Kuyruklar

Her görevi tam olarak bir çalışanın işlemesi gerektiğinde bir kuyruk (Redis BLPOP, RabbitMQ) kullanın:

import json, queue

r = queue.Queue()

# Producer
r.put(json.dumps({'task_id': 'abc', 'kind': 'research'}))

def process(task):
    print('processing', task)

# Worker
while not r.empty():
    raw = r.get()
    task = json.loads(raw)
    process(task)

Hız için NATS

NATS, mikro hizmetler için tasarlanmış hafif bir ileti aracısıdır. Saniyenin altında gecikme ve yerleşik istek/yanıt desteği sunar:

import nats
nc = await nats.connect('nats://localhost:4222')

await nc.publish('agent.research', json.dumps(task).encode())

# Request/reply
response = await nc.request('agent.research', payload, timeout=10)

Kalıcılık için Kafka

Kafka, kalıcı ve yeniden oynatılabilir günlükler ekler. Denetim ve yeniden oynatma için mükemmeldir:

from confluent_kafka import Producer, Consumer

producer.produce('agent-events', key=task_id, value=json.dumps(task))
producer.flush()

Olay Şemaları

Her ileti biçimini Pydantic veya Protobuf ile tanımlayın. Şemalar olmadan veri yolunuz karmaşaya dönüşür:

class ResearchTask(BaseModel):
    task_id: str
    user_id: str
    query: str
    deadline: datetime

class ResearchResult(BaseModel):
    task_id: str
    findings: list[str]
    duration_ms: int

İlişkilendirme Kimlikleri

İlişkili her ileti, bir görevi hizmetler arasında izleyebilmeniz için aynı ilişkilendirme_kimliğini taşır:

record = {'correlation_id': 'abc', 'task_id': 'def', 'span': 'llm_call'}
print(record)

İdempotent İşleyiciler

İletiler birden fazla kez teslim edilebilir (en az bir kez semantiği). İşleyicileri idempotent yapın; aynı görev_kimliği yalnızca bir kez işlenmelidir.

Teslim Edilemeyen İleti Kuyruğu

Bir işleyici art arda başarısız olduğunda, iletiyi sonsuza kadar döngüde tutmak yerine insan incelemesi için bir DLQ'ya boşaltın:

if attempts > MAX_RETRIES:
    r.rpush('queue:research:dlq', raw)
    log.error('Sent to DLQ', extra={'task_id': task_id})

Gözlemlenebilirlik

Her iletiyi izleyin:

  • İz kimlikleri veri yolu boyunca aktarılır
  • Günlüklerde görev_kimliği ve ilişkilendirme_kimliği bulunur
  • Ölçümler: konu başına iş hacmi, gecikme ve hata oranı

Ne Zaman Kullanılmalı?

Basit başlayın — işlem içi ajanlarla. Veri yoluna yalnızca şu gereksinimleriniz olduğunda geçin:

  • Üretimde 5 veya daha fazla ajan
  • Ajanları bağımsız olarak ölçeklendirme ihtiyacı
  • Birden fazla hizmete yayılan iş akışları

En Az Bir Kez mi?

"En az bir kez teslim" işleyicileriniz için ne gerektirir?

Özet

Basit durumlarda Redis, gecikme için NATS, kalıcılık için Kafka kullanarak bileşenleri birbirinden ayırın. Şemalar, ilişkilendirme kimlikleri, idempotent işleyiciler ve DLQ kullanın.

Sıkça Sorulan Sorular

“İletişim Protokolleri (İleti Veriyolları)” dersi ücretsiz mi?

Evet — “İletişim Protokolleri (İleti Veriyolları)” 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.

“İletişim Protokolleri (İleti Veriyolları)” dersinde ne öğreneceğim?

Bağımsız olarak ölçeklenebilmeleri ve hata verebilmeleri için aracılar arasındaki bağı bir ileti veriyoluyla (Redis, NATS, Kafka) kaldırı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 4. dersidir.

“İletişim Protokolleri (İleti Veriyolları)” 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

  1. Sohbet Tabanlı Çoklu Aracı (AutoGen)
  2. Hiyerarşik Denetleyiciler (Düzenleyici ve Çalışanlar)
  3. Aracı Rolleri ve Uzmanlaşmalar
  4. İletişim Protokolleri (İleti Veriyolları)
← AI Agents Sayfasına Dön