AI Engineering · ADC 2026 · C7

Curs 7: LangGraph, workflow-uri cu stare și agenți multipli

În C7 trecem de la răspunsuri izolate la un workflow multi-agent controlat.

Folosim LangGraph pentru a organiza conversația dintre mai mulți agenți: cine vorbește, ce s-a spus deja, când continuă thread-ul și când se oprește. LangGraph nu face modelul mai inteligent. Face fluxul explicit, controlabil și inspectabil.

Curs AI Engineering Program ADC 2026 Limbă Română Sesiune C7

În C6 am construit un agent RAG simplu: un text politic intra în sistem, agentul recupera context din FAISS și genera un răspuns în vocea rolului definit în YAML.

În C7 trecem de la un singur răspuns la un thread orchestrat. Construim un workflow în care state-ul circulă între noduri, routerul decide cine vorbește, iar fiecare agent vede conversația anterioară înainte să producă o intervenție nouă.

formula_c7.txt
C6: text politic → agent RAG → răspuns
C7: state → router → agent_node → state update → router → END

LangGraph nu face modelul mai inteligent. Face fluxul explicit, controlabil și inspectabil.

Prezentare C7
Prezentarea C7 introduce fluxul LangGraph, state-ul thread-ului, routerul și trecerea de la agent RAG simplu la orchestrare multi-agent.
Notebook C7
Notebookul individual pentru primul thread multi-agent: state, router, agent node, actualizare de mesaje și oprire controlată a grafului.
C7_01_langgraph_multi_agent_thread.ipynb
Tutorial LangGraph
Tutorial HTML separat pentru LangGraph. Landing page-ul rămâne scurt, iar explicația extinsă și exemplele rămân în materialul dedicat.
materiale/langgraph_tutorial.html
Starter graph
Template-ul minim pentru extragerea logicii din notebook în cod de aplicație: funcții pentru state, router, agent node și rulare de thread.
materiale/core_graph_template.py
Checklist etic
Checklistul etic de lucru pentru echipă. Îl folosim ca bază pentru redactarea docs/ethics_and_limits.md și pentru verificarea livrabilului final.
materiale/ethics_checklist.md

În acest curs învățăm cum să construim un workflow agentic simplu cu LangGraph. Conceptele de mai jos sunt cele care apar direct în EchoChamber.

Concept Ce înseamnă În EchoChamber
State Datele care circulă prin graf stimulus, messages, current_turn
Node Funcție Python care modifică state-ul router_node, agent_node
Edge Trecere fixă între noduri agent_node → router
Conditional edge Alegere pe baza state-ului router → agent sau END
Router Decide următorul pas Cine vorbește în thread
Thread Conversația generată Lista de mesaje din messages

Construim un thread multi-agent pentru EchoChamber. Fiecare agent are rolul său definit în YAML, folosește corpusul și vectorstore-ul din C5 și C6, vede conversația anterioară și produce o intervenție nouă sub controlul unui router LangGraph.

START router agent_node messages update router agent_node / END

În C7 modelăm interacțiuni și tranziții între stări, nu doar un singur răspuns generat.

C7 nu este despre a simula oameni reali. Este despre a construi un instrument didactic pentru a analiza poziții discursive simulate.

Individual

Echipă

Scopul sesiunii este stabilizarea aplicației și pregătirea trecerii de la Agent RAG simplu la thread multi-agent. Ordinea corectă de lucru este:

roles retriever agent graph app GitHub

Nu începeți cu interfața. Dacă roles.yaml, retriever.py sau agent.py nu funcționează, graph.py și app.py nu vor funcționa corect.

Regulă de echipă

Coordonare

Nu lucrează doi membri pe același fișier comun în același timp.

Fișiere comune

EchoChamber generează răspunsuri politice simulate. Agenții nu sunt persoane reale și nu reprezintă grupuri sociale reale. Outputul generat nu este adevăr factual și nu trebuie prezentat ca opinie publică.

c7_test_input.txt
Input:
CCR a decis anularea alegerilor după suspiciuni privind influențe externe.

Agent recomandat:
anti_sistem

Alternativ:
agentul pentru care echipa are sigur vectorstore funcțional
Rezultat așteptat

La finalul C7, echipa trebuie să poată rula un thread multi-agent simplu și să explice clar ce este state-ul, ce face routerul, ce face un agent_node, cum se actualizează conversația, cum se oprește graful și care sunt limitele etice ale simulării.