Comparativos

LangGraph ou CrewAI? Escolha entre grafo de estado e equipe de agentes

Ilustração editorial de um grafo de estados e uma equipe de módulos agentes conectados por um fluxo central

LangGraph ou CrewAI? Os dois projetos ajudam a construir sistemas com agentes, ferramentas, memória e fluxos de execução. A diferença mais importante está na forma de modelar o trabalho. O LangGraph começa pelo estado, pelos nós e pelas transições do processo. O CrewAI oferece uma linguagem mais próxima de equipe, com agentes, papéis, tarefas e processos, além de Flows para cercar a autonomia com etapas explícitas.

Isso muda o desenho, os testes e a operação. Um time que precisa controlar exatamente onde uma execução pausa, retoma e muda de rota pode preferir um grafo. Um time que quer dividir uma entrega entre pesquisador, analista e redator pode encontrar uma abstração inicial mais direta em uma Crew. Nenhuma escolha elimina a necessidade de limitar ferramentas, registrar decisões e testar falhas.

Veredito rápido

  • Comece pelo LangGraph quando o problema principal é controlar estado, transições, retomada, aprovações e caminhos condicionais com precisão.
  • Comece pelo CrewAI quando a forma natural de explicar o trabalho é uma equipe de agentes com papéis, tarefas, delegação e um processo sequencial ou hierárquico.
  • Considere CrewAI Flows quando você gosta da metáfora de equipes, mas também precisa de rotas determinísticas e estado persistido ao redor das Crews.
  • Não escolha por uma demonstração curta. Compare os dois com a mesma tarefa, as mesmas ferramentas, o mesmo modelo, os mesmos dados e os mesmos critérios de interrupção.

Comparação direta

Critério LangGraph CrewAI
Abstração central Estado, nós, arestas e execução durável Agentes, tarefas, Crews, processos e Flows
Ponto de partida Modelar o fluxo e as transições Modelar papéis e responsabilidades, ou um Flow orientado a eventos
Controle determinístico Explícito no grafo ou na Functional API Explícito em Flows; Crews concentram a colaboração autônoma
Persistência Checkpoints do estado por thread, com stores para memória entre threads Estado de Flow com @persist e sistema de memória próprio
Aprovação humana Interrupções que salvam estado e retomam com uma entrada externa Fluxos e tarefas podem incorporar pontos de revisão, callbacks e gatilhos humanos
Processos multiagente Você modela supervisão, paralelismo e roteamento no fluxo Processos sequencial e hierárquico são conceitos de primeira classe
Licença do núcleo MIT MIT
Melhor encaixe inicial Aplicação de agentes controlada como máquina de estados Entrega dividida entre especialistas e coordenada como equipe

A tabela descreve o centro de gravidade, não uma fronteira rígida. LangGraph consegue representar equipes de agentes. CrewAI Flows consegue representar estados, eventos, ramificações e persistência. A decisão prática é qual modelo deixa as regras importantes mais visíveis para a equipe que manterá o sistema.

Não compare CrewAI só com LangGraph

Uma comparação superficial coloca LangGraph de um lado e Crews do outro. Isso omite metade do CrewAI. A própria documentação separa duas camadas: Crews para colaboração autônoma entre agentes e Flows para orquestração estruturada, estado e caminhos orientados a eventos. Um Flow pode chamar uma Crew somente na etapa que realmente precisa de exploração.

No ecossistema LangChain, também existem camadas acima do LangGraph. O LangGraph é apresentado como runtime de baixo nível para orquestração, enquanto LangChain Agents e Deep Agents oferecem abstrações prontas. Portanto, a pergunta honesta não é “qual possui agentes?”, mas “em qual camada quero escrever minhas regras?”.

LangGraph começa pelo estado e pelas transições

No LangGraph, o desenho mais explícito usa um estado compartilhado, nós que leem e atualizam esse estado e arestas que determinam o próximo passo. Esse formato ajuda quando cada transição precisa de uma condição verificável, como validar um documento, pedir aprovação, chamar uma ferramenta ou encerrar sem executar uma ação.

A documentação também oferece uma Functional API com @entrypoint e @task. Ela permite manter condicionais e funções Python sem desenhar tudo como um grafo estático, mas preserva capacidades do runtime, como checkpoint, retomada e tarefas paralelas. Isso reduz a caricatura de que LangGraph sempre exige uma grande malha de nós.

CrewAI começa pelos papéis, tarefas e processos

Em uma Crew, cada agente pode receber papel, objetivo, ferramentas e tarefas. O processo define como o trabalho avança. No modo sequencial, as tarefas seguem a ordem configurada e uma saída pode alimentar a próxima. No modo hierárquico, um agente gerente ou um modelo gerente coordena delegação e revisão.

Essa linguagem é útil quando o domínio já se organiza por responsabilidades. Uma pauta editorial, por exemplo, pode ter pesquisa, checagem, redação e revisão. O risco aparece quando a metáfora de equipe substitui controles concretos. Dar nomes convincentes aos agentes não garante separação de permissões, qualidade ou independência entre revisores.

Fluxos determinísticos e bolsões de autonomia

Os dois projetos permitem misturar código previsível e decisão por modelo. No LangGraph, nós determinísticos e nós orientados por LLM podem conviver no mesmo estado. No CrewAI, um Flow pode controlar entrada, roteamento, persistência e saída, chamando uma Crew em um trecho aberto.

Esse desenho híbrido costuma ser mais seguro que entregar toda a operação a um único agente. Validação de esquema, limites numéricos, autorização e gravação definitiva deveriam continuar em código sempre que possível. Pesquisa, classificação ambígua e geração podem ficar nos bolsões em que flexibilidade agrega valor.

Persistência e retomada não são o mesmo que memória

O LangGraph salva checkpoints do estado por thread quando um checkpointer é configurado. Esses checkpoints sustentam retomada após falha, interrupção humana, replay e investigação de estados anteriores. Para dados compartilhados entre threads, a documentação distingue um Store da persistência específica da conversa.

CrewAI Flows oferece @persist em nível de classe ou método e usa persistência de SQLite por padrão no exemplo oficial. CrewAI também possui um sistema de memória separado, que pode analisar e recuperar informações por similaridade, recência e importância. Em ambos os casos, salvar estado técnico e guardar conhecimento reutilizável são problemas diferentes e exigem políticas diferentes de retenção.

Aprovação humana precisa estar no caminho da ação

No LangGraph, interrupt() pausa a execução, salva o estado e espera uma entrada externa. Quando a execução retorna, o nó reinicia desde o começo. A documentação alerta que código anterior à interrupção pode rodar novamente. Por isso, efeitos colaterais precisam ser idempotentes ou isolados para evitar envio, cobrança ou gravação duplicada.

No CrewAI, pontos humanos podem ser inseridos na estrutura de tarefas e Flows. O ponto decisivo não é o nome do recurso, mas a posição do gate. Uma revisão que acontece depois da ferramenta destrutiva não protege nada. Para publicar, excluir, pagar ou enviar mensagem, a decisão humana deve preceder a chamada e receber contexto suficiente para aprovar ou rejeitar.

Memória exige escopo, expiração e fonte

LangGraph separa memória de curto prazo, associada ao estado da thread, e memória de longo prazo em namespaces. CrewAI documenta uma API unificada de memória que infere escopo, categorias e importância ao salvar e combina sinais na recuperação. As duas abordagens conseguem enriquecer execuções futuras, mas também ampliam o risco de recuperar informação antiga ou fora do escopo.

Antes de ativar memória, defina quais fatos podem ser guardados, quem pode lê-los, por quanto tempo permanecem e como serão corrigidos. Para dados sensíveis, prefira o mínimo necessário. Memória automática sem proveniência pode transformar uma suposição antiga em instrução operacional.

Paralelismo, hierarquia e custo de coordenação

LangGraph documenta padrões de paralelização, roteamento, orquestrador e trabalhadores. CrewAI oferece execuções síncronas, assíncronas, sequenciais e hierárquicas. Isso não significa que mais agentes ou mais ramos entreguem resultado melhor. Cada chamada adiciona latência, tokens, falhas possíveis e trabalho de reconciliação.

Comece com o menor fluxo que representa a tarefa. Só divida em agentes quando houver independência real, ferramentas diferentes, contextos separados ou revisão com critério próprio. Se todos recebem o mesmo prompt e as mesmas fontes, três agentes podem apenas repetir a mesma fragilidade.

Observabilidade precisa mostrar decisões e efeitos

O LangGraph integra-se ao LangSmith para rastreamento e depuração, mas o núcleo pode ser usado sem LangChain. CrewAI expõe logs, callbacks, métricas de uso e opções de tracing, além de uma plataforma comercial para implantação e observabilidade. A existência de uma integração não substitui um esquema de auditoria do projeto.

Registre entrada resumida, versão do fluxo, modelo, ferramentas chamadas, argumentos saneados, duração, custo calculado quando disponível, estado final e motivo de falha. Nunca registre segredos ou o conteúdo completo por padrão. O rastreio precisa explicar uma decisão sem criar um novo vazamento de dados.

Segurança depende das ferramentas, não dos personagens

Um agente chamado “revisor” continua perigoso se puder publicar diretamente. Um nó chamado “validar” continua fraco se apenas pedir ao mesmo modelo que confirme a própria resposta. Em qualquer framework, use esquemas estreitos, listas de ações permitidas, credenciais com privilégio mínimo e validação de saída antes de efeitos externos.

Separe leitura de escrita. Faça o fluxo coletar evidências em modo somente leitura e só depois apresente a ação proposta. Para operações irreversíveis, exija confirmação e um identificador idempotente. Também imponha limites de tentativas e tempo, pois ciclos de agentes podem continuar consumindo recursos sem produzir uma saída útil.

Disponibilidade, licença e custo

Em 9 de setembro de 2026, os repositórios principais de LangGraph e CrewAI estão públicos sob licença MIT. Essa licença do código não cobre automaticamente modelos, APIs, ferramentas, bancos, observabilidade hospedada ou dados conectados. Cada componente da solução mantém seus próprios termos e custos.

O custo operacional depende do número de chamadas, do contexto enviado, dos modelos escolhidos, da persistência, do tracing e da infraestrutura. Este comparativo não usa preços, pois planos comerciais mudam e não são necessários para entender a arquitetura. Para orçamento, meça a mesma tarefa com rastros completos e confirme preços nas páginas oficiais no dia da decisão.

Teste comparável em dez passos

  1. Escolha uma tarefa pequena, mas real, com entrada e saída esperadas.
  2. Use o mesmo modelo, temperatura, fontes e conjunto de ferramentas.
  3. Crie uma etapa determinística de validação de esquema.
  4. Inclua uma ferramenta de leitura e simule uma falha transitória.
  5. Inclua uma ação de escrita falsa, bloqueada por aprovação humana.
  6. Interrompa a execução no meio e teste a retomada.
  7. Repita a mesma entrada para verificar efeitos duplicados.
  8. Meça chamadas, tokens, duração e quantidade de estados persistidos.
  9. Inspecione se os rastros explicam o caminho sem expor segredo.
  10. Peça a outra pessoa para alterar uma regra e observar quanto código precisa entender.

Se você também precisa avaliar a qualidade das respostas, o comparativo interno Promptfoo ou DeepEval mostra duas formas de organizar testes. Para comparar kits de agentes mais próximos de fornecedores, veja OpenAI Agents SDK e Google ADK.

Quando escolher cada um

Escolha LangGraph se sua equipe pensa naturalmente em estados, eventos, transições e invariantes. Ele tende a encaixar bem em processos longos, com pausas, retomadas e ramificações que precisam permanecer explícitas. Aceite que o baixo nível cobra mais decisões de arquitetura.

Escolha CrewAI se papéis e tarefas são a forma mais clara de representar o problema, especialmente quando especialistas precisam colaborar. Use Flows quando a Crew fizer parte de um processo maior e mantenha os efeitos sensíveis fora da autonomia livre.

Faça um protótipo com os dois se a fronteira ainda estiver nebulosa. A melhor escolha é aquela em que a regra de negócio aparece no código certo, a retomada é previsível e uma pessoa nova consegue explicar por que cada ferramenta foi chamada.

Limites deste comparativo

Este texto compara conceitos e capacidades documentadas, não mede qualidade de agentes, velocidade ou custo em um benchmark. O resultado depende do modelo, das ferramentas, da tarefa, da configuração e da disciplina de engenharia. Recursos hospedados e versões podem mudar depois da data de consulta.

Imagem de capa: ilustração editorial original criada para o Bastidores da IA. Não é captura real, benchmark, certificação nem reprodução das interfaces de LangGraph ou CrewAI.

Fontes oficiais consultadas

RADAR BASTIDORES

IA muda rápido. Critério não.

Estamos preparando uma seleção editorial de novidades, ferramentas e guias que realmente merecem atenção.

Escolha apenas o canal pelo qual deseja receber novidades. Nome e demais campos são opcionais.

Os dados ficam privados no WordPress e não são vendidos. Informe ao menos e-mail, celular ou rede social.