AI w firmie

Jak zbudować system wielu agentów AI (LangGraph + LangSmith)

System wielu agentów AI: przewodnik HOOK AI

Jeden model, który naraz szuka informacji, pisze i sprawdza fakty, popełnia więcej błędów niż czterej specjaliści, z których każdy robi jedno. Na tym polega idea systemu wielu agentów: dziel i rządź. W tym przewodniku przejdziemy od „dlaczego" aż po działający kod.

W skrócie
  • Jeden agent gubi się przy złożoności. Multi-agent rozdziela zadania na specjalistów.
  • LangGraph opisujesz w 4 pojęciach: State, Nodes, Edges i pętle.
  • Wzorzec Supervisor: jeden „dyrygent" routinguje pracę między agentami.
  • LangSmith to rentgen systemu: pokazuje każdą decyzję i wywołanie.

Dlaczego jeden agent to za mało

Gdy jeden agent ma robić wszystko: researchować, pisać, weryfikować, korzystać z dziesięciu narzędzi, jego uwaga się rozprasza, błędy rosną, a debugowanie staje się koszmarem. Im więcej obowiązków, tym gorzej.

Pomyśl o tym jak o firmie. Prezes nie pisze każdego maila i raportu, deleguje do specjalistów: researcher, copywriter, kontrola jakości. Każdy jest ekspertem w swoim torze, a efekty się kumulują: każde przekazanie poprawia wejście kolejnego. Dokładnie tak działa system wielu agentów.

LangGraph w 4 pojęciach

LangGraph to framework do budowy takich systemów. Wystarczy zrozumieć cztery rzeczy:

StateGraph

Sam graf: typowany, wspólny stan, który wszyscy agenci czytają i zapisują. Każdy krok jest automatycznie zapisywany (checkpoint). To pamięć robocza Twojego systemu.

Nodes (węzły)

Funkcje w Pythonie: każda to agent, narzędzie albo router. Węzeł dostaje stan i zwraca zaktualizowany stan. Każdy robi dokładnie jedno.

Edges (krawędzie)

Połączenia między węzłami: stałe (A → B zawsze) albo warunkowe (supervisor decyduje w czasie działania). To w krawędziach mieszka inteligencja.

vs Chains (łańcuchy)

Łańcuch to tylko A→B→C. LangGraph wspiera pętle: agenci mogą ponawiać, zawracać i dynamicznie wołać kolejnych. To pętle robią z agentów prawdziwych agentów.

Architektura: wzorzec Supervisor

Najpopularniejszy układ. Jeden supervisor dyryguje specjalistami: routinguje, deleguje i zapętla, aż zadanie jest gotowe. Wszyscy dzielą jeden obiekt State.

Wejście użytkownika
↓
SUPERVISOR: routinguje i decyduje
↓
Researcher Writer Fact-Checker
↓
Finalny wynik → użytkownik

Kod: w trzech krokach

Krok 1: zdefiniuj stan i agentów

Wspólny stan to „kartka", którą wszyscy agenci czytają i uzupełniają. Każdy agent dostaje jedno wąskie zadanie:

state.py + agents.py
class AgentState(TypedDict):
    messages:    List[str]
    research:    str   # wypełnia researcher
    draft:       str   # wypełnia writer
    fact_result: str   # wypełnia fact-checker
    next_agent:  str   # decyzja routingu supervisora

researcher   = create_react_agent(llm, [search],
    "Przeszukaj sieć. Zwróć tylko kluczowe fakty.")
writer       = create_react_agent(llm, [],
    "Napisz jasną odpowiedź z researchu.")
fact_checker = create_react_agent(llm, [search],
    "Zweryfikuj draft. Zwróć PASS lub FAIL.")

Krok 2: supervisor i złożenie grafu

Supervisor czyta stan i jednym słowem decyduje, kto pracuje następny. Wszyscy agenci raportują z powrotem do niego:

supervisor.py + graph.py
def supervisor_node(state):
    # patrzy, co już gotowe, i wybiera następny krok
    resp = llm.invoke(prompt_z_kontekstem(state))
    return {"next_agent": resp.content.strip()}

graph = StateGraph(AgentState)
graph.add_node("supervisor", supervisor_node)
graph.add_node("researcher", researcher)
graph.add_node("writer", writer)
graph.add_node("fact_checker", fact_checker)
graph.add_edge(START, "supervisor")
for a in ["researcher", "writer", "fact_checker"]:
    graph.add_edge(a, "supervisor")   # wszyscy wracają do szefa

Krok 3: uruchom i obserwuj

Strumieniowanie pokazuje, jak praca „krąży" między supervisorem a specjalistami:

terminal: co widzisz
→ supervisor    (routing → researcher)
→ researcher    (odpala wyszukiwarkę)
→ supervisor    (routing → writer)
→ writer        (pisze odpowiedź)
→ supervisor    (routing → fact_checker)
→ fact_checker  (werdykt: PASS)
→ supervisor    (FINISH → END)

LangSmith: rentgen Twojego systemu

Błędy multi-agenta są niewidoczne bez śledzenia. LangSmith pokazuje każdą decyzję, każde wywołanie narzędzia i każdy token, na żywo. Włączasz go dwiema liniami:

włącz w 2 liniach
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"]   = "your_key"
# każdy run sam trafia do dashboardu

Dostajesz: pełne drzewo wykonania (gdzie poszło nie tak), podgląd promptu i odpowiedzi każdego węzła, porównanie runów obok siebie oraz metryki produkcyjne: opóźnienia, błędy i koszt na run.

Kiedy w ogóle budować multi-agenta

To nie jest rozwiązanie na wszystko. Buduj system wielu agentów, gdy:

  • zadanie obejmuje wiele dziedzin (research + pisanie + weryfikacja),
  • jeden agent miałby 8+ narzędzi (wtedy się myli),
  • potrzebujesz równoległego lub asynchronicznego wykonania,
  • jakość wymaga drugiej opinii lub pętli sprawdzającej.
Zasada z dokumentacji LangChain

„Agent ma większą szansę powodzenia przy skupionym zadaniu niż gdy musi wybierać spośród dziesiątek narzędzi." Jeśli jeden dobrze zaprojektowany agent wystarcza, nie komplikuj.

Darmowe materiały

Szkielet startowy systemu multi-agent

Wyślemy uporządkowany schemat: stan, supervisor, agenci i podpięcie LangSmith, gotowy punkt startu do własnego projektu. Napisz do nas bezpłatnie.

Poproś o szkielet

Zbudujemy system AI dla Twojej firmy

Od pomysłu po działający system agentów wpięty w Wasze procesy i narzędzia.

Umów konsultację

0 zł · 30 minut

Wybierz termin

30 minut, bez prezentacji i bez zobowiązań. Potwierdzimy mailem.

Pora dnia