Yapay Zeka
Microsoft AutoGen: Gelişmiş Otomasyonla Çoklu Ajan AI İş Akışları

Microsoft Research tanıtıldı otomatik gen Eylül 2023'te karmaşık, çoklu ajan iş birliğine muktedir AI ajanları oluşturmak için açık kaynaklı bir Python çerçevesi olarak. AutoGen, araştırmacılar, geliştiriciler ve kuruluşlar arasında halihazırda ilgi gördü ve 290'dan fazla katkıda bulunan kişi var GitHub ve Mayıs 900,000 itibarıyla yaklaşık 2024 indirme. Bu başarının üzerine Microsoft, geliştiricilerin AI ajanlarıyla hızlı bir şekilde prototip oluşturmasını ve denemeler yapmasını sağlayan düşük kodlu bir arayüz olan AutoGen Studio'yu tanıttı.
Bu kütüphane, karmaşık görevleri çözmek, karar almayı otomatikleştirmek ve kodu verimli bir şekilde yürütmek için sorunsuz bir şekilde etkileşime girebilen akıllı, modüler aracılar geliştirmek içindir.
Microsoft yakın zamanda ayrıca şunları tanıttı: AutoGen Stüdyosu etkileşimli ve kullanıcı dostu bir platform sağlayarak AI aracı geliştirmeyi basitleştirir. AutoGen Studio, selefinin aksine kapsamlı kodlama ihtiyacını en aza indirir ve kullanıcıların aracıları sürükleyip bırakabileceği, iş akışlarını yapılandırabileceği ve AI odaklı çözümleri zahmetsizce test edebileceği grafiksel bir kullanıcı arayüzü (GUI) sunar.
AutoGen'i Benzersiz Kılan Nedir?
Yapay Zeka Aracılarını Anlamak
Yapay zeka bağlamında, bir ajan, genellikle doğal dil işleme ve makine öğrenimi kullanarak belirli görevleri yerine getirebilen otonom bir yazılım bileşenidir. Microsoft'un AutoGen çerçevesi, geleneksel yapay zeka ajanlarının yeteneklerini geliştirerek, karmaşık, yapılandırılmış görüşmelere katılmalarını ve hatta paylaşılan hedeflere ulaşmak için diğer ajanlarla iş birliği yapmalarını sağlar.
AutoGen, çok çeşitli aracı türlerini ve konuşma kalıplarını destekler. Bu çok yönlülük, daha önce insan müdahalesi gerektiren iş akışlarını otomatikleştirmesine olanak tanır ve bu da onu finans, reklamcılık, yazılım mühendisliği ve daha fazlası gibi çeşitli sektörlerdeki uygulamalar için ideal hale getirir.
Konuşmalı ve Özelleştirilebilir Temsilciler
AutoGen, mesajları işlemek, yanıtlar üretmek ve doğal dil talimatlarına dayalı eylemler gerçekleştirmek üzere tasarlanmış "konuşulabilir" aracılar kavramını tanıtır. Bu aracılar yalnızca zengin diyaloglara girmekle kalmaz, aynı zamanda belirli görevlerdeki performanslarını iyileştirmek için özelleştirilebilir. Bu modüler tasarım, AutoGen'i hem basit hem de karmaşık AI projeleri için güçlü bir araç haline getirir.
Ana Temsilci Türleri:
- Yardımcı Temsilci: Kodlama, hata ayıklama veya karmaşık sorguları yanıtlama gibi görevleri yerine getirebilen LLM destekli bir asistan.
- Kullanıcı Proxy Aracısı: Kullanıcı davranışını simüle ederek geliştiricilerin gerçek bir insan kullanıcıyı dahil etmeden etkileşimleri test etmelerini sağlar. Ayrıca kodu otonom olarak çalıştırabilir.
- Grup Sohbet Temsilcileri:Birden fazla beceri veya bakış açısı gerektiren senaryolar için ideal, iş birliği içinde çalışan aracı koleksiyonu.
Çoklu Ajan İşbirliği
AutoGen'in en etkileyici özelliklerinden biri de şu desteği sunmasıdır: çoklu ajan işbirliğiGeliştiriciler, karmaşık görevleri daha verimli bir şekilde ele almak için her biri uzmanlaşmış rollere sahip bir aracı ağı oluşturabilir. Bu aracılar birbirleriyle iletişim kurabilir, bilgi alışverişinde bulunabilir ve topluca kararlar alabilir, aksi takdirde zaman alıcı veya hataya açık olacak süreçleri kolaylaştırabilir.
AutoGen'in Temel Özellikleri
1. Çoklu Ajan Çerçevesi
AutoGen, her bir etkenin bağımsız olarak veya başkalarıyla koordinasyon halinde çalışabileceği etken ağlarının oluşturulmasını kolaylaştırır. Çerçeve, tamamen otonom olan veya gerektiğinde insan denetimi içeren iş akışları tasarlamak için esneklik sağlar.
Konuşma Modelleri Şunları İçerir:
- Birebir Konuşmalar: İki etken arasındaki basit etkileşimler.
- Hiyerarşik Yapılar:Ajanlar, görevleri alt ajanlara devredebilir ve böylece karmaşık sorunların daha kolay çözülmesini sağlayabilirler.
- Grup Görüşmeleri: Temsilcilerin bir görevi çözmek için birlikte çalıştığı çoklu temsilci grup sohbetleri.
2. Kod Yürütme ve Otomasyon
Birçok AI çerçevesinin aksine, AutoGen aracıların kodu otomatik olarak oluşturmasına, yürütmesine ve hata ayıklamasına olanak tanır. Bu özellik, insan müdahalesini en aza indirdiği ve geliştirme döngülerini hızlandırdığı için yazılım mühendisliği ve veri analizi görevleri için paha biçilmezdir. Kullanıcı Vekili Aracısı yürütülebilir kod bloklarını tanımlayabilir, çalıştırabilir ve hatta çıktıyı otonom olarak iyileştirebilir.
3. Araçlar ve API'lerle Entegrasyon
AutoGen aracıları, yeteneklerini önemli ölçüde genişleterek harici araçlar, hizmetler ve API'lerle etkileşim kurabilir. İster bir veritabanından veri almak, ister web istekleri yapmak veya Azure hizmetleriyle bütünleşmek olsun, AutoGen özellik açısından zengin uygulamalar oluşturmak için sağlam bir ekosistem sağlar.
4. Döngüdeki İnsanın Sorun Çözmesi
İnsan girdisinin gerekli olduğu senaryolarda, AutoGen şunları destekler: insan-aracı etkileşimleriGeliştiriciler, belirli görevlere devam etmeden önce bir insan kullanıcıdan rehberlik veya onay talep etmek üzere aracıları yapılandırabilir. Bu özellik, kritik kararların düşünceli bir şekilde ve doğru düzeyde denetimle alınmasını sağlar.
AutoGen Nasıl Çalışır: Derinlemesine Bir İnceleme
Aracı Başlatma ve Yapılandırma
AutoGen ile çalışmanın ilk adımı, aracılarınızı kurmayı ve yapılandırmayı içerir. Her bir aracı belirli görevleri yerine getirmek üzere özelleştirilebilir ve geliştiriciler kullanılan LLM modeli, etkinleştirilen beceriler ve yürütme ortamı gibi parametreleri özelleştirebilir.
Ajan Etkileşimlerini Düzenleme
AutoGen, aracılar arasındaki konuşma akışını yapılandırılmış bir şekilde yönetir. Tipik bir iş akışı şu şekilde görünebilir:
- Görev Tanıtımı: Bir kullanıcı veya aracı bir sorgu veya görev başlatır.
- Aracı İşleme:İlgili etkenler girdiyi analiz eder, yanıtlar üretir veya eylemler gerçekleştirir.
- Aracılar Arası İletişim:Ajanlar, görevi tamamlamak için veri ve içgörüleri paylaşarak iş birliği yaparlar.
- Görev Yürütme:Ajanlar gerektiğinde kod yürütür, bilgi getirir veya harici sistemlerle etkileşime girer.
- İptal:Görev tamamlandığında, bir hata eşiğine ulaşıldığında veya bir sonlandırma koşulu tetiklendiğinde konuşma sona erer.
Hata Yönetimi ve Kendini Geliştirme
AutoGen'in ajanları hataları akıllıca ele almak üzere tasarlanmıştır. Bir görev başarısız olursa veya yanlış bir sonuç üretirse, ajan sorunu analiz edebilir, düzeltmeye çalışabilir ve hatta çözümü üzerinde yineleme yapabilir. Bu kendi kendini iyileştirme yeteneği, uzun süreler boyunca otonom olarak çalışabilen güvenilir AI sistemleri oluşturmak için çok önemlidir.
Önkoşullar ve Kurulum
AutoGen ile çalışmadan önce, AI ajanları, orkestrasyon çerçeveleri ve Python programlamanın temelleri hakkında sağlam bir anlayışa sahip olduğunuzdan emin olun. AutoGen, Python tabanlı bir çerçevedir ve OpenAI'nin GPT modelleri veya Microsoft Azure AI gibi diğer AI hizmetleriyle birleştirildiğinde tam potansiyeli ortaya çıkar.
AutoGen'i Kullanarak Yükleyin pip
:
Optimize edilmiş arama yetenekleri veya harici kütüphanelerle entegrasyon gibi ek özellikler için:
Ortamınızı Ayarlama
AutoGen, ortam değişkenlerini ve API anahtarlarını güvenli bir şekilde yapılandırmanızı gerektirir. Çalışma alanınızı başlatmak ve yapılandırmak için gereken temel adımları inceleyelim:
- Çevre Değişkenleri Yükleniyor: Hassas API anahtarlarını bir
.env
dosyalayın ve bunları kullanarak yükleyindotenv
güvenliği sağlamak için. (api_key = os.environ.get(“OPENAI_API_KEY”)) - Dil Modeli Yapılandırmanızı Seçme: OpenAI'dan GPT-4 veya tercih edilen başka bir model gibi kullanacağınız LLM'ye karar verin. API uç noktaları, model adları ve anahtarlar gibi yapılandırma ayarlarının, aracılar arasında sorunsuz iletişimi sağlamak için açıkça tanımlanması gerekir.
Karmaşık Senaryolar için AutoGen Aracıları Oluşturma
Çoklu ajan sistemi oluşturmak için ajanları tanımlamanız ve nasıl davranmaları gerektiğini belirtmeniz gerekir. AutoGen, her biri farklı rollere ve yeteneklere sahip çeşitli ajan türlerini destekler.
Yardımcı ve Kullanıcı Proxy Aracıları Oluşturma: Kod yürütmek ve kullanıcı etkileşimlerini yönetmek için karmaşık yapılandırmalara sahip aracıları tanımlayın: