0Pricing
AI Agents · Lekcja

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

  1. Multi-agent oparty na rozmowie (AutoGen)
  2. Hierarchiczni nadzorcy (koordynator + wykonawcy)
  3. Role i specjalizacje agentów
  4. Protokoły komunikacji (magistrale komunikatów)
← Powrót do AI Agents