Skip to main content

Kurulum

Desteklenen: crewai 1.13 ile 2.0. 1.13, started_event_id ekleyen ve token kullanımını normalleştiren sürümdür; bu ikisi de adaptörün olayları eşleştirmesi ve tokenları raporlaması için gereklidir.

Instrumentalizasyon

instrument(), CrewAI’ın modül düzeyindeki olay otobüsüne bir dinleyici kaydeder ve her olay sınıfı için bir işleyici abone olur. Ekibiniz, aracılarınız, görevleriniz veya araçlarınız hakkında hiçbir şey değişmez.

Kayıt edilen öğeler

Bir görev kasıtlı olarak hiçbir şey yayınlamaz. CrewAI görevi, onu çalıştıran aracı yürütülmesinin bir alt kümesidir, bu nedenle her ikisini de yayınlamak her satırı ikiye katlar ve bunları kardeş olarak render eder. Görev kimliği ve adı aracının kendi olaylarında yer alır. Bellek ve bilgi işlemleri, ulaştıkları yüzey için adlandırılan araçlar olarak kaydedilir, böylece gerçek araçlarınızın yanında görünür ve gecikme sürelerini karşılaştırabilirsiniz. Hiyerarşik bir ekipte, iç içe geçme izlemeyi okunabilir kılan şeydir:
CrewAI, devredilen bir yürütmeyi yöneticinin doğrudan üzerine değil, delegate_work_to_coworker araç olayının üzerine yerleştirir, bu nedenle adaptör bu bağlantıyı izler. Bunu olmadan her aracı diğerinin kardeşi olarak çıkar ve delegasyon yapısı kaybedilir.

Örnek

İzlemede devir görünür: analyst aralığı kapanır, writer aralığı açılır ve her ikisi de bir crew aralığı içinde oturur.

Aralıklarınızı adlandırın

agent_id Agent(role=...) adresinden gelir; bu, onu okunabilir bir pano yönü yapar.
agent_id düşük kardinaliteli bir sütundur. Bir UUID veya zaman damgası içeren rol, her çalıştırılan sorgu için bunu kötüleştirir. Bir rol kimliğe benzerse, adaptör bunu reddeder ve gerçek değeri bunun yerine bir yük alanına koyar.

Oturumu kontrol edin

Bu sırada çözümlenir, ilk eşleşme kazanır:
  1. instrument("crewai", session_id=...)
  2. Çevreleyen failproofai_sdk.session() kapsamı
  3. Üretilen uuid4().hex, ekip veya akış başına bir kez
Kickoff’u çalıştırma başına kontrol etmek için sarmalayın:

Seçenekler

session_id bu adaptörün okuduğu tek seçenektir. İstemler ve tamamlamalar her zaman kaydedilir, yük bütçesine kesilir.

İnsan katılımı

CrewAI’ın iki insan katılımı yüzeyi vardır ve her ikisi de aynı dört olay olarak kaydedilir. Bir akış yöntemi üzerindeki @human_feedback CrewAI’ın olay otobüsünden geçer: çalışma zamanı bir olayı bir kişiye bloke olmadan önce ve cevaptan sonra başka bir olay yayınlar. Task(human_input=True) değil. CrewAI’ın kendi giriş sağlayıcısı içinde input() çağırır ve hiçbir türde olay yayınlamaz, bu nedenle adaptör bu sağlayıcıyı doğrudan sarmalayarak — bunu olmadan tüm insan bekleme süresi görünmez ve etkin aracı zamanı olarak faturalandırılır. Her iki durumda da şunları alırsınız:
agent_pause ile agent_resume arasında, pauzlanmış zamanı besleyen tek çifttir. Bunu olmadan on dakikalık bir insan bekleme süresi on dakika etkin aracı zamanı olarak faturalandırılır.
CrewAI her iki insan geri bildirimi olayında da korelasyon kimliği ayarlamaz, bu nedenle adaptör bunları akış ve yöntem adında eşleştirir, en yakın açılan duraklamaya geri döner. Bu sesli çünkü konsol istemi bloke olur. Eş zamanlı bir geri bildirim sağlayıcısı inşa ederseniz, her iki olaya da request_id ayarlayın.
Task(human_input=True) yolu bir olay aboneliği yerine CrewAI’ın giriş sağlayıcısı etrafındaki bir sarmalayıcı olduğundan, uninstrument() üzerinde geri yüklenir ve input() ne yükselirse KeyboardInterrupt de dahil olmak üzere değiştirilmeden yeniden yükseltir.

Yaygın sorunlar

Bir role UUID, zaman damgası veya çalıştırma başına son ek içerir. Sabit bir insan rolü kullanın ve çalıştırmaya özgü kimliği bunun yerine görev açıklamasına koyun.
Olay otobüsü zaman uyumsuztur ve kickoff() son işleyiciler çalışmadan önce geri döner. Önce bunu boşaltın:
Bu CrewAI’ın bir özelliğidir, SDK’nın değil.
agent_end açık duraklamaları kapatan güçle kapatır ama araçları veya modelleri değil, bu nedenle bir araç çağrısı içinde ölen bir çalıştırma o aralığı açık bırakır. Normal temizleme hala açık olanları kapatır ve eksik olarak işaretler. Sadece SIGKILL bunu asılı bırakır, çünkü hiçbir şey çalıştırılamaz.
Bu sırada kontrol edin: instrument() kickoff() öncesinde çalıştırıldı; with failproofai_sdk.session(): etrafında bir tane var; crewai 1.13 veya daha yeni; FAILPROOFAI_SDK_STRICT=1 ayarlanmış, bu nedenle kötü bir kancası yutulmak yerine yükseltir.

İleri

Nasıl çalışır

Çiftler, kimlikler, oturum yaşam döngüsü ve teslimat.

İz oku

Az önce yakaladığınız oturumda nedenselliği takip edin.

Diğer çerçeveler

LangGraph, LlamaIndex, Pydantic AI ve özel aracılar.