Ana içeriğe atla
AgentEye Python SDK, aracılarınızın davranışına (her aracı çalıştırması, araç çağrısı, model isteği, kanca ve insan müdahalesi) tam görünürlük sağlayarak hata ayıklama, denetim ve değerlendirme yapmanıza olanak tanır. Yapılandırılmış olayları yerel JSONL dosyalarına yazarak aracı kodunuzu instrumantalleştirir; toplayıcı daemon bu dosyaları alır ve otomatik olarak platforma gönderir.

Kurulum

AGENTEYE_TOKEN kullanarak GitHub Releases’ten wheel’i indirin. Henüz bir token’ınız yoksa, kurulum adımları ve gerekli izinler için GitHub Token Kurulumu bölümüne bakın. gh CLI + pip kullanarak:
gh CLI + uv kullanarak:
curl kullanarak (gh CLI olmadan):

Hızlı Başlangıç


configure()

Herhangi bir event.* çağrısından önce bir kez çağırın. Atlanması güvenlidir; varsayılanlar kutudan çıktığı gibi çalışır. Tüm argümanlar yalnızca anahtar kelime argümanlarıdır; yukarıda gösterildiği gibi adlarına göre geçin. base_dir None (varsayılan) olduğunda, SDK $AGENTEYE_HOME okur (ayarlanmış ise), aksi takdirde ~/.agenteye olarak geri döner. Bu toplayıcının kendi çözünürlüğü ile eşleşir, bu nedenle tek bir AGENTEYE_HOME ortam değişkeni SDK ve toplayıcı için paylaşılan olay kuyruğunu yapılandırır, her iki işlemin de spool yolunda anlaşması gereken yan araç / tek-pod dağıtımları için gereklidir.

Ortam

Her olayı bir dağıtım ortamı (production, staging, qa, canary, vb.) ile etiketleyin. Bir kez ayarlayın; SDK bunu otomatik olarak her olaya ekler. Seçenek 1: configure() aracılığıyla:
Seçenek 2: ortam değişkeni aracılığıyla:
Öncelik: configure(environment=...) ortam değişkenini geçersiz kılar. İkisi de ayarlanmamışsa, varsayılan değer "dev" olur. Ortam değeri panodaki birinci sınıf bir filtre olarak görünür ve hızlı sorgular için sunucuda dizinlenmiş bir sütun olarak depolanır. Kısıtlama: ortam değerleri gerçek bir , virgül içermemeli. Pano filtreleri kablodaki virgülden ayrılmış çoklu seçimi kullanır (?environment=prod,staging), bu nedenle prod,blue adlı bir ortam iki değere bölünür. Virgül içeren ortamlarla olaylar alındığında reddedilir.

Olay Başvurusu

Tüm olay yöntemleri şu iki alanı gerektirir:
AlanTürAçıklama
session_idstrÜst düzey aracı çalıştırmasını tanımlar
agent_idstrOturum içindeki hangi aracının olayı yayınladığını tanımlar
Tüm yöntemler ayrıca özel meta veriler için rasgele **kwargs kabul eder (bkz. Özel Alanlar).

event.agent_start()

Bir aracı çalışmaya başladığında yayınlanır.

event.agent_end()

Bir aracı işi bitirdiğinde yayınlanır.

event.tool_use()

Bir aracı bir araç çağırdığında yayınlanır. tool_result ile eşleştirin; SDK otomatik olarak duration_ms hesaplar.

event.tool_result()

Bir araç döndüğünde yayınlanır. tool_call_id aracılığıyla tool_use ile ilişkilidir.

event.model_request()

Bir istem bir LLM’ye gönderilmeden hemen önce yayınlanır.
messages girişleri düz bir dize content veya Anthropic tarzı blok listesi content kabul eder. Örnekleme parametreleri (temperature, max_tokens, vb.) ek kwargs olarak geçilebilir.

event.model_response()

LLM bir yanıt döndüğünde yayınlanır.
content düz bir dize (genel sağlayıcılar) veya Anthropic tarzı içerik blokları listesi kabul eder. Araç çağrıları content içinde {"type": "tool_use", ...} blokları olarak bulunur, ayrı bir tool_calls alanı olmadan.

event.hook_triggered()

Bir kanca ateşlendiğinde yayınlanır. hook_completed ile eşleştirin; SDK otomatik olarak duration_ms hesaplar.

event.hook_completed()

Bir kanca bittiğinde yayınlanır. hook_id aracılığıyla hook_triggered ile ilişkilidir.

event.error()

İşlenmeyen bir hata oluştuğunda yayınlanır.

İnsan-Döngüde-Olay Olayları

İnsan-döngüde-olay olayları, bir kişinin aracının yürütülmesine girdiği anlar (onay beklemek, girdi sağlamak, duraklatmak veya aracıyı durdurmak) hakkında gözetim sağlar. İnsanların yanıt vermesinin ne kadar sürdüğünü (SDK eşleştirilmiş olaylarda duration_ms otomatik olarak hesaplar), kimin aracıyı duraklatıp durdurduğunu denetleyin ve panoda görünen onay ve gözetim iş akışları oluşturun.

event.human_wait()

Aracı bir insanın girdi sağlaması için beklemek üzere yürütmeyi duraklattığında yayınlanır. human_input ile eşleştirin; SDK otomatik olarak duration_ms hesaplar (insanın yanıt vermesi ne kadar sürdü).

event.human_input()

Bir insan girdi sağladığında ve aracı devam ettiğinde yayınlanır. input_id aracılığıyla human_wait ile ilişkilidir. duration_ms otomatik olarak hesaplanır ve arayanlar tarafından geçmemesi gerekir.

event.human_pause()

Bir insan aracıyı etkin olarak duraklattığında yayınlanır (örneğin pano kontrol aracılığıyla). Aracı askıya alınır ancak sonlandırılmaz.

event.human_interrupt()

Bir insan aracıyı yürütmenin ortasında etkin olarak durduğunca yayınlanır. human_pause aksine, aracının işi askıya alınmak yerine sonlandırılır.

Özel Alanlar

Tüm ek anahtar kelime argümanları standart alanlardan sonra olaya eklenir:
timestamp, type ve environment ayrılmıştır ve özel alanlar olarak geçilirse ValueError fırlatır (Reserved field names cannot be used as custom fields: [...]). session_id ve agent_id her olay yönteminde gerekli parametrelerdir ve ikinci kez sağlanamazlar; bunu yaparsanız Python TypeError fırlatır. Bunun yerine configure(environment=...) (veya AGENTEYE_ENVIRONMENT değişkeni) ile ortamı ayarlayın.

Olaylar Nasıl Yazılır

Olaylar işlem içinde tamponlanır ve her flush_interval saniyede (varsayılan 500 ms) diske yazılır. Her flush bir JSONL dosyası yazar:
Toplayıcı bu dizini izler ve dosyaları otomatik olarak yükler. Bu dosyaları doğrudan yönetmeniz gerekmez.