Pourquoi les graphes surpassent les chaînes linéaires
Les agents réels ont besoin de boucles, de nouvelles tentatives et de conditions : les DAG et les graphes expriment ce que les chaînes ne peuvent pas représenter.
Pourquoi les graphes surpassent les chaînes linéaires est une leçon AI Agents gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Agents, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Agents comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Les limites des chaînes
Les chaînes LCEL conviennent parfaitement aux flux linéaires : A -> B -> C. Elles montrent leurs limites lorsque vous avez besoin de :
- Boucles (réessayer jusqu’à la réussite)
- Branchements conditionnels (choisir A ou B selon l’état)
- Pauses avec intervention humaine
- État persistant entre les appels
Les vrais agents sont des graphes
Les agents prennent des décisions étape par étape. Un véritable agent peut :
- Planifier
- Rechercher des informations
- Si des informations sont trouvées, rédiger une réponse ; sinon, rechercher à nouveau
- Valider
- Si le résultat est invalide, le réviser ; sinon, le renvoyer
Il s’agit d’un graphe, pas d’une ligne.
Présentation de LangGraph
LangGraph (créé par l’équipe LangChain) vous permet de définir des agents sous forme de graphes :
- Nœuds — fonctions qui lisent et mettent à jour l’état
- Arêtes — nœud exécuté ensuite
- État — dictionnaire partagé et persistant
Nodes Are Just Functions
from langgraph.graph import StateGraph
class AgentState(TypedDict):
messages: list
plan: str
answer: str
def plan_step(state: AgentState) -> AgentState:
plan = generate_plan(state['messages'])
return {'plan': plan}Edges Connect Nodes
from langgraph.graph import StateGraph, END
graph = StateGraph(AgentState)
graph.add_node('plan', plan_step)
graph.add_node('search', search_step)
graph.add_node('answer', answer_step)
graph.set_entry_point('plan')
graph.add_edge('plan', 'search')
graph.add_edge('search', 'answer')
graph.add_edge('answer', END)
app = graph.compile()Running the Graph
result = app.invoke({'messages': [{'role': 'user', 'content': 'What is RAG?'}]})
print(result['answer'])Les mises à jour de l’état sont fusionnées
Lorsqu’un nœud renvoie un dictionnaire partiel, LangGraph le fusionne dans l’état. Vous n’avez pas besoin de réécrire tout l’état à chaque étape.
Branchement conditionnel
Utilisez add_conditional_edges pour effectuer le routage selon l’état :
def needs_more_info(state):
if state['confidence'] < 0.7:
return 'search'
return 'answer'
graph.add_conditional_edges('plan', needs_more_info, {
'search': 'search',
'answer': 'answer'
})Loops Are Just Edges Back
graph.add_edge('search', 'plan') # loop back to planner
# The planner decides if more search is needed.Visualisation
LangGraph génère des diagrammes Mermaid de votre graphe — idéal pour déboguer sa structure :
from IPython.display import Image
Image(app.get_graph().draw_mermaid_png())Par rapport aux boucles while écrites manuellement
Vous pourriez faire cela avec une boucle while Python. LangGraph ajoute :
- Une structure de graphe explicite (visualisable)
- La création de points de contrôle intégrée
- La diffusion des mises à jour de l’état
- Des primitives d’intervention humaine
LangGraph + LCEL
Les nœuds peuvent être n’importe quel objet appelable, y compris des chaînes LCEL. Combinez-les librement :
summarise_chain = prompt | model | parser
def summarise_node(state):
return {'summary': summarise_chain.invoke(state['text'])}Quand utiliser un graphe
Quel scénario tire le plus parti de LangGraph par rapport à une chaîne LCEL plate ?
Récapitulatif
Les graphes sont préférables aux chaînes lorsque vous avez besoin de boucles, de branchements, de persistance ou d’intervention humaine. LangGraph vous fournit la structure.
Questions Fréquemment Posées
La leçon « Pourquoi les graphes surpassent les chaînes linéaires » est-elle gratuite ?
Oui — le texte complet de « Pourquoi les graphes surpassent les chaînes linéaires » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Agents, passe à CoddyKit PRO. Le cours AI Agents comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Pourquoi les graphes surpassent les chaînes linéaires » ?
Les agents réels ont besoin de boucles, de nouvelles tentatives et de conditions : les DAG et les graphes expriment ce que les chaînes ne peuvent pas représenter. Tu pratiques AI Agents avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer AI Agents ?
Aucune expérience préalable n'est requise. AI Agents sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Pourquoi les graphes surpassent les chaînes linéaires » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon AI Agents ?
Oui. Chaque leçon AI Agents inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Pourquoi les graphes surpassent les chaînes linéaires
- Nœuds, arêtes et état
- Routage conditionnel et embranchements
- Conserver l’état d’un graphe (points de contrôle)