kertenkerem_
· Otonom Sistemler ve Ajanlar (Agentic AI) · 3 dk okuma

Ai ajanları için decision log: karar mekanizmalarını denetlenebilir kılma

Üretim ortamlarında autonomous agents kullanırken karşılaşılan en büyük zorluk, bu sistemlerin neden belirli bir kararı aldığını kestirememektir. Karmaşık prompt zincirleri ve dış araç entegrasyonları arasında kaybolan bir ajan, sistemin bütünü için öngörülemez riskler taşır. Bu belirsizliği ortadan kaldırmak için ai governance protokollerini, ajanın her adımını kayıt altına alan bir yapıya, yani decision log mimarisine oturtmak gerekir.

Decision log yapısını kurmak

Ajan tabanlı sistemlerde hata ayıklama, geleneksel yazılım geliştirmeden farklı bir disiplin gerektirir. Bir fonksiyonun çıktı vermesi değil, ajanın hangi mantıksal çıkarımı kullanarak o çıktıya ulaştığı önemlidir. Bu noktada ajanın iç düşünce sürecini (chain-of-thought) yapısal bir veriye dönüştürmek, yani JSON formatında bir log çıktısı üretmek ilk adımdır.


{
  "timestamp": "2023-10-27T10:00:00Z",
  "agent_id": "data-analyst-01",
  "intent": "fetch_user_metrics",
  "reasoning": "kullanıcı aktivitesi son 24 saatte %15 düştü, veritabanı sorgusu gerekli",
  "tool_called": "sql_connector",
  "status": "success",
  "trace_id": "a1-b2-c3-d4"
}

Bu log yapısı, ajanın sadece ne yaptığını değil, neden yaptığını da saklar. Transparency sağlamak için bu verinin merkezi bir log yönetim sistemine akması şarttır. Böylece ajanın aldığı kararlar, üretim ortamındaki diğer servislerin logları ile korelasyon içine sokulabilir.

Agent-to-agent iletişiminde denetlenebilirlik

Birden fazla ajanın birbirine görev devrettiği sistemlerde karmaşıklık üstel bir hızla artar. Agent-to-agent iletişiminde her mesajın bir context objesi taşıması gerekir. Bu obje, iş akışının tüm geçmişini (trace history) barındırmalıdır. Eğer ajan A, ajan B’ye bir veri gönderiyorsa, B sadece veriyi değil, A’nın bu veriyi oluştururken hangi kararları verdiğini de görmelidir.

Bu yapıyı kurarken kullanılan mesaj kuyrukları (message queues) veya event bus yapıları, mesajın metadata kısmında bu trace_id bilgisini tutmalıdır. Böylece bir ajan hata aldığında, hatanın kaynağını kendi kodunda değil, zincirin önceki halkasındaki bir karar mantığında arayabilirsiniz.

Hata ayıklama süreçlerinde agent harness

Ajanları izole bir ortamda test etmek için kullanılan agent harness yapısı, ajanın dış dünya ile olan etkileşimini simüle eder. Gerçek bir API yerine sahte (mock) araçlar kullanarak ajanın karar verme mantığını gözlemleyebilirsiniz. Bu ortam, ajanın belirli bir senaryoda nasıl tepki vereceğini önceden tahmin etmemizi sağlar.

Bir harness yapısı şu temel bileşenlerden oluşur:

  • Mock tool registry: Ajanın kullanabileceği araçların güvenli sürümleri.
  • Sandbox state manager: Ajanın kararlarının kaydedildiği geçici veritabanı.
  • Decision validator: Ajanın kararlarını belirli kısıtlara göre puanlayan bir katman.

Validator katmanı, ajanın "yasaklı" bir bölgeye girip girmediğini kontrol eder. Örneğin, bir satış ajanının kullanıcı veritabanına silme komutu göndermesini engelleyen bir kural seti, debug aşamasında doğrudan loglara düşer. Bu, üretim ortamına geçmeden önce ajanın mantık hatalarını temizlemenizi sağlar.

Gözlemlenebilirlik (observability) ve metrikler

Debugging süreçleri için sadece hata mesajlarına güvenmek yeterli değildir. AI sistemlerinde token tüketimi, yanıt süresi ve karar kesinlik (confidence score) oranlarını izlemek gerekir. Ajanın bir kararı verme süresi beklenenden uzun sürüyorsa, bu genellikle sonsuz bir düşünce döngüsüne (recursion) girdiğinin işaretidir.


def validate_agent_decision(decision_log):
    # Basit bir eşik değeri kontrolü
    if decision_log['confidence'] < 0.6:
        log_warning(f"Düşük güven oranı: {decision_log['trace_id']}")
        return False
    return True

Bu tür kontrolleri bir decorator olarak ajanın karar fonksiyonuna eklemek, üretimdeki şeffaflığı artırır. Gözlemlenebilir bir ajan, sadece çalışan bir kod parçası değil, aynı zamanda durumu her an raporlanabilir bir sistemdir. Transparency ilkesi, ajanın hata yapmasını engellemekten ziyade, hatayı hızlı tespit edip mantıksal kök nedenine inebilmeyi hedefler.

Üretim ortamı pratikleri

Ajanları ölçeklendirirken her ajanın kendi durum makinesini (state machine) yönettiğinden emin olun. Merkezi bir karar verici yerine, dağıtık ve otonom ajanların birbirini denetlediği (peer-review) bir mimari, hata toleransını yükseltir. Bir ajanın verdiği karar, diğeri tarafından "geçersiz" işaretlendiğinde sistem otomatik olarak bir önceki kararlı duruma (rollback) dönebilmelidir.

Bu mimari yaklaşım, otonom sistemlerin denetimini insan elinden alıp sistemin kendi içindeki kurallara bırakır. Ancak bu kural setlerinin güncel tutulması ve logların düzenli olarak incelenmesi, yazılım mühendislerinin temel sorumluluğudur. İnsan müdahalesi, sistemin çalışma prensibine değil, sistemin sınırlarını çizen politikalara odaklanmalıdır.