AI

Üretim Hazır AI Aracı İş Akışlarını Mimarileştirmek

Bir LLM ile basit bir sohbet botu oluşturmak kolaydır. Ancak, karmaşık görevleri güvenilir şekilde yürüten, kalıcı durumu yöneten ve hatalardan zarifçe kurtulan dayanıklı, üretim seviyesinde çoklu aracı sistemleri kurmak tamamen farklı bir mühendislik meydan okumasıdır. AI, deneysel aşamadan temel altyapıya geçtiğinde, odak noktası istem mühendisliğinden sağlam yazılım mimarisine kayar.

Çoklu Aracı Sistemlerinde Durumun Karmaşıklığı

Bir çoklu aracı iş akışında "durum" sadece bellekteki bir değişken değildir. Paylaşılan bağlam, konuşma geçmişi, araç çıktılarını ve aracıların koordinasyon yapması gereken ara mantık adımlarını içerir. İyi tanımlanmış bir durum yönetim stratejisi olmadan aracılar sapar, işleri tekrar eder veya kritik bağlamı kaybeder.

"Alım Aracısı", "Çözüm Aracısı" ve "Doğrulama Aracısı"nı içeren bir müşteri desteği iş akışını ele alalım. Alım Aracısı kullanıcı verilerini toplar ve saklar. Çözüm Aracısı, kullanıcıya tekrar sormadan bu verilere erişebilmelidir. Bu, yalnızca LLM'nin bağlam penceresine güvenmek yerine, Redis veya yapılandırılmış bir veritabanı gibi merkezi bir durum deposu gerektirir.

LangGraph gibi bir çerçeve veya özel bir orkestratör kullanarak Python'da paylaşılan bir durum nesnesinin nasıl yapılandırılacağına dair basitleştirilmiş bir örnek:

class AgentState(TypedDict):
    user_id: str
    intent: str
    collected_entities: dict
    tool_outputs: list
    final_report: str
    error_history: list

def update_state(current_state: AgentState, next_action: str) -> AgentState:
    """
    Aracının yürütmesine göre global durumu günceller.
    """
    new_state = current_state.copy()
    
    if next_action == "COLLECT_DATA":
        new_state["collected_entities"]["name"] = "John Doe"
        new_state["collected_entities"]["email"] = "john@example.com"
        
    return new_state

Durum şemasını açıkça tanımlayarak, tür güvenliği sağlarsınız ve farklı aracıların yarış durumlarına veya veri bozulmasına neden olmadan iş akışının belirli kısımlarına okuma ve yazma yapmasına olanak tanır.

Dayanıklı Araç Kullanımı ve Girdi Doğrulaması

Araçlar, AI aracılarınızın elleridir. Üretim ortamında araçlar, potansiyel hata noktalarına sahip harici hizmetler olarak ele alınmalıdır. Bir LLM argümantasyonları uydurabilir veya bir araç beklenmeyen bir biçim döndürebilir. Bunu azaltmak için sıkı girdi doğrulaması ve çıktı ayrıştırma uygulamalısınız.

Kritik işlemler için LLM'nin ham çıktısına asla güvenmeyin. Araç yürütülmeden önce şemaları zorlamak için Pydantic gibi bir doğrulama katmanı kullanın. Doğrulama başarısız olursa, aracı kötü veri ile devam etmek yerine LLM'den düzeltilmiş parametrelerle yeniden deneme yapmasını istemek için bir hata döngüsüne girmelidir.

from pydantic import BaseModel, Field
from typing import Optional

class CreateTicketParams(BaseModel):
    subject: str = Field(..., min_length=1)
    priority: str = Field(..., pattern="^(low|medium|high|critical)$")
    description: str

def execute_create_ticket(params: dict) -> str:
    try:
        validated_params = CreateTicketParams(**params)
        # API çağrısına devam et
        return f"{validated_params.subject} için bilet oluşturuldu"
    except Exception as e:
        raise ValueError(f"Geçersiz parametreler: {str(e)}")

Hata Kurtarma ve Yedek Stratejiler

AI sistemlerinde hatalar kaçınılmazdır. Modeller uydurma yapar, API'ler zaman aşımına uğrar ve jetonlar biter. Üretim hazır bir mimari, açık hata kurtarma mekanizmaları içermelidir. Bu, üstel geri çekilme ile yeniden deneme mantığını, daha basit modellere veya kural tabanlı sistemlere yedeklemeyi ve insan denetimli yükseltmeyi içerir.

Bir aracı tutarlı bir hata ile karşılaştığında, başarısızlığı error_history durum anahtarına günlüğe kaydetmelidir. Orkestratör daha sonra yeniden denemeye mi, strateji değiştirmeye mi yoksa bir insan operatörü mü uyarmaya karar vermek için bu geçmişi analiz edebilir. Örneğin, "Çözüm Aracısı" bir çözüm bulmakta iki kez başarısız olursa, iş akışı biletini otomatik olarak bir insan destek aracısına yönlendirebilir.

Sonuç

Üretim hazır AI aracılarını mimarileştirmek, modelin zekasından çok çevreleyen sistemin dayanıklılığıyla ilgilidir. Sıkı durum yönetimi uygulamak, araç girdilerini titizlikle doğrulamak ve kapsamlı hata kurtarma yolları tasarlamak sayesinde, sadece zeki değil, aynı zamanda güvenilir ve ölçeklenebilir çoklu aracı iş akışları oluşturabilirsiniz. Sektör olgunlaştıkça, bu mühendislik uygulamaları ciddi her türlü AI uygulaması için standart haline gelecektir.

Share: