Multi-agent oparty na rozmowie (AutoGen)
Microsoft AutoGen pozwala wielu agentom rozmawiać ze sobą aż do osiągnięcia konsensusu.
Multi-agent oparty na rozmowie (AutoGen) to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Agents, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Agents zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Dlaczego wiele agentów?
Jeden agent wyposażony we wszystkie narzędzia często działa gorzej niż dwóch wyspecjalizowanych agentów, którzy komunikują się ze sobą. Specjalizacja jest lepsza niż ogólność.
Przykłady:
- Badacz + Autor — jeden zbiera informacje, drugi tworzy odpowiedź
- Programista + Recenzent — jeden pisze kod, drugi go ocenia
- User-Proxy + Assistant — reprezentuje użytkownika i komunikuje się z agentem wykonującym zadanie
Wzorzec AutoGen
Microsoft AutoGen umożliwia agentom prowadzenie rozmów: każdy z nich jest obiektem AssistantAgent albo UserProxyAgent. Agenty wymieniają komunikaty aż do osiągnięcia konsensusu.
Two-Agent Example
# pip install pyautogen
from autogen import AssistantAgent, UserProxyAgent
llm_config = {'model': 'gpt-4o-mini', 'api_key': '...'}
assistant = AssistantAgent(
name='coder',
system_message='You write Python code. Reply with code only.',
llm_config=llm_config
)
user_proxy = UserProxyAgent(
name='user',
human_input_mode='NEVER',
code_execution_config={'work_dir': './workdir'}
)
user_proxy.initiate_chat(assistant, message='Write a function that returns the factorial of n.')UserProxyAgent
Reprezentuje człowieka (albo skrypt). Może wykonywać kod zwrócony przez asystenta, zadawać pytania doprecyzowujące i decydować, kiedy zadanie jest ukończone.
Agenty konwersacyjne
Wszystkie agenty AutoGen dziedziczą po ConversableAgent. Można utworzyć podklasę, aby zdefiniować niestandardowe zachowanie.
GroupChat for >2 Agents
class AssistantAgent:
def __init__(self, name, system_message=''):
self.name = name
self.system_message = system_message
def initiate_chat(self, manager, message):
manager.run(self, message)
class GroupChat:
def __init__(self, agents, messages, max_round=12):
self.agents = agents
self.messages = messages
self.max_round = max_round
class GroupChatManager:
def __init__(self, groupchat, llm_config=None):
self.groupchat = groupchat
def run(self, initiator, message):
self.groupchat.messages.append({'role': initiator.name, 'content': message})
for i, agent in enumerate(self.groupchat.agents):
if i >= self.groupchat.max_round:
break
reply = f'{agent.name} contributes to: {message}'
self.groupchat.messages.append({'role': agent.name, 'content': reply})
print(reply)
user_proxy = AssistantAgent(name='user_proxy')
researcher = AssistantAgent(name='researcher')
writer = AssistantAgent(name='writer')
critic = AssistantAgent(name='critic')
group = GroupChat(agents=[user_proxy, researcher, writer, critic], messages=[], max_round=12)
manager = GroupChatManager(groupchat=group, llm_config={})
user_proxy.initiate_chat(manager, message='Write a blog post about RAG.')
Wybór mówcy
GroupChatManager decyduje, kto przemówi jako następny. Dostępne strategie:
- round_robin — stała kolejność
- auto — LLM wybiera na podstawie rozmowy
- manual — wybiera człowiek
Warunki zakończenia
Rozmowy kończą się, gdy:
- Agent emituje słowo kluczowe TERMINATE
- Osiągnięta zostaje wartość max_round
- UserProxyAgent uzna, że zadanie jest ukończone
Wykonywanie kodu
UserProxyAgent może wykonywać dowolny kod, który asystent emituje w blokach kodu. Należy używać piaskownicy:
user_proxy = UserProxyAgent(
name='user',
code_execution_config={
'work_dir': './workdir',
'use_docker': True # safer
}
)Kontrola kosztów
Rozmowy wielu agentów są kosztowne — N agentów × M rund = N×M wywołań LLM na zadanie. Należy zdecydowanie ograniczać liczbę rund.
Kiedy używać
- Zadania z wyraźnym podziałem ról (badanie, kodowanie, recenzowanie)
- Zadania, w których krytyka poprawia jakość
- Zadania zbyt złożone dla promptu pojedynczego agenta
Kiedy NIE używać
- Proste pytania i odpowiedzi — pojedynczy agent jest szybszy i tańszy
- Ścieżki o krytycznym znaczeniu dla opóźnień
- Zadania, które jeden agent może dobrze wykonać w całości
AutoGen a LangGraph
AutoGen = podejście oparte na rozmowie (swobodne rozmowy między agentami). LangGraph = podejście oparte na grafie (jawna maszyna stanów). Oba rozwiązania są poprawne; należy wybrać je na podstawie tego, które lepiej pasuje do charakteru zadania.
Wzorzec AutoGen
Jaka jest główna abstrakcja w AutoGen?
Podsumowanie
AutoGen = agenty oparte na rolach, które prowadzą rozmowę. Doskonale sprawdza się w zadaniach, w których jeden agent nadzoruje pracę, a pozostali się specjalizują. Należy kontrolować koszty i ograniczać liczbę rund.
Często zadawane pytania
Czy lekcja „Multi-agent oparty na rozmowie (AutoGen)” jest bezpłatna?
Tak — pełny tekst „Multi-agent oparty na rozmowie (AutoGen)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Agents, przejdź na CoddyKit PRO. Kurs AI Agents zawiera 4 lekcji w sumie.
Co nauczysz się w „Multi-agent oparty na rozmowie (AutoGen)”?
Microsoft AutoGen pozwala wielu agentom rozmawiać ze sobą aż do osiągnięcia konsensusu. Ćwiczysz AI Agents z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AI Agents?
Nie wymagamy żadnego doświadczenia. AI Agents w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Multi-agent oparty na rozmowie (AutoGen)”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AI Agents?
Tak. Każda lekcja AI Agents zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Multi-agent oparty na rozmowie (AutoGen)
- Hierarchiczni nadzorcy (koordynator + wykonawcy)
- Role i specjalizacje agentów
- Protokoły komunikacji (magistrale komunikatów)