AI EngineeringDecember 10, 202512 min read
    SC
    Sarah Chen

    Çok Ajanlı Araştırma Sistemimizi Nasıl Geliştirdik - Mimari ve Temel Dersler

    Çok Ajanlı Araştırma Sistemimizi Nasıl Geliştirdik - Mimari ve Temel Dersler

    How We Built Our Multi-Agent Research System: Architecture and Key Lessons

    Tavsiye: Tüm ajanlar için minimal, modüler bir çekirdek ve temiz bir arayüzle başlayın. Koordinasyon ve öngörülebilir veri akışlarını etkinleştirmek için merkezi bir koordinatör etrafında bir sürü oluşturun. Bileşenler kaydığında deneylerin çalıştırılabilir kalması için mesajlar için versiyonlanmış bir sözleşme ve bir yedek yolu kilitleyin.

    Sistemi katmanlı bir yığın olarak tasarladık: hafif bir arayüz katmanı, bir mesaj otobüsü ve simülasyon çekirdeği. Her ajan ayrı bir işlem olarak çalışır ve yayın-abone kanalı aracılığıyla iletişim kurar. 32 ajanla yapılan testlerde, localhost'ta ortalama mesaj gecikmesi 25 ms'nin altında kaldı ve verimlilik saniyede 128 mesaja kadar doğrusal olarak ölçeklendi; bundan ötesinde, geribesleme tabanlı stratejiler ve kuyruk farkında yönlendirme tanıtmadıkça rekabet arttı. Sonuç, sürekli çalıştırmalar sırasında duyarlılığı koruyan bir yapılmış sistemdir.

    Sistemi tasarlarken, modüler politika modülleri, karşıkuvvet yedekleri ve ajanlar arası uzlaşı gibi teknikler benimsedik; tek bir kaynağa aşırı bağımlılığı önlemek için çeşitli veri kaynakları dahil ettik. Doğrulama için kaynak verilerini kullandık. Web arayüzünde nvda ile erişilebilirliği test ettik ve deneyleri güvenli tutmak için microsoft tarzı koruma önlemleri entegre ettik. Ayrıca, ekiplerin çekirdeğe dokunmadan algoritmaları değiştirebilmesi için ince bir ayrımcılık koruduk.

    Ana dersler: yapılmış bileşenleri ayrılmış tutun, regresyon kontrolleri için bir tezgah koruyun ve arayüz sözleşmelerini kapsamlı belgeleyin. Temel bir planlama görevi için yakınsama süresini ölçtük: sürü koordinasyonu ile 60 ms, tek ajan yolu ile 190 ms'ye karşı. Deneyleri korumak için, standart uygulama olarak özellik bayrakları ve bir geri alma mekanizması dahil ettik. Bu kararların kaynağı, uzman görüşmeleri ve ampirik olarak doğrulanmış verilerin bir karışımıdır.

    İşbirliği için, microsoft tarzı koruma önlemlerini yansıttık: özellik bayrakları, aşamalı dağıtımlar ve değişiklikleri izin verilen ve denetlenebilir tutan hafif bir inceleme süreci. Ekipler arası uyumluluğu sağlamak için microsoft yönergelerine uyum sağladık ve dış araştırmacılar için uyarlanabilir bir arayüz oluşturduk; erişilebilirliği sağlamak için nvda testi yaptık. Arayüz tasarımı diğer araç zincirlerini destekler, böylece ekipler çekirdek koordinasyon modelini bozmadan tercih ettikleri iş akışını takabilir.

    Çok Ajanlı Araştırma Sistemi için Mimari ve Ana Dersler

    Şişmeleri koordine eden, darboğazları önleyen ve ölçeklenebilir deneyleri etkinleştiren sağlam bir async mesajlaşma katmanıyla ajanların bir sürüsünü orkestre eden modüler, olay odaklı bir çekirdek benimseyin. Nvda etkin çıkarım yığını, yüksek paralel GPU'larda çalışır; planlama ve analiz görevleri için gpt-4o-mini'yi birincil arka uç olarak kullanır ve hızlı yinelemeler için daha küçük bir dil modeli kullanır. Tipik dağıtımlarda, paylaşılan bir çalışma alanında 1.000'den fazla eşzamanlı etkileşimi destekleyin ve ajanlar arası çağrılarda 20 ms'nin altında süre elde edin. Her şeyden önce, veri ve kararların çapraz akışını azaltmak için planlama, yürütme ve değerlendirme arasında katı bir ayrım koruyun.

    Net denetim izlerini korumak, yeniden üretilebilirliği destekler ve geçmiş deneylerden öğrenmeyi kolaylaştırır.

    • Çekirdek orkestrasyon: görev grafiklerini modelleyen, zaman aşımı uygulayan ve her karar için kökeni kaydeden hafif, bağımlılık farkında bir zamanlayıcı.
    • Alt ajanlar: subagent1_name ve diğerleri gibi takılabilir modüller; her biri değiştirilebilirliği teşvik etmek için tanımlı bir arayüz (initialize, step, edit) ile donatılmış.
    • Bilgi ve veri katmanı: yeniden üretilebilirliği desteklemek için soy, politika etiketleri ve denetim izleri ile paylaşılan, versiyonlanmış bir bilgi tabanı.
    • Model ve dil yığını: çok arka uç desteği (gpt-4o-mini, yerel Transformers vb.), senaryo ve dil ihtiyaçlarına göre en iyi arka ucu seçen bir politika motoru ile.
    • İletişim: konu tabanlı pub/sub ile async mesaj otobüsü, kritik görevler için istek-cevap ve kuyrukları stabilize etmek için geribesleme kontrolü.
    • Değerlendirme ve geri bildirim: çıktılar için otomatik puanlama, yüksek sinyal kararları için insan geri bildirimi ile eşleştirilmiş; sistem kararları gelecek yinelemeleri bilgilendirmek için günlüğe kaydeder.

    Ajan tasarımı ve özelleştirme

    • Subagent1_name veri alımı, normalizasyon ve özellik çıkarma konusunda uzmanlaşır; girdileri paylaşılan bir şemaya normalleştirir ve aşağı akış görevleri için standartlaştırılmış olaylar yayar.
    • Diğer alt ajanlar aynı arayüzü benimser ve yığının geri kalanını etkilemeden değiştirilebilir.
    • Özelleştirme politika ayarlamaları, dil tercihleri ve model seçimi yoluyla senaryoya göre ajan davranışını kod değişikliği olmadan ayarlar.

    Operasyonel uygulamalar ve ana dersler

    1. Aşırı gecikmelerin önlenmesi için ince bir çekirdek koruyun ve alt ajanları bağımsız yaşam döngüleriyle donatın.
    2. Kenarda gecikme görünürlüğünü koruyun; 95. yüzdelik gecikmeyi izleyin ve ani artışları önlemek için birikmeleri sınırlayın.
    3. İnsan gözlemlerini model istemlerine ve politika güncellemelerine çeviren açık bir geri bildirim döngüsü benimseyin.
    4. Zaman içinde tutarlı davranış sağlamak için versiyonlanmış istemler ve istem-düzenleme şablonlarının önemini not edin.
    5. Aşamalı benimseyin: küçük senaryolarla pilot yapın, ardından yönetim kontrolleriyle daha geniş deneylere ölçekleyin.

    Sistem Genelinde Ajan Tasarımı ve Rol Dağılımı

    Açık roller ve paylaşılan bir iletişim protokolü ile adanmış, görev odaklı ajanlar atayarak başlayın. Her ajan belirgin bir işlev gerçekleştirir: algılama, planlama, yürütme ve günlüğe kaydetme. Oturumları desteklemek ve kesintilerden sonra devam etmeyi sağlamak için yerel olarak depolanan durumlu bir bellek modeli kullanın. Yeni bileşenlerin entegrasyonunu hızlandırmak ve öngörülebilirliği korumak için ajanlar genelinde tutarlı bir sesle net bir açıklama odaklı arayüz eşleştirin. Annalina, mevcut görev kümesinin ihtiyaçlarını değerlendirerek iş akışını koordine eder ve verimlilik ve karmaşıklık üzerindeki etkileri izler.

    Modüller genelinde aynı ses, bilişsel yükü azaltır ve entegrasyon döngülerini kısaltır. Dağılım mantığı, operatörlerin ve gelecekteki bileşenlerin niyeti kod yeniden okumadan anlamasını sağlamak için her rolün bir açıklamasını kullanır. İş akışı, mevcut oturumun durumlu bağlamına göre görevler atar; gecikmeyi azaltmak ve gereksiz dış hizmet çağrılarını önlemek için yerel önbelleğe alınmış verilerle.

    Koruma önlemleri, dış hizmetlerin çağrılmasını bozmaya karşı korur. Bir görev devam eden oturumları etkiliyorsa, sistem onu kuyruğa alır ve koordinatör üzerinden yönlendirir. Tüm geçişler zarifçe gerçekleşir; stemtologys, denetim için oturum başına izler yakalar ve yine de düşük gecikmeyi korur.

    Sistemi duyarlı tutmak için küçük görevleri hafif ajanlara atayın. Bu ajanlar veri toplama, normalizasyon veya rutin kontrolleri yönetir, daha ağır akıl yürütmeyi planlayıcıya bırakır. Dağılım mantığı, kuyruk gecikmelerini en aza indirmek ve kullanıcılar arasında adaleti korumak için mevcut iş yükünü ve her oturumun ihtiyaçlarını dikkate alır. Annalina, topoloji değişiklikleri olarak rol atamalarını koordine eder ve gelecek optimizasyon için sonuçları stemtologys'de depolar.

    Ajanlar Arası İletişim Protokolleri ve Mesaj Semantiği

    Inter-Agent Communication Protocols and Message Semantics

    Ajanların bir sürüsü genelinde güvenilir ajanlar arası değişimleri yönlendiren basit, paylaşılan bir mesaj şeması ile başlayın. Dinamik alanlar için bir değişkenler haritası artı sabit bir başlık (tür, sürüm, kaynak, hedef) tanımlayın ve yükleri kompakt ve kendi kendine açıklayıcı tutun. Bu temel, openai ve solidcommerces platformlarındaki diğer ajanik bileşenlere dayalıdır; bilgisayarları ve chatbot iş akışlarını öneriler için tek, tutarlı bir formatla koordine eder ve görüntü eklerini destekler. Bu çerçeve güvenilirliği yönlendirecektir.

    İş yüklerine uyan bir protokol deseni seçin: olaylar ve durum değişiklikleri için yayın-abone, artı komutlar için istek-cevap kanalı. Koordine edilmiş görevler için yaklaşımları karıştırma seçeneği sağlayın ve hizmetler genelinde akışları izlemek için korelasyon ID'leri kullanın.

    Semantik önemlidir: niyetleri, eylemleri, durumları ve sonuçları standartlaştırın. Kanonik bir ontoloji ve açık veri türleri kullanın; yükleri içerik-tipi ve şema-sürümü ile etiketleyin; zaman damgaları, köken ve güven sinyalleri dahil edin. Semantikleri hizalamak, tüm ajanların sonuçları tutarlı yorumlamasına yardımcı olur ve kurumsal düzey operasyonlar sırasında hata ayıklama süresini azaltır.

    Zengin veri şekillerini destekleyin: görüntüleri hafif kodeklerle kodlayın, yapılandırılmış önerileri taşıyın ve geriye uyumluluğu etkinleştirmek için şemaları versiyonlayın. Mesajların, her atlamada özel ayrıştırıcılar gerektirmeden otonom karar vermeyi destekleyecek kadar bağlam taşımasını sağlayın.

    Yönetim ve dağıtım: sözleşme doğrulaması, titiz testler ve net geri alma yolları uygulayın. Optimizasyonları yönlendirmek için gecikme, mesaj boyutu ve başarı oranları gibi metrikleri izleyin ve erişim kontrolleri ile veri yönetim politikalarını tanımlayın. Otomatikleştirilmiş boru hatları ve sürü koordinasyonu ile, solidcommerces tabanlı mimarileri kullanan ekipler chatbot iş akışları ve kurumsal düzey entegrasyonlar dahil hızlı ölçeklendirebilir, bu nedenle verimliliği ve güvenilirliği artırır.

    Deneylerde Veri Akışı, Köken ve Yeniden Üretilebilirlik

    Herhangi bir deneyi başlatmadan önce bağımlılıkları tam sürümlerle sabitleyin ve meta veri deposunda tam köken ile birlikte benzersiz bir run_id kaydedin.

    Her girdiyi kaynağından her hesaplanmış çıktıya kadar izleyen bir veri akışı tasarlayın. Aşamaları haritalayın: girdi → ön işleme → çok ajanlı denetleyiciler → simülasyon adımları → toplulaştırma → sonuçlar. Geliştirme sırasında ayrıntılı bir günlüğe kullanın ve üretimde özlü günlüğe geçin, yine de tam kökeni yakalayın. Sürüme göre ortamlarda sürüklenmeyi önlemek ve makineler genelinde tekrarlanabilir kurulumları etkinleştirmek için ortamları izole edin.

    • Köken şeması run_id, zaman damgası, kaynak, input_hash, config, dil, diller, meta veri, environment_spec, code_version, dependencies_versions, agent_patterns, çok ajanlı ve paralelleştirme bayraklarını içerir.
    • Kökeni, girdileri, ara durumları, çıktıları ve değerlendirme metriklerini değiştirilemez girişler olarak kaydeden merkezi bir depoda saklayın. Tamamlanmış çalıştırmalar, denetim ve yeniden çalıştırma istekleri için depoda kalır.
    • Girdi detaylarını yakalayın: girdi veri kaynakları, örnek değerler ve girdi şemaları; değişiklikleri algılamak için girdileri hash'leyin; hızlı filtreleme için her girişi bir anahtar kelime ile etiketleyin.
    • Ortamları açıkça belgeleyin: dil sürümleri, çalışma zamanı çalışma zamanları, kütüphaneler ve konteyner veya VM tanımlayıcıları. environment.yml veya requirements.txt gibi pinned sürümlerle yükleme zamanı yeniden üretilebilirlik artefaktları kullanın.
    • Çok ajanlı ve paralelleştirme ayarlarını kaydedin: ajan rolleri, etkileşim deseni, iletişim dilleri ve eşzamanlılık kontrolleri. Ortaya çıkan davranışı yeniden üretmek için ajan etkileşimlerinin tam desenini yakalayın.
    • Sonuçlar yanında meta veriyi koruyun: run_status, start_ts, end_ts, kaynak kullanımı ve herhangi bir rastgelelik tohumları. Denetlenebilirlik ve bağlam için çalıştırma sırasında alınan kararların insan tarafından okunabilir bir açıklamasını dahil edin.
    • Antropik hususları hesaba katın: ajan davranışını etkileyen istemleri, insan girdilerini veya filtreleri günlüğe kaydedin, böylece güvenlik ve hizalama kontrolleri ortamlar genelinde yeniden üretilebilir ve değerlendirilebilir.

    Yeniden üretilebilirlik için öneriler, doğruluktan ödün vermeden yeniden çalıştırma hızı ve kolaylığına odaklanır. Yeniden kullanılabilir ara sonuçlar için önbellekleme kullanın ve tekrarlanan yürütmeler sırasında ortam sürüklenmesini önlemek için konteyner görüntülerini veya görüntü özetlerini saklayın. Günlükleri aşırı yüklemeden ilerlemeyi işaret eden hafif bir kalp atışı koruyun, yine de tüm deneyi yeniden yapılandırmak için yeterli detay olduğundan emin olun.

    Dil ve meta veri, izlenebilirlikte merkezi bir rol oynar. Her ajanın kullandığı dili, meta veri şema sürümünü ve gerçekleştirilen hizalama kontrollerini izleyin. Bu yaklaşım, çok ajanlı deneyleri anlaşılır tutar ve herhangi bir ekip üyesinin bağımsız doğrulamasına olanak tanır.

    1. Yeniden üretilebilir bir çalışma zamanı yükleyin: bir konteyner veya sanal ortam görüntüsü oluşturun ve yayınlayın; tüm bağımlılıkları sabitleyin; makineler genelinde aynı ortamları garanti etmek için görüntü özetini run_id ile saklayın.
    2. Başlangıçta girdi ve yapılandırmayı yakalayın: girdi verilerinin, input_schema'nın ve tam yapılandırmanın bir anlık görüntüsünü kaydedin. Hızlı gelecek karşılaştırmalar için girdinin bir hash'ini ve config'in ayrı bir hash'ini hesaplayın.
    3. Dilleri ve kökeni kaydedin: ajan iletişim dillerini, kütüphane sürümlerini ve tam kod commit'ini günlüğe kaydedin. Artımlı optimizasyonu desteklemek için son çalıştırmadan beri ne değiştiğinin okunabilir bir özetini dahil edin.
    4. Yürütme desenini günlüğe kaydedin: çok ajanlı kurulumu, etkileşim grafiğini ve paralelleştirme şemasını belgeleyin. Hassas zamanlama analizi için her aşamanın tamamlanmasını (tamamlandı) zaman damgaları ile işaretleyin.
    5. Anahtar kelime etiketli bir denetim izi koruyun: büyük suitlerde filtrelemeyi kolaylaştırmak ve ortamlar ve dil varyantları genelinde ilgili çalıştırmaları bağlamak için deneye bir anahtar kelime atayın.
    6. Uçtan uca yeniden üretilebilirliği sağlayın: tam görüntüyü, girdiyi ve config'i getirip deterministik olarak çalıştırmayı yeniden oynatan bir betik veya komut sağlayın. Eşdeğerliği doğrulamak için çıktıları önceden tanımlanmış bir metrik kümesine karşı doğrulayın.

    Bu mekanizmaları uygularken, birçok görev ve ortam genelinde genelleşen desenlere öncelik verin. Sağlam bir köken grafiği gerektiğinde ayrıntılı hata ayıklama sağlar, yapılandırılmış meta veri ise otomatik kontrolleri ve daha hızlı yinelemeleri destekler. Titiz veri akışı, hassas köken ve pratik yeniden üretilebilirlik arasındaki bu denge, diller, ajanlar ve donanım kurulumları genelinde denetlenebilir, yeniden üretilebilir ve optimizasyona hazır deneyler üretir.

    Ölçeklenebilirlik, Orkestrasyon ve Kaynak Zamanlama Stratejileri

    Ajanları Kubernetes üzerinde Python tabanlı mikro hizmetler olarak dağıtın ve %60-70 hedef CPU kullanımı ile yatay pod otomatik ölçeklendirmeyi etkinleştirin ve pod başına 200 görev kuyruk uzunluğu eşiği ile, dağıtım başına min 4 ve max 128 pod ile. Bu kurulum, ani artışlar sırasında hız sağlar ve iş yükleri büyüdükçe ölçeklendirmeyi sürekli ayarlamanıza olanak tanırken boşta maliyetleri kontrol altında tutar.

    Görevleri veri yerelitesi (blob depolama), veri boyutu, bellek basıncı ve ajanlar arası iletişim maliyetleri gibi faktörlere göre doğru havuza eşleştiren bir kaynak zamanlama politikası uygulayın. Kuyruk derinliğini, görev boyutunu ve ajan yükünü sürekli izleyin ve darboğazları önlemek ve araştırma iş yükleriniz için verimliliği korumak üzere tahsisleri gerçek zamanlı olarak ayarlayın, sonuçları anlamlı kılar.

    Yüksek öncelikli görevler geldiğinde ön kesmeyi destekleyen, mesaj kuyruklarından (RabbitMQ, Kafka) yararlanan ve uzmanlaşmış ajan gruplarına işleri atayan hafif bir zamanlayıcı kullanan Python tabanlı bir kontrol düzlemi ile orkestre edin. Ortamlar genelinde sürüklenmeyi önlemek ve deneyleri ortamlar genelinde yeniden üretilebilir tutmak için ortam farkında politikalar kullanın. Kararları yönlendirmek için reasoning_ai_agentpy ve stemtologys'i referans modeller olarak dahil edin; bu yaklaşım deneysel doğrulamayı geçti ve yaklaşımları diğerleriyle karşılaştırmaya yardımcı olur.

    İzleme ve dayanıklılık: hız, kuyruk gecikmesi ve hata oranları için metrikleri enstrümante edin; üstel geri çekilme ile yeniden denemeleri uygulayın; sonuçları versiyonlama ile blob depolamaya anlık görüntüleyin; kontrollü testler çalıştırın ve genel temel çizgilere ve endüstri benchmark'larından haberlere karşı karşılaştırın tuning'i yönlendirmek için. Politika güncellemelerini bilgilendirmek ve araştırmacılar için panoları anlamlı tutmak için sürekli veri kullanın.

    İşbirliği ve yönetim: sonuçları ekipler ve işletmeler arasında paylaşın; zamanlayıcı davranışına kullanıcı geri bildirimi sağlayın; veri yönetimi ve gizlilik politikalarına uyum sağlayın; birden fazla ortamda pilotlar çalıştırın; işbirliği döngüleri ve kullanıcı girdileri ile araştırmanızı güçlendirin.

    Çok Ajanlı İş Akışları için İzleme, Test ve Güvenilirlik Uygulamaları

    Çok ajanlı iş akışları genelinde sonuçlara haritalanan canlı bir izleme planı uygulayın. İki katmanlı bir hazır olma yaklaşımı tanımlayın: yürütme sırasında hafif bir işlem içi izleyici ve tamamlandıktan dakikalar içinde deney sonuçlarını inceleyen bir son çalıştırma değerlendirmesi. Sağlık ve güvenilirlik metriklerini hesaplamak için teamweb_search_agent, prototipler ve crewai modüllerinden anahtar kelime sinyallerini kullanın.

    Betikli deneyler, tarihsel verilere karşı geriye testler ve ajanlar arasındaki koordinasyon mekanizmasını kullanan hedefli problar dahil yaklaşımları benimseyin. Hipotez, girdiler ve sonuçları kaydeden bir prototipler günlüğü ve bir deney planı koruyun. Özellikle, değişiklikleri haklı çıkarmak için deney sonuçlarını uygulama düzey sonuçlarına bağlayın; referans uygulaması olarak openai kullanın; OpenAI, istem odaklı koordinasyon için benzer temel çizgileri tanımlar; prototipleri versiyonlanmış bir depoda tutun.

    Güvenilirlik, gecikme bütçelerine, deterministik yeniden denemelere ve modüler yedeklere dayanır. İş akışını güçlendiren hata yönetimi ve zarif bozulma için bir mekanizma uygulayın. Finansal ve benzeri uygulamalar için, eşiklerin üstünde ve altında hazır olmayı ölçmek için hata senaryolarını simüle edin. Olayları sınıflandırmak ve ekipler için eyleme geçirilebilir sonuçlar üretmek için etiketler ve anahtar kelime anahtarlarını kullanın.

    İletişim protokolü haftalık dakika incelemesini, ekip için günlük durum güncellemelerini ve öğrenme sonuçlarına bağlı resmi bir son otopsiyi içerir. Plan, sonuçlar ve kullanımlarla uyumu sağlamak için geliştiriciler, araştırmacılar ve operatörler arasında işbirliği gerektirir. Özellikle, kararları bir anahtar kelime indeksi ile belgeleyin ve dakikaları proje wiki'sine ekleyin.

    MetrikKaynakSıklıkNotlar
    GecikmeAjanlar günlüğe akış2 dkteamweb_search_agent için hedef < 200 ms; eşik üstünde uyarı
    Hata oranıYürütme motoruçalıştırma başınaYeniden denemeleri ve yedek mekanizmayı izle
    Sonuç uyumuDeney sonuçları vs uygulama planısprint başınaSonucun planı eşleştirip eşleştmediğini değerlendir
    Olay hazır olmasıGözlemlenebilirlik platformugerektiğindeOlay senaryolarını simüle et; eşiklerin üstünde hazır olmayı değerlendir

    İlgili Makaleler

    Ready to leverage AI for your business?

    Book a free strategy call — no strings attached.

    Get a Free Consultation