Skip to content
··5 min de leitura

CrewAI é bom! — Minhas primeiras impressões

Depois de 10 dias construindo podcasts gerados por IA com CrewAI, aprendi que embora o framework seja surpreendentemente fácil de usar, conteúdo de qualidade ainda exige esforço humano real.

Tropecei no CrewAI algumas semanas atrás por meio do curso "Practical Multi AI Agents and Advanced Use Cases with crewAI". Embora inicialmente relutante em experimentá-lo já que estou usando Langgraph para meu agente Sydney, duas coisas despertaram meu interesse:

  1. Estava explorando formas de criar podcasts do zero, particularmente focando em como usar IA Generativa para "raciocinar" sobre meus 15 anos de conteúdo de blog em vez de simplesmente copiar e colar posts. Havia tentado o NotebookLLM para isso (que funcionou OK, você pode conferir o episódio de podcast aqui), mas queria mais controle sobre o fluxo da conversa e os ganchos de abertura.
  2. Queria aprender algo novo e experimentar os modelos de texto-para-fala da OpenAI.

Atualização nov 2025: Me formei do uso do framework de agentes e comecei a programar do zero com Claude Code e Google Gemini CLI. Isso me deu muito mais controle. Meus lançamentos mais recentes são STRAŦUM (inteligência de mercado) e DIALØGUE (gerador de podcast por IA) — que evoluiu diretamente deste experimento com CrewAI abaixo.

Depois de cerca de 10 dias brincando com CrewAI, aqui estão minhas principais observações:

1. O que há de bom

1.1 Surpreendentemente fácil de começar

  • A curva de aprendizado inicial é notavelmente curta — comecei a funcionar em apenas algumas horas
  • Configurar ferramentas personalizadas (como recuperar conteúdo do meu blog usando Weaviate como vector store) foi direto. Converter seu script de podcast em output de áudio também é bastante fácil de configurar.
  • A capacidade de descrever agentes e suas tarefas em inglês simples usando arquivos YAML é poderosa (Dica: o autocomplete do Visual Studio Code é super útil aqui!)

1.2 Seleção flexível de modelos

Alternar entre diferentes LLMs é tão simples quanto atualizar seu crew.py:

llm_openai_4o_mini = LLM(model="gpt-4o-mini", temperature=0)
llm_anthropic_35 = LLM(model="claude-3-5-sonnet-20240620", temperature=0)
llm_openai_4o = LLM(model="gpt-4o", temperature=0)
llm_gemini_15_pro = LLM(model="gemini/gemini-1.5-pro-002", temperature=0)

Você pode então atribuir modelos específicos a diferentes agentes com base em seus pontos fortes. Por exemplo,

@agent
	def content_researcher(self) -> Agent:
		return Agent(
			config=self.agents_config['content_researcher'],
			llm=llm_anthropic_35,
			tools=[BlogContentRetrievalTool()],
			verbose=True
		)

Tudo isso significa um grande nível de controle sobre como quero que meu podcast seja estruturado e roteirizado.

1.3 Texto-para-Fala: Promessas e Limitações

Embora a API de texto-para-fala da OpenAI seja impressionante em qualidade, atualmente oferece apenas seis modelos de voz. Para criação de podcast, isso é bastante limitante — especialmente quando você está tentando criar conversas envolventes entre múltiplos apresentadores. A falta de variedade de vozes significa que você pode acabar com podcasts que soam parecidos com outros que usam a mesma tecnologia. Esta é definitivamente uma área onde espero ver melhorias no futuro, seja por meio da OpenAI expandindo suas opções de voz ou por meio de integração com outros provedores de texto-para-fala.

Entendo também as preocupações com a segurança da IA, então os diferentes labs de IA podem não estar tão apressados em fornecer muitos modelos de voz.

2. A verificação da realidade: não é apenas "clique e crie"

Inicialmente, me preocupei que isso pudesse contribuir para a enxurrada de conteúdo gerado por IA (ou "AI Slop") que estamos vendo online. Afinal, eu poderia gerar um script de podcast de 15 minutos em cerca de 5 minutos. (No curso de treinamento do DeepLearning.AI acima, João na verdade passou por um exemplo de código de "Criação de conteúdo em escala".)

No entanto, minha perspectiva mudou depois de realmente ler/revisar os primeiros scripts gerados.

Criar conteúdo de alta qualidade ainda requer trabalho significativo!

2.1 Estrutura de agentes cuidadosa

Tive que revisar a estrutura do crew de IA várias vezes, adicionando funções adicionais, especialmente o papel de um "fact_checker". Meu crew atual de podcast inclui:

  • Pesquisador de conteúdo
  • Roteirista
  • Verificador de fatos
  • Editor de roteiro
  • Produtor de áudio

2.2 Refinamento contínuo

O sucesso requer:

  • Definir cuidadosamente os objetivos e tarefas de cada agente usando linguagem específica do setor. Alguém com verdadeira experiência na área de podcast pode usar linguagem específica do setor e pode pedir a cada agente que execute uma tarefa muito específica. O output será muito melhor assim.
  • Ser seletivo com o acesso a ferramentas (mais nem sempre é melhor). É fácil para os agentes ficarem presos em loops contínuos.
  • Regras claras de delegação entre agentes
  • Requisitos específicos de estrutura de output
  • Critérios de qualidade bem definidos de "Como é um bom trabalho" (Até envolvi minha filha aqui — ela é a criativa! :D).

Então novamente, como você pode ver, embora usar um crew de agentes de IA ajude a acelerar meu trabalho significativamente (pelo menos 5X da pesquisa até o roteiro, verificação de fatos, revisão, criação de áudio), ainda cabe a mim criar conteúdo de alta qualidade.

2.3 A seleção de modelos importa

Diferentes modelos LLM têm "personalidades" distintas e níveis variados de seguimento de instruções. Então você tem que experimentar para entender os pontos fortes e fracos dos diferentes modelos e como eles se adequam às suas necessidades em cada etapa do processo.

Algumas observações:

  • As respostas da API podem diferir das respostas da interface web de chat para o mesmo modelo
  • Atualmente, prefiro modelos Anthropic para conteúdo de forma longa usando a API. No entanto, quando se trata da versão web, na verdade acho que claude-3-5-sonnet-20241022 e GPT-4o estão empatados.
  • O o1-preview da OpenAI é meu preferido para tarefas de programação

2.4 Feedback e memória são divisores de águas

Você precisa fornecer feedback ao seu crew de IA. Eles são bons em seguir direções, mas não sabem o que você quer e não conseguem ler sua mente (pelo menos ainda não haha). A capacidade de treinar seu crew por meio de feedback é crucial.

Com CrewAI, é bem simples treinar seu crew e dar feedback, simplesmente executando

crewai train -n <n_iterations> <filename> (optional)

Embora eu ainda não tenha explorado totalmente as funções de memória do CrewAI, a combinação de feedback e memória parece incrivelmente poderosa para criar output consistente e de alta qualidade.

3. Me mostre os resultados!

Ok, ok — estou te ouvindo dizendo "Chandler, você já falou o suficiente. Me mostre um exemplo do script de podcast gerado pelo seu crew de IA!"

Aqui está um exemplo completo de fluxo de trabalho:

Cada link acima mostra a progressão do conteúdo bruto até o podcast polido, demonstrando como diferentes agentes contribuem para o produto final.

Embora ainda tenha pensamentos sobre como posso melhorar todo o pipeline mais, espero que o acima lhe dê uma boa noção do que é possível.

Pensamentos finais

O CrewAI me impressionou com seu equilíbrio de simplicidade e poder. Embora torne a criação de conteúdo mais acessível, não é um botão mágico — qualidade ainda requer expertise, planejamento cuidadoso e refinamento contínuo.

Você já experimentou com frameworks multi-agente como CrewAI ou Langgraph? Adoraria ouvir o que você está construindo com eles — fique à vontade para deixar um comentário ou entrar em contato.

Abraços,

Chandler

Atualização jan 2026: Este experimento com CrewAI eventualmente se tornou DIALØGUE — um app de produção completo. A limitação de voz que mencionei acima? Acabei mudando para Gemini TTS, o que me deu 30 vozes em 7 idiomas. Bem diferente das 6 vozes da OpenAI! Se você tiver curiosidade, confira.

Continuar Lendo

Minha Jornada
Conectar
Idioma
Preferências