Skip to main content
Her ayarın, metodun ve alanın ne işe yaradığı. İlk kez enstrümantasyon yapıyorsanız, rehberi okuyarak başlayın — bu sayfa referans amaçlıdır.

Özel aracılar rehberi

Kurulum, enstrümantasyon, olay metodları, pratik örnek ve yaygın sorunlar.

Framework kullanıyor musunuz?

LangChain, CrewAI, LlamaIndex ve Pydantic AI kendilerini tek çağrı ile enstrümante ederler.
Python 3.10 veya daha yeni. Runtime bağımlılığı yok.

Kurulum

Paket failproofai-sdk olarak yüklenir ve Python’da failproofai_sdk olarak içe aktarılır. failproofai-sdk[langgraph] gibi framework ek paketleri framework’ü kendisini yükler; adaptörler her zaman temel wheel’de bulunur.

Failproof daemon’ını bağlayın

  1. Admin → Keys bölümüne gidin ve events:add ile bir anahtar oluşturun.
  2. Failproof daemon’ını Cloud’a bağlayın ajan makinesinde.
  3. Bir enstrümante edilmiş oturum çalıştırın, sonra Observe → Events altında tam ID’sini bulun.
  4. Observe → Sessions bölümüne gidin, aynı ortamı seçin ve yeniden oluşturulan iz’i açın. Bir özel Python ajan oturumu yürütme grafiği ve sıralı olay izi olarak yeniden oluşturulmuş.

Konfigürasyon

Bunun yerine ortam değişkeni tarafından ayarlayın:
environment’da virgül yok. Ingest bu alanı virgülle bölmesi için filtreler oluşturur ve virgül içeren herhangi bir olayı atlar — böylece tüm bir çalıştırma sessizce kaybolur. prod,eu değil prod-eu yazın.configure(environment="prod,eu") yükseltir böylece hemen fark edersiniz. AGENTEYE_ENVIRONMENT yükseltemez — hiç sizi aramıyor — bu nedenle bir kez uyarır ve dev’e geri döner.
Olaylar bellekte sıraya alınır ve arka planda her flush_interval saniyede diske yazılır; yorumlayıcı çıkışında son bir flush yapılır. Doğrudan öldürülen bir işlem henüz yazılmış olmayan her şeyi kaybeder.

Kimlik

Her olay bir oturum ve bir ajanına aittir. Kapsamlar her ikisini de doldurur, bu nedenle nadiren bunları geçersiniz:
session_id veya agent_id’yi açıkça geçmek hala çalışır ve kazanır. Bağlı ne de geçilmiş olmadan, çağrı Cloud’un sessizce atılacağı bir olayı yayınlamak yerine TypeError yükseltir.
Kimlik bağlam değişkenlerinde durur. asyncio görevlerini otomatik olarak takip eder, ancak yeni iş parçacıklarını değil — bir işçiyi failproofai_sdk.propagate() içine sarın veya olayları bağlantısız kalırlar.

Olay kataloğu

On beş metod. Çoğu çiftler halinde gelir — açanı çağırırısınız, sonra kapatıcısını, ve SDK açıklığı ölçer. Üçü bağımsız: error, human_pause, human_interrupt.
Her metod ayrıca session_id ve agent_id alır, kapsamlar bunları sizin için doldurur. None olarak bırakılan her şey JSON null olarak gönderilmek yerine atılır ve her metod None döndürür.
Bir çalıştırmayı başarısız olarak işaretlemek için, outcome şunlardan biri olmalıdır: failed, error, timeout veya rejected. Başka bir şey — yakın kaçış "failure" dahil — başarı olarak sayılır.

Eşleştirme ve süre

Bir kural: kapatıcı olayına açıcısı ile aynı id’yi verin. Bunun ne eşleştirdikleri ne de SDK’nın boşluğu zamanlamasını sağlayan şeydir. Kendiniz duration_ms geçmeyin. SDK onu ölçer ve geçmesi ValueError yükseltir. Tek istisna model_response’tir, burada yalnızca siz gerçek sağlayıcı gecikmesini bilirsiniz. Tam bir milisaniye sayısı geçin — kayan sayı yükseltir, çünkü sütun 32-bit bir tamsayıdır ve aksi takdirde boş kalırdı.
  • ID’ler yalnızca tür başına, oturum başına benzersiz olması gerekir. Bir araç çağrısı ve bir kanca bir taneyi paylaşabilir; aynı anda çalışan iki oturum çarpışma olmadan aynı ID’leri yeniden kullanabilir.
  • Onlar bir ajanın kapsamında değildir. Bir çift bir ajan altında açılıp başka bir ajan altında kapatılırsa yine eşleşir — bu, çok ajanın kodunda normal durumdur.
  • request_id isteğe bağlıdır ancak önerilir. Olmadan, model olayları gelişte sıraya alınırlar, bu nedenle aynı ajan içindeki iki eşzamanlı çağrı hatalı eşleşebilir.
  • İşlemler arasında bölünmüş bir çift Cloud’da yine eşleşir, ancak SDK onu zamanlamaz — hiçbir işlem her iki yarıyı da görmedi.
  • En fazla 10.000 açıcı aynı anda kapatıcıyı bekler. Bunun ötesinde en eski atılır, böylece bir sızıntı sınırsızca büyüyemez.

Kendi alanlarınız

Geçtiğiniz herhangi bir ekstra anahtar sözcük olayda depolanır:
Daha sonra sorgulamak istiyorsanız JSON türlerini tercih edin. Başka bir şey — bir UUID, tarih/saat, bir Decimal, küme, bayt, bir model nesnesi — bir dizi olarak depolanır.
Alan adlarınızı önek yapın. Ekstralar son olarak uygulanır, bu nedenle model, tool_name veya outcome adlı bir alan sessizce gerçek olanın yerini alır. Framework adaptörleri fw_ kullanır; aynısını yapın ve hiçbir şey çarpışamaz.Bu aynı zamanda yanlış yazılmış isteğe bağlı bir alanın neden hiçbir zaman hata vermediğinin nedenidir — sadece yeni bir özel alan olur. Standart bir alan Cloud’da eksikse, ilk olarak yazımı kontrol edin.
Bu beş ad ayrılmıştır ve tamamen reddedilir: timestamp, session_id, agent_id, type, environment.

Teslimat ve doğrulama

Observe → Events bölümünde önce agent_start var mı kontrol edin ve agent_end sonunda var mı. Sonra Observe → Sessions bölümünü açın ve model, araç, insan, kanca ve hata olaylarının amaçlanan sırada göründüğünü doğrulayın. Oturum ID’sini birincil sorun giderme anahtarı olarak kullanın.
Cloud boşsa, $FAILPROOFAI_HOME/custom-agents/events bölümünü inceleyin, aksi takdirde ~/.failproofai/custom-agents/events bölümünü inceleyin. JSONL dosyaları SDK yayınını kanıtlar; büyüyen bir spool daemon konfigürasyonunu veya teslimatı gösterirken boş bir spool enstrümantasyonu veya süreç ömrünü gösterir.
Spool’u yalnızca daemon durdurulmuş durumdayken inceleyin. Çalışırken, her topluyu milisaniye cinsinden toplar ve siler, bu nedenle bir dizin listesi toplayıcıyla yarışır ve yayınlanan etkinliklerden çok daha azını gösterir.

Özel runtime’da başarısızlıkları önleyin

Güvensiz eylemi, gerekli kanıtı ve amaçlanan yanıtı tanımlamak için denetim bulgularını ve bağlı izleri kullanın. Özel bir uygulama entegrasyonu, yürütülmeden önce eylemi ortaya çıkarmalı, yapılandırılmış girdisini ilke motoruna geçirmeli ve ortaya çıkan allow, instruct veya deny kararını uygulamalıdır. Failproof AI ile iletişime geçin ve runtime’ınızın model, araç ve yaşam döngüsü sınırlarını ilke kancalarına eşlemesine yardımcı olacak, ardından entegrasyonu sizle doğrulayacağız.