Por que os grafos superam as cadeias lineares
Agentes reais precisam de loops, novas tentativas e condicionais — DAGs e grafos expressam o que as cadeias não conseguem.
Por que os grafos superam as cadeias lineares é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Agents, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Agents inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Onde as cadeias ficam aquém
As cadeias LCEL são ideais para fluxos lineares: A -> B -> C. Elas têm dificuldades quando você precisa de:
- Laços (tentar novamente até obter sucesso)
- Ramificação condicional (decidir entre A e B com base no estado)
- Pausas com participação humana
- Estado persistente entre chamadas
Agentes reais são grafos
Os agentes tomam decisões passo a passo. Um agente real pode:
- Planejar
- Pesquisar informações
- Se encontrar, elaborar a resposta; caso contrário, pesquisar novamente
- Validar
- Se for inválida, revisar; caso contrário, retornar
Isso é um grafo, não uma linha.
Apresentando o LangGraph
LangGraph (da equipe do LangChain) permite definir agentes como grafos:
- Nós — funções que leem e atualizam o estado
- Arestas — qual nó será executado em seguida
- Estado — dicionário compartilhado e persistente
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'])As atualizações de estado são mescladas
Quando um nó retorna um dicionário parcial, LangGraph o mescla ao estado. Você não precisa escrever o estado inteiro a cada etapa.
Ramificação condicional
Use add_conditional_edges para fazer o roteamento com base no estado:
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.Visualização
LangGraph gera diagramas Mermaid do seu grafo — excelentes para depurar a estrutura:
from IPython.display import Image
Image(app.get_graph().draw_mermaid_png())Comparação com laços while manuais
Você poderia fazer isso com um laço while em Python. LangGraph adiciona:
- Estrutura explícita de grafo (que pode ser visualizada)
- Criação de pontos de verificação integrada
- Transmissão de atualizações de estado
- Primitivas de participação humana
LangGraph + LCEL
Os nós podem ser qualquer objeto chamável — incluindo cadeias LCEL. Combine-os livremente:
summarise_chain = prompt | model | parser
def summarise_node(state):
return {'summary': summarise_chain.invoke(state['text'])}Quando usar um grafo
Qual cenário se beneficia mais do LangGraph do que de uma cadeia LCEL simples?
Recapitulação
Os grafos são melhores que as cadeias quando você precisa de laços, ramificações, persistência ou participação humana. LangGraph fornece a estrutura.
Perguntas Frequentes
A aula “Por que os grafos superam as cadeias lineares” é grátis?
Sim — o texto completo de “Por que os grafos superam as cadeias lineares” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Agents, atualize para CoddyKit PRO. O curso de AI Agents inclui 4 aulas no total.
O que vou aprender em “Por que os grafos superam as cadeias lineares”?
Agentes reais precisam de loops, novas tentativas e condicionais — DAGs e grafos expressam o que as cadeias não conseguem. Você pratica AI Agents com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar AI Agents?
Nenhuma experiência prévia é necessária. AI Agents no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Por que os grafos superam as cadeias lineares”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de AI Agents?
Sim. Cada aula de AI Agents inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Por que os grafos superam as cadeias lineares
- Nós, arestas e estado
- Roteamento condicional e ramificações
- Persistindo o estado do grafo (pontos de verificação)