Sztuczna inteligencja
Microsoft AutoGen: Przepływy pracy AI z wieloma agentami i zaawansowaną automatyzacją

Microsoft Research wprowadził AutoGen we wrześniu 2023 roku jako framework open-source dla języka Python do budowy agentów AI zdolnych do złożonej, wieloagentowej współpracy. AutoGen zdobył już popularność wśród badaczy, deweloperów i organizacji, z ponad 290 współautorami na GitHub i prawie 900 000 pobrań do maja 2024 roku. Budując na tym sukcesie, Microsoft przedstawił AutoGen Studio, interfejs o niskim kodzie, który umożliwia deweloperom szybkie tworzenie prototypów i eksperymentowanie z agentami AI.
Ta biblioteka służy do tworzenia inteligentnych, modułowych agentów, które mogą współpracować bezproblemowo w celu rozwiązania złożonych zadań, automatyzacji podejmowania decyzji i wydajnego wykonywania kodu.
Microsoft wprowadził również AutoGen Studio, który upraszcza rozwój agentów AI, zapewniając interaktywną i przyjazną platformę. W przeciwieństwie do swojego poprzednika, AutoGen Studio minimalizuje potrzebę obszernego kodowania, oferując graficzny interfejs użytkownika (GUI), w którym użytkownicy mogą przeciągać i upuszczać agenty, konfigurować przepływy pracy i testować rozwiązania napędzane przez AI bez wysiłku.
Co wyróżnia AutoGen?
Zrozumienie agentów AI
W kontekście AI, agent jest samodzielnym składnikiem oprogramowania, który może wykonywać określone zadania, często przy użyciu przetwarzania języka naturalnego i uczenia maszynowego. Ramy pracy Microsoft AutoGen zwiększają możliwości tradycyjnych agentów AI, umożliwiając im angażowanie się w złożone, ustrukturyzowane rozmowy i nawet współpracę z innymi agentami w celu osiągnięcia wspólnych celów.
AutoGen obsługuje szeroki zakres typów agentów i wzorców rozmów. Ta wszechstronność pozwala mu na automatyzację przepływów pracy, które wcześniej wymagały interwencji ludzkiej, co sprawia, że jest idealnym rozwiązaniem dla aplikacji w różnych branżach, takich jak finanse, reklama, inżynieria oprogramowania i wiele innych.
Agentów rozmów i dostosowywania
AutoGen wprowadza pojęcie “rozmównych” agentów, które są zaprojektowane do przetwarzania wiadomości, generowania odpowiedzi i wykonywania działań na podstawie instrukcji w języku naturalnym. Ci agenci nie tylko są w stanie angażować się w bogate dialogi, ale mogą być również dostosowane w celu poprawy ich wydajności w określonych zadaniach. Ten modułowy projekt sprawia, że AutoGen jest potężnym narzędziem zarówno dla prostych, jak i złożonych projektów AI.
Kluczowe typy agentów:
- Agent asystent: Asystent zasilany przez LLM, który może obsługiwać zadania takie jak kodowanie, debugowanie lub odpowiedzi na złożone zapytania.
- Agent proxy użytkownika: Symuluje zachowanie użytkownika, umożliwiając deweloperom testowanie interakcji bez konieczności zaangażowania rzeczywistego użytkownika. Może również wykonywać kod w sposób autonomiczny.
- Agenci czatu grupowego: Zbiór agentów, którzy współpracują, idealny dla scenariuszy, które wymagają wielu umiejętności lub perspektyw.
Współpraca wieloagentowa
Jedną z najbardziej imponujących funkcji AutoGen jest jego obsługa współpracy wieloagentowej. Deweloperzy mogą tworzyć sieć agentów, każdy z wyznaczoną rolą, aby rozwiązać złożone zadania bardziej wydajnie. Ci agenci mogą komunikować się ze sobą, wymieniać informacje i podejmować decyzje zbiorowo, usprawniając procesy, które w przeciwnym razie byłyby czasochłonne lub podatne na błędy.
Główne funkcje AutoGen
1. Ramy pracy wieloagentowej
AutoGen ułatwia tworzenie sieci agentów, gdzie każdy agent może pracować niezależnie lub we współpracy z innymi. Ramy pracy zapewniają elastyczność w projektowaniu przepływów pracy, które są w pełni autonomiczne lub zawierają nadzór ludzki, gdy jest to konieczne.
Wzorce rozmów obejmują:
- Rozezmowy jeden-na-jeden: Proste interakcje między dwoma agentami.
- Struktury hierarchiczne: Agenci mogą delegować zadania do podagentów, co ułatwia rozwiązywanie złożonych problemów.
- Rozezmowy grupowe: Wieloagentowe rozmowy grupowe, w których agenci współpracują, aby rozwiązać zadanie.
2. Wykonywanie kodu i automatyzacja
W przeciwieństwie do wielu frameworków AI, AutoGen pozwala agentom generować, wykonywać i debugować kod automatycznie. Ta funkcja jest niezwykle cenna dla zadań inżynierii oprogramowania i analizy danych, ponieważ minimalizuje interwencję ludzką i przyspiesza cykle rozwoju. Agent proxy użytkownika może identyfikować bloki kodu wykonywalnego, uruchamiać je i nawet udoskonalać wynik w sposób autonomiczny.
3. Integracja z narzędziami i API
Agenci AutoGen mogą współpracować z zewnętrznymi narzędziami, usługami i API, znacznie rozszerzając ich możliwości. Niezależnie od tego, czy jest to pobieranie danych z bazy danych, wykonywanie żądań sieciowych czy integracja z usługami Azure, AutoGen zapewnia solidne środowisko do budowy aplikacji o bogatych funkcjach.
4. Rozwiązywanie problemów z udziałem człowieka
W scenariuszach, w których wymagana jest interwencja ludzka, AutoGen obsługuje interakcje człowiek-agent. Deweloperzy mogą konfigurować agenty do żądania wskazówek lub zatwierdzenia od użytkownika przed kontynuowaniem określonych zadań. Ta funkcja zapewnia, że krytyczne decyzje są podejmowane w sposób przemyślany i z odpowiednim poziomem nadzoru.
Jak działa AutoGen: Głębokie zagłębienie
Inicjacja i konfiguracja agenta
Pierwszym krokiem w pracy z AutoGen jest konfiguracja i ustawienie agentów. Każdy agent może być dostosowany do wykonywania określonych zadań, a deweloperzy mogą dostosowywać parametry, takie jak model LLM, umiejętności i środowisko wykonania.
Orchestracja interakcji agentów
AutoGen obsługuje przepływ rozmów między agentami w sposób ustrukturyzowany. Typowy przepływ pracy może wyglądać następująco:
- Wprowadzenie zadania: Użytkownik lub agent wprowadza zapytanie lub zadanie.
- Przetwarzanie agenta: Odpowiedni agenci analizują dane wejściowe, generują odpowiedzi lub wykonują akcje.
- Komunikacja między agentami: Agenci wymieniają się danymi i wglądami, współpracując, aby ukończyć zadanie.
- Wykonanie zadania: Agenci wykonują kod, pobierają informacje lub współpracują z zewnętrznymi systemami, jeśli jest to konieczne.
- Zakończenie: Rozmowa kończy się, gdy zadanie jest ukończone, osiągnięty jest próg błędu lub występuje warunek zakończenia.
Obsługa błędów i samodoskonalenie
Agenci AutoGen są zaprojektowani do obsługi błędów w sposób inteligentny. Jeśli zadanie nie powiedzie się lub wyprodukuje niepoprawny wynik, agent może analizować problem, próbować go naprawić i nawet iterować swoje rozwiązanie. Ta zdolność do samodoskonalenia jest kluczowa dla tworzenia niezawodnych systemów AI, które mogą działać autonomicznie przez dłuższy czas.
Wymagania wstępne i instalacja
Przed rozpoczęciem pracy z AutoGen upewnij się, że masz solidne zrozumienie agentów AI, frameworków orchestracji i podstaw programowania w Pythonie. AutoGen jest frameworkiem opartym na Pythonie, a jego pełny potencjał jest realizowany, gdy łączy się z innymi usługami AI, takimi jak modele GPT OpenAI lub Microsoft Azure AI.
Instalacja AutoGen za pomocą pip:
Dla dodatkowych funkcji, takich jak zoptymalizowane możliwości wyszukiwania lub integracja z bibliotekami zewnętrznymi:
Konfigurowanie środowiska
AutoGen wymaga od Ciebie konfiguracji zmiennych środowiskowych i kluczy API w sposób bezpieczny. Przejdźmy przez podstawowe kroki niezbędne do inicjacji i konfiguracji Twojej przestrzeni roboczej:
- Ładowanie zmiennych środowiskowych: Przechowuj wrażliwe klucze API w pliku
.envi ładuj je przy użyciudotenv, aby utrzymać bezpieczeństwo. (api_key = os.environ.get(“OPENAI_API_KEY”)) - Wybór konfiguracji modelu językowego: Zdecyduj, który LLM będziesz używał, taki jak GPT-4 od OpenAI lub inny preferowany model. Ustawienia konfiguracyjne, takie jak punkty końcowe API, nazwy modeli i klucze, muszą być wyraźnie zdefiniowane, aby umożliwić płynną komunikację między agentami.
Budowanie agentów AutoGen dla złożonych scenariuszy
Aby zbudować system wieloagentowy, musisz zdefiniować agenty i określić, jak powinny one działać. AutoGen obsługuje różne typy agentów, każdy z odrębnymi rolami i możliwościami.
Tworzenie agentów asystentów i proxy użytkownika: Zdefiniuj agenty z zaawansowanymi konfiguracjami do wykonywania kodu i zarządzania interakcjami użytkownika:












