Skip to main content
Failproof AI Observability, her tamamlanan agent çalışmasını kalite açısından otomatik olarak puanlandırabilir: küçük bir puanlama hizmeti sağlarsınız ve Observability geri kalanını halleder. Önem verdiğiniz boyutları (yararlılık, araç verimliliği, doğruluk, güvenlik; siz seçersiniz) izlemek, gerilemeyi erkenden yakalamak ve agent’ları veya ortamları bir bakışta karşılaştırmak için kullanın. Puanlama isteğe bağlıdır: sunucuda EVALUATOR_ENDPOINT ayarlanana kadar işlem hattı hiçbir şey yapmaz.
Not: Puan boyutlarını siz tanımlarsınız. Değerlendiricininiz istediği sayısal anahtarları döndürebilir; Observability geri gönderdiğiniz her şeyi depolar, trendini oluşturur ve görüntüler.

Bakış

  1. Bir puanlayıcı yazın. Oturum transkriptini okuyan ve puanlar döndüren küçük bir HTTP hizmeti kurun. Observability, kopyalayabileceğiniz çalışan bir referans seviyesiyle gelir. Bkz. SDK ile Değerlendirici Yazma.
  2. Observability’yi ona gösterin. Sunucu işlemine EVALUATOR_ENDPOINT (ve paylaşılan EVALUATOR_TOKEN) ayarlayın.
  3. Puanları izleyin. Her tamamlanan oturum otomatik olarak puanlandırılır; sonuçlar oturum detay sayfasında, oturumlar ızgarasında ve kaydedilmiş panolarda görünür.
Değerlendirme özeti, boyut başına puan çubukları ve sağ panelde akıl yürütme metni bulunan bir oturum detay görünümü Bir değerlendirici yapılandırıldığında, her tamamlanan çalışma puanlandırılır ve sonuçlar oturumun sağ panelinde görünür: üstte özet, ardından akıl yürütmeli boyut başına puan çubukları.

Nasıl çalışır?

Failproof AI Observability SDK bir oturum için agent_end olayını yaydığında, sunucu bir değerlendirmeyi programlar. Daha sonra tam olay transkriptini değerlendirici hizmetinize POST eder; bu şunlardan birini yapabilir:
  • Sonucu satır içi döndürün {"status":"done", "scores":{...}, "reasoning":{...}, "summary":"..."} ile. Sonuç oturumun değerlendirme zaman çizelgesine eklenir. reasoning ve summary isteğe bağlıdır.
  • Erteleyin {"status":"pending", "job_id":"abc-123"} ile. Observability daha sonra değerlendiricininiz {"status":"done", ...} veya {"status":"error", "error":"..."} döndürene kadar GET {EVALUATOR_ENDPOINT}/evaluate/abc-123 çağrısını yapar. Yoklama sıklığı iş başına değişir: pending yanıtı next_poll_secs içerebilir; aksi takdirde Observability GET /config yapılandırıcısından default_poll_interval_secs değerini kullanır; aksi takdirde sunucu EVALUATOR_POLLING_INTERVAL_SECS (varsayılan 10s) değerine geri döner. Tüm değerler [1s, 1h] aralığına sabitlenir.
agent_end yaymayan oturumlar (örneğin, kilitlenmişs agent işlemi) da alınabilir: değerlendiricinin GET /config {"inactivity_timeout_secs": 1800} döndürebilir ve Observability bu kadar süre boşta kalan herhangi bir oturumu değerlendirir. Bu işlev devre dışı bırakmak için alanı null olarak ayarlayın veya atlayın. EVALUATOR_ENDPOINT ayarlanmadığında işlem hattı tamamen işlemsizdir. Bir oturum zaman içinde birden fazla terminal değerlendirmesi biriktire bilir: her agent_end olayı (ve panodan her manuel yeniden değerlendirme) yeni bir değerlendirme satırı ekler. Bu, devam eden bir konuşmayı değerlendirmenin desteklenen yoludur: bir kullanıcı bir agent’ı sonlandırır, daha sonra geri gelir, daha fazla olay gönderir, agent’ı tekrar sonlandırır ve tam güncellenmiş transkript için ikinci bir değerlendirme çalışır. Pano en son değerlendirmeyi başlık olarak ve önceki değerlendirmeleri daraltılabilir zaman çizelgesi olarak gösterir. Bir oturum için bir değerlendirme çalışırken, o oturum için ek agent_end olayları yoksayılır; çalışan değerlendirme tamamlandıktan sonrakı ilk olay her zamanki gibi yeni bir değerlendirmeyi sıraya alır. Hareketsizlik geri dönüş, devam eden oturumlar üzerinde de yeniden etkinleştirilir: bir önceki terminal değerlendirmeden sonra yeni olaylar gelirse ve oturum inactivity_timeout_secs ötesine boşta kalırsa, yeni bir değerlendirme sıraya alınır. Geçici hatalar (5xx, 429, zaman aşımları, ağ hataları) EVALUATOR_MAX_ATTEMPTS değerine kadar üstel geri dönüşle yeniden denenilir; 4xx yanıtları terminaldir. Observability, birden çok yatay ölçeklenmiş sunucu örnekleriyle güvenle çalışabilir; çalışma bölümlere ayrılır, böylece aynı oturum asla eşzamanlı olarak iki kez gönderilmez.

HTTP sözleşmesi

Her kimliği doğrulanan rota taşıyıcı token kimlik doğrulaması kullanır. Aynı değer her iki tarafta da yapılandırılması gerekir:
  • Observability sunucusu: ortam değişkeni EVALUATOR_TOKEN
  • Değerlendirici hizmeti: aynı şekilde yapılandırılmış (agenteye-evaluator SDK kuralı gereği EVALUATOR_TOKEN okur)
EVALUATOR_TOKEN ayarlanmadığında, sunucu Authorization başlığı göndermez; değerlendirici anonim istekleri kabul edebilir, bu da yalnızca ağ için iyidir ancak genel internet üzerinde önerilmez.

Değerlendiricinin sunması gereken rotalar

Sunucu tarafından gönderilen EvalRequest gövdesi

Yanıt şekilleri

Senkron (tamamlandı):
reasoning (puan başına gerekçe haritası) ve summary (genel tek paragraf anlatısı) her ikisi de isteğe bağlıdır. reasoning içindeki anahtarlar scores içindeki anahtarları yansıtmalıdır; pano her girişi puan çubuğunun altında satır içi olarak gösterir. Yalnızca scores döndüren eski değerlendericiler değiştirilmeden çalışmaya devam eder; reasoning ve summary basitçe null olarak okunur ve karşılık gelen UI olanakları çıkarılır. Asenkron (ertelendi):
next_poll_secs isteğe bağlıdır; atlanırsa sunucu /config değerlendiricisinin default_poll_interval_secs değerine, ardından kendi EVALUATOR_POLLING_INTERVAL_SECS ortam değişkenine geri döner. Terminal değerlendirici tarafı hatası:
Sunucu diğer 2xx gövdeleri protokol hatası olarak ele alır ve oturum için terminal error kaydeder.

SDK ile Değerlendirici Yazma

HTTP sözleşmesini elle uygulamamanız gerekmez. agenteye-evaluator Python paketi, kimlik doğrulamayı, yönlendirmeyi ve istek/yanıt şekillerini sizin için işleyen yazılan bir FastAPI sarmalayıcısı sağlar. Failproof AI Observability ayrıca transkript şeklinden helpfulness, tool_efficiency ve factuality puanlandıran çalışan bir referans değerlendiricisi ile gelir. Başlangıç noktası olarak kopyalayın ve kendi mantığınızla değiştirin: bir LLM yargıçsı, bir kural motoru, kalite standartlarınıza uygun her şey. Minimum uygulanabilir değerlendirici:
app örneği herhangi bir ASGI sunucusu altında çalışır, bu nedenle uvicorn module:app başlatır. Pahalı işi ertelemeleri gereken değerlendiriciler için, bunun yerine JobPending döndürün ve @app.job_lookup işleyicisini kaydedin; Observability sunucusu terminal durum döndürene veya EVALUATOR_MAX_POLL_DURATION_SECS sınırı (varsayılan 1 sa) geçene kadar GET /evaluate/{job_id} yoklaması yapar. Tam API başvurusu, asenkron desen ve olay şeması agenteye-evaluator SDK’sının README’sinde belgelenmiştir.

Değerlendiricininizi Çalıştırma

Değerlendirici sizin hizmetinizdir — Failproof AI Observability varsayılan bir değerlendirici seviyesiyle gelmez, bu nedenle kendi hizmetlerinizi çalıştırdığınız yerde oluşturup çalıştırırsınız. Herhangi bir ASGI sunucusu altında çalışır (örneğin uvicorn my_evaluator:app); HTTP sözleşmesinden /health, /config ve /evaluate rotalarını sunun, ardından sunucuyu ona gösterin (bkz. Sunucuyu Yapılandırma). Değerlendirici erişilebilir olduğunda, GET /health {"status":"ok"} döndürür. Bir agent’ı uçtan uca çalıştırdıktan sonra, sunucudaki GET /evaluations değerlendiricininizin ürediği puanlarla status: "done" olan bir satır döndürür.

Sunucuyu Yapılandırma

Sunucu işlemi üzerinde ayarlayın: Otomatik puanlamayı açmak için sunucuda EVALUATOR_ENDPOINT ve EVALUATOR_TOKEN ayarlayın, ardından değişikliği seçmek için yeniden başlatın. EVALUATOR_ENDPOINT ayarlanmadığında işlem hattı bir no-op kalır. Yukarıdaki tuning düğmeleri isteğe bağlıdır; varsayılanları geçersiz kılmanız gerekiyorsa karşılık gelen ortam değişkenlerini yalnızca sunucuda ayarlayın.

API başvurusu

Puan aralığına göre filtreleme: score_filters

GET /evaluations scores nesnesi içindeki sayısal değerlere göre sonuçları daraltırsa isteğe bağlı bir score_filters parametresini kabul eder. Parametre, virgülle ayrılmış key:min..max girdilerinin bir listesidir; her iki sınır atlanabilir. Birden çok girdi mantıksal AND ile birleştirilir. Adlandırılmış anahtarın olmadığı veya sayısal olmayan satırlar hariç tutulur. Bir istek en fazla 20 filtre girişi taşıyabilir; bunu aşmak HTTP 400 döndürür. Örnekler:
Her /evaluations yanıt nesnesinin bu alanları vardır:

İzinler

Bootstrap admin (ADMIN_KEY, ADMIN_EMAIL) otomatik olarak bunları alır.

Sonuçları Görüntüleme

  • /sessions/<id>: olay zaman çizelgesi + oturumun puanlarını ve gönderme denemesinden herhangi bir hatayı gösteren sağ panel. Anahtarınız evaluations:trigger izniyle gelirse, export düğmesinin yanında yeniden değerlendirme düğmesi görünür, agent_end yaymayan oturumlar için veya yeni bir değerlendirici dağıttıktan sonra puanları yenilemek için yararlıdır. Pano yeni sonuç için yoklar ve iniş yaptığında sağ paneli günceller.
  • /sessions: filtrelenebilir oturum ızgarası; puan sütunu her oturumun değerlendirme durumunu ve puanlarını bir bakışta gösterir.
  • /dashboards: kaydedilmiş eval-sağlığı görünümleri (aşağıdaki Panolar öğesine bakın).
Oturum başına değerlendirme durumu hapları ve renk kodluylu puan rozetleri (yararlılık, doğruluk, tool_efficiency, güvenlik, uyum) bulunan Oturumlar ızgarası Oturumlar ızgarası her çalışmanın değerlendirme durumunu ve puanlarını bir bakışta gösterir; kırmızı/turuncu/yeşil rozet düşük puanları öne çıkarır.

Panolar

Panolar sayfası (/dashboards) değerlendirme filtrelerinin bir kombinasyonunu adlı, yeniden kullanılabilir bir görünüm olarak kaydetmenize ve değerlendirmelerin o diliminin nasıl yaptığını bir bakışta izlemenize olanak tanır. Panolar bütün kuruluşunuz genelinde paylaşılır; dashboards:read olan herkes aynı seti görür. Her pano sabitler:
  • Filtreler: oturumlar sayfasıyla aynı denetimler: ortam, durum, agent, kayan bir zaman penceresi ve puan aralığı filtreleri (key:min..max).
  • Bir görüntü yapılandırması: hangi puan anahtarlarının öne çıkarılacağı, yeşil/turuncu/kırmızı sağlık eşikleri, hangi panelerin gösterileceği ve oturum başına en son değerlendirmeye daraltılıp daraltılmayacağı.
Her kart eşleşen oturum sayısını, bir done/error/timeout dökümünü, her öne çıkarılan puanın ortalamasını ve küçük bir trend sparkline’ını gösterir. Bir panoyu açmak tam boyutlu panelları gösterir; “oturumları aç” sizi tam olarak bu dilime önceden filtrelenmiş oturumlar sayfasına bırakır. Metrikler sunucu tarafında tam eşleşen küme üzerinden (via GET /evaluations/aggregate) hesaplanır, bu nedenle sayılar örneklenmiş yerine kesindir. Ortalama puan çubukları, araç tamam-vs-hata dökümü, en iyi araçlar ve saat başına olaylar trendi bulunan bir eval-sağlığı panosu İzinler: görüntüleme hem dashboards:read hem de evaluations:read gerektirir; oluşturma ve düzenleme dashboards:write gerektirir; silme dashboards:delete gerektirir. Bootstrap admin bunların tümünü otomatik olarak alır.

Sorun Giderme

Oturumlar var ancak değerlendirme oluşturulmadı. EVALUATOR_ENDPOINT sunucu işleminde ayarlandığını, sunucu ve değerlendiricinin aynı EVALUATOR_TOKEN değerini paylaştığını ve değerlendiricinin /health uç noktasının sunucudan erişilebilir olduğunu doğrulayın. EVALUATOR_ENDPOINT ayarlanmadığında işlem hattı bir no-op’tur. Uçuştaki değerlendirmeler yığın halinde birikir. Uçuştaki kuyruğu görmek için GET /evaluation-jobs sorgusunu çalıştırın. Her satırda attempt_count, next_attempt_at ve last_error inceleyin. Yaygın nedenler: değerlendirici hizmeti ulaşılamıyor veya 5xx döndürüyor (geri dönüş ile yeniden deneniyor), yanlış EVALUATOR_TOKEN (401 terminaldir) veya pending tanımsız olarak döndüren asenkron değerlendirici (aşağıya bakın). Oturumlar tamamlandı ancak terminal değerlendirmesi yok. GET /evaluation-jobs?status=polling sorgusu çalıştırın; sonuç hala uçuştaysa olabilir. Bir iş pending de takılıysa sunucu değerlendiriciye ulaşmakta zorluk çekiyor; değerlendiricinin açık olduğunu ve EVALUATOR_TOKEN eşleştiğini kontrol edin. HTTP 401 from evaluator: invalid bearer token. Sunucudaki EVALUATOR_TOKEN değerlendirici hizmetinin yapılandırıldığı değerle eşleşmez. Özdeş olması gerekir. Asenkron değerlendirici pending tanımsız olarak döndürür. Sunucu değerlendirici done veya error döndürene veya EVALUATOR_MAX_POLL_DURATION_SECS (varsayılan 1 sa) geçene kadar GET /evaluate/{job_id} yoklaması yapar. Limit geçtikten sonra değerlendirme timeout olarak kaydedilir ve uçuş kuyruğundan kaldırılır. Değerlendiricininiz meşru olarak varsayılandan daha uzun süreye ihtiyacsa EVALUATOR_MAX_POLL_DURATION_SECS artırın.

Sonraki adımlar

  • Değerlendirici agent becerisi: kodlama agent’ının boyutlarınızı gerçek oturumlara karşı tasarlaması ve bu hizmeti sizin için oluşturması.
  • Python SDK: puanlamayı tetikleyen agent_end olaylarını yayın.
  • API anahtarları: evaluations:read ve evaluations:trigger izinleri.
  • Denetimler: Observability’nin diğer otomatik kalite özelliği, ilke tabanlı inceleme için.