Showing Posts From
Developer tools
-
Diego Hartmann - 13 Apr, 2026
Archon: o framework open-source que transforma Claude Code e Codex em pipelines determinísticos
O repositório github.com/coleam00/Archon cruzou 14 mil stars no GitHub neste mês de abril de 2026 — e o timing não é à toa. A comunidade estava com um problema crescente nas mãos: agentes de código como Claude Code e OpenAI Codex CLI são poderosos, mas operam num modo essencialmente freeform. Você dá um prompt, o agente faz o que acha melhor, e reproduzir o resultado na próxima rodada é uma questão de sorte. O Archon resolve isso. O que é o Archon Archon é um harness de workflows para agentes de código. O projeto se autodefine como o primeiro benchmark builder para AI coding agents, mas o que ele realmente faz é mais prático: transforma interações freeform com agentes em pipelines YAML versionados, determinísticos e auditáveis. Em vez de você abrir o Claude Code e mandar um prompt livre, você define um workflow que o Archon orquestra: # exemplo de workflow archon workflow: name: feature-implementation steps: - name: planning agent: claude-code prompt_template: prompts/planning.md outputs: [plan.md] - name: implementation agent: claude-code depends_on: planning prompt_template: prompts/implement.md inputs: [plan.md] - name: validation agent: codex-cli depends_on: implementation prompt_template: prompts/validate.md - name: code-review agent: claude-code depends_on: validation prompt_template: prompts/review.md - name: create-pr agent: codex-cli depends_on: code-review prompt_template: prompts/pr.mdO YAML não é complicado — é exatamente o que você já faz mentalmente quando trabalha com esses agentes, só que formalizado e versionável num repositório. A sacada dos git worktrees O detalhe de arquitetura que mais me chamou atenção: cada execução de workflow roda em seu próprio git worktree. Isso não é cosmético. Sem isso, rodar duas instâncias de Claude Code em paralelo no mesmo repo é uma receita para conflito de merge. Com worktrees isolados, o Archon consegue executar múltiplos workflows em paralelo sem que as instâncias pisem umas nas outras. Cada feature branch de agente vive no seu próprio diretório de trabalho enquanto o worktree principal permanece limpo. # o archon cria algo como: .git/worktrees/ archon-run-abc123/ # feature A archon-run-def456/ # feature B (rodando em paralelo) archon-run-ghi789/ # bugfix C (também em paralelo)Isso abre caminho para um padrão que eu vejo cada vez mais necessário em times que usam agentes de código a sério: pipelines paralelos sem coordenação manual. Você define os workflows, o Archon gerencia o isolamento. O que o Archon cobre Os workflows out-of-the-box do Archon cobrem o ciclo completo de desenvolvimento com agentes:Etapa Descriçãoplanning Agente quebra a tarefa em subtarefas, gera plano em markdownimplementation Agente escreve o código seguindo o planovalidation Executa testes, lint, verifica outputs esperadoscode review Segunda passagem do agente revisando o próprio códigoPR creation Abre pull request com descrição gerada automaticamenteEsse ciclo inteiro é rastreável porque cada step gera artefatos (arquivos markdown, logs de execução, diffs) que ficam no git junto com o código. Como rodar na prática A instalação é direta: git clone https://github.com/coleam00/Archon cd Archon pip install -r requirements.txt# configure seus agentes cp config.example.yaml config.yaml # edite config.yaml com suas API keysPara rodar um workflow: python archon run --workflow workflows/feature.yaml \ --task "implementar endpoint POST /users com validação pydantic"O Archon cria o worktree, injeta o prompt no agente configurado (Claude Code ou Codex CLI), executa os steps em sequência, e no final você tem um PR aberto ou um diff pronto para revisar. Toda a execução fica logada num diretório .archon/runs/ dentro do worktree. Uma coisa que eu gosto: você pode mixar agentes por step. Usar Claude Code para planning e implementation (onde o raciocínio mais longo ajuda) e Codex CLI para validation e PR creation (onde você quer execução rápida de comandos). O Archon não te força a escolher um único agente. Comparação com alternativas Justo comparar com o que existe. O espaço de "orchestration for AI coding agents" ainda é jovem, mas já tem algumas peças:Ferramenta Modelo Determinismo Isolamento Open-sourceArchon Workflow YAML Alto git worktrees SimLangGraph Grafo de estados Médio Nenhum nativo SimCrewAI Multi-agent roles Médio Nenhum nativo SimDevin/Swe-agent End-to-end autônomo Baixo Sandbox Docker ParcialCopilot Workspace Interface GitHub Baixo GitHub nativo NãoO Archon ocupa um nicho específico: você quer controle de processo sem abrir mão dos modelos mais capazes (Claude Code, Codex). LangGraph e CrewAI são mais flexíveis para multi-agent genérico, mas não pensam especificamente em coding workflows com isolamento de worktree. Devin e similares tentam fazer tudo sozinhos — o que funciona para casos simples, mas quebra quando você precisa de reproducibilidade ou auditoria. Limitações e o que ainda não funciona Sendo honesto sobre o estado atual do projeto:Maturidade: com 14k stars em abril de 2026, o Archon está em crescimento acelerado, mas não é production-hardened no mesmo nível de um Airflow ou Prefect. Para casos críticos, espere alguns meses de estabilização. Modelos suportados: por ora, o foco é em Claude Code e OpenAI Codex CLI. Se você usa outros agentes de código (Gemini Code Assist, por exemplo), vai precisar escrever um adapter. Paralelismo com limites de API: rodar vários workflows em paralelo consome tokens na mesma velocidade. Se você tem rate limits apertados nas APIs, o paralelismo vai esbarrar nisso. YAML verboso: workflows mais complexos ficam grandes. Falta uma abstração de composição — poder importar sub-workflows de um arquivo central, por exemplo. Observabilidade: o logging existe, mas não há integração nativa com ferramentas de MLOps como MLflow ou Weights & Biases. Você vai querer adicionar isso se estiver rodando em escala.Abri uma issue sobre o último ponto no repo. A comunidade está ativa — as respostas chegam rápido. Por que isso importa para times brasileiros Aqui tem uma observação prática que vai além do hype: times de desenvolvimento no Brasil raramente têm orçamento para tooling enterprise de AI engineering. Plataformas como GitHub Copilot Workspace, Replit Ghostwriter ou as ofertas gerenciadas de automação de código custam por seat de um jeito que não escala para squads menores. O Archon é open-source, roda local ou na sua própria infra, e usa diretamente as APIs de Claude Code e Codex — que você já está pagando de qualquer forma. O overhead de infraestrutura é zero: um processo Python, git nativo e suas API keys. Para um time de quatro pessoas em São Paulo que quer workflows reproduzíveis para geração de código, o Archon é a diferença entre "a IA às vezes funciona assim" e "toda execução segue o mesmo processo e está versionada". Isso é especialmente relevante quando você precisa auditar o que o agente fez — seja para debug, seja para compliance interno. Veredito O Archon preenche um gap real: determinismo em workflows de agentes de código. Não é magia — é engenharia de processo aplicada a ferramentas que nasceram como interfaces interativas. A ideia de usar git worktrees para isolamento é elegante e barata. O formato YAML é verboso mas versionável. Se você está usando Claude Code ou Codex CLI de forma ad hoc e precisa escalar isso para um processo repetível, o Archon é o lugar óbvio para começar. Não está pronto para produção crítica sem monitoramento adicional, mas está bom o suficiente para ser a base do seu CI pipeline de AI-assisted development. Repo: github.com/coleam00/Archon. Clona, define um workflow simples, roda duas vezes e compara os artefatos. Se os outputs são idênticos, você acabou de ter determinismo em agente de código. Vale o teste.
-
Lucas Ferreira - 13 Apr, 2026
Shopify lança AI Toolkit oficial — Claude Code, Cursor e Codex agora operam lojas inteiras
A Shopify entregou na última quarta-feira o que muitos desenvolvedores estavam esperando desde que agentes de IA viraram realidade: um plugin oficial que conecta ferramentas como Claude Code, Cursor e Codex diretamente à plataforma. Não é uma integração de chatbot de atendimento. É acesso real à API, à documentação viva e à capacidade de executar mudanças em lojas — tudo via linguagem natural. O Shopify AI Toolkit chegou open-source e gratuito, e muda a forma como desenvolvedores e lojistas vão trabalhar com a plataforma. O que é o Shopify AI Toolkit O toolkit é um plugin de agente de IA lançado em 9 de abril de 2026. Está disponível no GitHub sob o repositório Shopify/Shopify-AI-Toolkit e suporta Claude Code, Codex (OpenAI), Cursor, Gemini CLI e VS Code. A ideia central é simples: hoje, quando um desenvolvedor quer construir um app para Shopify ou atualizar produtos em massa, ele precisa ler a documentação, entender o schema da API, escrever o código e testar manualmente. Com o toolkit instalado, o agente de IA faz isso por ele — com acesso à documentação oficial em tempo real e validação do schema da API antes de executar qualquer chamada. São 16 arquivos de skill cobrindo partes específicas da plataforma: gestão de produtos, inventário, pedidos, clientes, temas, apps, entre outros. Cada arquivo funciona como um "manual de operações" que o agente consulta antes de agir. O que um agente consegue fazer agora A distinção importante aqui é entre assistência e execução. A maioria das integrações de IA com e-commerce ainda vive na camada de assistência — o modelo sugere, o humano clica. O Shopify AI Toolkit vai além. Com ele configurado, um desenvolvedor pode pedir ao Claude Code: "Atualize o estoque do SKU X para zero e mude a descrição de todos os produtos da coleção Verão para incluir a nova política de troca." O agente consulta o schema da API, valida os campos, e executa. Não é um mock. É a loja de verdade. Lojistas sem perfil técnico também entram na equação. A Shopify posiciona o toolkit para quem quer "construir apps, atualizar produtos, gerenciar inventário e operar a loja em inglês claro" — mas nada impede que isso funcione em português, já que os modelos suportados entendem o idioma. A instalação foi pensada para ter fricção zero. No Claude Code, dois comandos. No Cursor, um clique. Não é trivial que uma empresa do porte da Shopify priorize essa facilidade — é um sinal de que eles querem adoção rápida. Por que a Shopify fez isso agora A Shopify não está fazendo caridade. Existe uma lógica de negócio clara por trás do toolkit. O ecossistema de apps da Shopify depende de desenvolvedores. Quanto mais fácil for construir e manter apps, mais apps existem, mais valor a plataforma entrega, mais lojistas ficam. Ao tornar agentes de IA cidadãos de primeira classe na plataforma — com acesso oficial à API, documentação atualizada e schema validado — a Shopify reduz o custo de desenvolvimento de apps de forma significativa. Há também um aspecto defensivo. Concorrentes como BigCommerce e WooCommerce estão olhando para o mesmo espaço. A Shopify sai na frente com uma solução oficial e open-source, o que torna difícil para um terceiro oferecer uma integração melhor sem o acesso privilegiado que o toolkit tem. E tem o dado de mercado: a adoção de ferramentas como Cursor e Claude Code entre desenvolvedores web cresceu de forma expressiva em 2025 e 2026. Não faz sentido ignorar onde os desenvolvedores estão trabalhando. O que pode dar errado Aqui vale o ceticismo de praxe. Acesso de agentes a operações reais de loja é uma superfície de ataque nova. Um prompt mal construído, uma interpretação errada do agente, ou uma integração feita por um desenvolvedor iniciante pode resultar em mudanças indesejadas em produção — preços zerados, estoques incorretos, descrições substituídas no lugar errado. A Shopify não detalhou publicamente quais camadas de confirmação ou rollback estão disponíveis no toolkit. Também não está claro como o toolkit lida com ambiguidade. "Atualize os produtos da coleção Verão" é uma instrução simples. "Ajuste os preços para a Black Friday conforme nossa estratégia de anos anteriores" não é. A distância entre o que o lojista quer dizer e o que o agente interpreta pode ser grande. Por fim, o fato de o toolkit ser open-source é bom para transparência — mas significa que a qualidade das contribuições vai variar. Os 16 arquivos de skill iniciais foram criados pela Shopify. O que vier depois depende da comunidade. O que isso significa para desenvolvedores brasileiros O Brasil é um dos mercados que a Shopify tem mirado com mais atenção nos últimos anos. Com o crescimento do e-commerce local e a expansão de Shopify Payments no país, a base de lojistas e desenvolvedores brasileiros aumentou. O toolkit chega num momento oportuno. Para agências e freelancers que constroem soluções Shopify no Brasil, o impacto mais imediato é na velocidade de desenvolvimento. Tarefas repetitivas de configuração, migração de dados de produtos e criação de apps básicos podem ser aceleradas de forma significativa com um agente instruído via toolkit. Há também uma oportunidade para desenvolvedores com menos experiência em APIs. O toolkit abstrai boa parte da complexidade do schema da Shopify. Quem domina Claude Code ou Cursor mas ainda está aprendendo a plataforma pode chegar mais rápido a resultados funcionais. O custo de API dos modelos suportados continua sendo um fator real para quem trabalha em real. Uma sessão intensa de Claude Code para automatizar operações de loja tem um custo que não é desprezível no câmbio atual. Mas esse é um problema do ecossistema, não do toolkit em si. O ponto final O Shopify AI Toolkit não é uma feature incremental. É uma mudança de paradigma na forma como desenvolvedores vão interagir com a plataforma. A pergunta não é mais "o agente consegue entender o que eu quero fazer com minha loja?" — agora ele tem as ferramentas para executar. O que vai definir o sucesso do toolkit não é a tecnologia. É a qualidade das guardrails que a Shopify e a comunidade vão construir em torno dela. Agente com acesso a produção sem revisão humana adequada não é produtividade — é risco. Os dois podem coexistir, mas precisam ser equilibrados conscientemente. Para quem desenvolve em Shopify, o repositório Shopify/Shopify-AI-Toolkit no GitHub já está disponível. Vale explorar antes que o toolkit vire padrão de mercado — e você esteja explicando para um cliente por que ainda está fazendo na mão o que o agente do concorrente faz em dois minutos.
-
Diego Hartmann - 09 Apr, 2026
Gemini 3.1 Ultra: 2 milhões de tokens de contexto nativo e o que muda para quem desenvolve com IA
O Google lançou o Gemini 3.1 Ultra com uma janela de contexto de 2 milhões de tokens — o dobro do Gemini 2.5 e quatro vezes o que o Claude Opus 4.6 oferece no tier padrão. Não é só um número maior no spec sheet. São 2M tokens que funcionam nativamente em texto, imagem, áudio e vídeo, sem precisar de adaptadores ou pipelines de chunking. Para quem constrói aplicações com IA, isso muda a equação em pelo menos três cenários que importam. Os números O Gemini 3.1 Ultra chega em três variantes: Ultra, Pro e Flash-Lite. O Ultra é o modelo flagship com os 2M de contexto. Aqui está o que importa:Spec Gemini 3.1 Ultra Claude Opus 4.6 GPT-5.4Contexto máximo 2M tokens 1M tokens* 1M tokensModalidades de entrada Texto, imagem, áudio, vídeo Texto, imagem Texto, imagem, áudioModalidades de saída Texto, imagem Texto Texto, imagemMultimodal nativo Sim Parcial Parcial*Claude Opus 4.6 tem 1M no tier padrão, com acesso estendido sob contrato enterprise. O OSWorld-V benchmark — que simula tarefas reais de desktop — dá ao GPT-5.4 a liderança com 75%. O Gemini 3.1 Ultra fica competitivo em raciocínio multimodal, mas o benchmark exato ainda não foi publicado pelo Google. Nos benchmarks de contexto longo (RULER, Needle-in-a-Haystack estendido), o Gemini 3.1 Ultra é o melhor modelo disponível. A degradação de qualidade nos últimos 500K tokens é mensurável mas pequena — algo que modelos anteriores com "contexto longo" não conseguiam. Por que 2M tokens importam na prática Vou ser direto sobre onde 2M tokens muda o jogo e onde é marketing. Onde muda Análise de codebase inteiro. Um repositório médio de 50-100K linhas cabe inteiro no contexto. Sem RAG, sem embeddings, sem chunking. Você passa o código, faz a pergunta, recebe a resposta. Para code review, refactoring e migração de dependências, isso elimina uma camada inteira de complexidade na pipeline. Ingestão de documentos longos. Contratos, relatórios anuais, transcrições de reuniões de horas. Um relatório 10-K da SEC tem ~80K tokens. Você pode passar 20 deles de uma vez e pedir análise comparativa. Para quem trabalha com compliance e análise financeira, isso é transformador. Agentes com memória longa. Agentes que operam por horas em tarefas complexas podem manter todo o histórico de ações no contexto. Sem necessidade de resumos intermediários que perdem informação. A qualidade das decisões do agente nos steps 50+ melhora significativamente quando ele "lembra" do step 3 sem compressão. Onde não muda (tanto) RAG não morre. Contexto longo não substitui retrieval quando você tem bilhões de documentos. 2M tokens cabem ~1.5 milhão de palavras. Uma base de conhecimento corporativa tem ordens de magnitude mais. RAG continua necessário para scale. O que muda é que o RAG pode retornar chunks maiores e mais ricos, e o modelo consegue processar mais contexto por query. Custo. 2M tokens de input não é barato. Mesmo com o pricing agressivo do Google, uma chamada com contexto cheio custa mais que centenas de chamadas com contexto curto. Para aplicações high-throughput, o cálculo de custo-benefício ainda favorece contextos menores com RAG bem implementado. O que muda para multimodal A parte que me chamou mais atenção é o suporte nativo a vídeo. O Gemini 3.1 Ultra processa vídeo frame a frame dentro do contexto, sem precisar de pré-processamento externo. Na prática, isso significa:Análise de vídeos de segurança de horas de duração Extração de informação de tutoriais e palestras em vídeo QA sobre gravações de reuniões com contexto visual (slides, telas compartilhadas)O Claude e o GPT-5.4 não fazem isso nativamente. O Claude aceita imagens mas não vídeo. O GPT-5.4 aceita áudio mas o suporte a vídeo é limitado. Aqui o Google tem vantagem real e técnica, não apenas comercial. Como testar O Gemini 3.1 Ultra está disponível via Google AI Studio e na API do Vertex AI. Se você quer testar o contexto longo na prática:Contexto de código: Passe um repositório inteiro (concatene os arquivos com path headers) e peça análise arquitetural Documentos: Carregue um PDF grande (relatório anual, contrato) e faça perguntas específicas sobre seções distantes Vídeo: Envie um vídeo de 30+ minutos e peça resumo com timestampsO que eu observei nos meus testes: a qualidade se mantém até ~1.5M tokens. Depois disso, respostas sobre informação no início do contexto começam a perder precisão. Não é catastrophic — é degradação gradual. Mas é real. O contexto competitivo O mercado de LLMs de fronteira está em um momento interessante. O GPT-5.4 lidera em tarefas de desktop e raciocínio puro. O Claude Opus 4.6 lidera em coding e instrução-following. E o Gemini 3.1 Ultra lidera em contexto longo e multimodal nativo. Não existe mais um "melhor modelo". Existe o melhor modelo para cada caso de uso. E isso é bom para quem constrói — significa que a escolha de modelo pode ser uma decisão de engenharia informada por dados, não uma decisão de marca. Conclusão O Gemini 3.1 Ultra com 2M de contexto é o modelo mais capaz do mercado para cenários que envolvem contexto longo e multimodalidade nativa. Não é o melhor modelo em tudo — mas é o melhor no que faz de diferente. Para engenheiros que trabalham com análise de documentos longos, codebases grandes, vídeo ou agentes de memória longa, vale testar agora. O Google AI Studio é grátis para experimentação. O preço por token no Vertex é competitivo. A janela de contexto deixou de ser um spec de benchmark para se tornar uma feature de produto. 2M tokens mudam o que é possível construir. Essa é a parte que importa.
-
Diego Hartmann - 07 Apr, 2026
Meta Superintelligence Labs e Alexandr Wang: o open-source do Llama acabou como você conhecia
Se você tem um pipeline em produção rodando Llama, presta atenção. A Meta está reestruturando toda a estratégia de modelos sob o novo Meta Superintelligence Labs (MSL), liderado por Alexandr Wang — o ex-CEO da Scale AI que a Meta contratou por US$15 bilhões. E a mudança mais importante não é quem lidera: é o que vai ser aberto e o que não vai mais ser. Resumo curto: modelos menores continuam open-source (com restrições de segurança), modelos maiores ficam proprietários. O Llama como "tudo aberto" acabou. Bem-vindo à era do open-source híbrido da Meta. O que é a MSL e por que Alexandr Wang A Meta Superintelligence Labs é o novo lab de IA de frontier da Meta. Não é o FAIR (que continua existindo para pesquisa fundamental) — é uma unidade focada em construir os modelos mais avançados da empresa. Pense na relação entre Google Brain e DeepMind, antes da fusão: pesquisa básica num canto, modelos de frontier no outro. Alexandr Wang é uma escolha que faz sentido operacional. A Scale AI construiu a maior operação de data labeling e data curation do mundo. Os datasets que treinaram GPT-4, Claude 3 e o próprio Llama passaram em algum momento pela Scale. Wang sabe como transformar dados brutos em dados de treinamento de qualidade — e data quality é o gargalo real de treinamento de modelos de frontier em 2026, não compute. O valor do contrato — US$15B — parece absurdo isoladamente. Mas contextualize: a Meta gastou mais de US$30B em capex de IA só em 2025. Se Wang acelerar a qualidade dos modelos de frontier em 6 meses, o contrato se paga em vantagem competitiva contra OpenAI e Google. É uma aposta de negócio, não filantropia. De "open weight" para "open híbrido": o que muda concretamente O Llama nunca foi open-source no sentido estrito. Era open-weight com uma licença restritiva: você podia baixar os pesos, fazer fine-tuning, servir — mas não podia usar para treinar modelos concorrentes se tivesse mais de 700 milhões de usuários mensais (a famosa cláusula anti-Google, anti-Amazon). Não era Apache 2.0. Não era MIT. Era "Meta Community License". Agora a divisão ficou explícita:Tier O que muda Licença esperadaModelos menores (provavelmente <70B) Continuam abertos, pesos disponíveis Open-source com restrições de segurançaModelos maiores (frontier, provavelmente >200B) Fechados, apenas via API ProprietárioAs fontes — Axios, Gizmodo, SiliconANGLE — concordam no ponto central: os modelos que saírem da MSL sob Wang terão uma linha divisória clara. Modelos menores servem para adoção de ecossistema, developer mindshare, e aquele efeito de "todo mundo testa primeiro no Llama porque é grátis". Modelos maiores são arma competitiva e ficam dentro de casa. É o modelo que a Mistral já executa há um ano (Mistral Small aberto, Mistral Large fechado) e que o Google tentou com Gemma vs Gemini. A Meta demorou mais para formalizar, mas chegou. Por que isso importa se você roda Llama em produção Tem muita empresa que construiu stack inteira em cima do Llama. Fine-tuning de Llama 3/4 para domínios específicos, deploy em infra própria, RAG com modelos Llama como backbone. Se você é uma dessas empresas, três perguntas: 1. O modelo que você usa hoje vai continuar aberto? Se é Llama 3.x 8B ou 70B — provavelmente sim. Os modelos menores e médios continuam no jogo aberto. Mas se sua estratégia dependia de eventualmente migrar para o modelo de frontier da Meta (o equivalente ao GPT-5 ou Claude Opus), esse caminho agora é API. Não é fine-tuning local. 2. Sua arquitetura aguenta a mudança? Se você abstraiu bem a camada de LLM (com interface agnóstica de provider), trocar Llama por outro modelo — ou consumir via API — é uma mudança de config. Se você tem chamadas diretas ao transformers do HuggingFace espalhadas pelo código, a migração é cirúrgica. 3. Qual é o seu plano B? Llama era o plano B de muita gente contra lock-in da OpenAI. Se os modelos de frontier da Meta ficam fechados, o plano B precisa ser reavaliado. As alternativas open-weight de frontier hoje: DeepSeek V3/V4, Qwen 3.5, Mistral Large (parcialmente aberto). Nenhuma tem o ecossistema do Llama, mas todas têm pesos disponíveis para fine-tuning. Comparando com o resto do mercado A tabela de estratégias open vs closed em abril de 2026:Empresa Estratégia Modelo aberto Modelo fechadoMeta (MSL) Híbrida (novo) Llama menores MSL frontierMistral Híbrida Small, Nemo Large, MediumGoogle Híbrida Gemma GeminiDeepSeek Open-weight V3, V4 Lite —OpenAI Fechada gpt-oss-120b GPT-4o, GPT-5Anthropic Fechada — Claude Opus/SonnetA DeepSeek é a última grande holdout do "tudo aberto" — e funciona porque o custo de treinamento deles é subsidiado pelo governo chinês (direta ou indiretamente). Para empresas ocidentais que gastam US$100M+ por treino, o modelo híbrido é a resposta econômica racional: abrir o suficiente para adoção, fechar o suficiente para monetizar. O elefante: safety washing ou preocupação real? A Meta justifica a divisão com "segurança": modelos mais poderosos precisam de mais guardrails, e guardrails funcionam melhor quando você controla o deployment. É um argumento que tem mérito técnico real — modelos de frontier com tool use e agentive capabilities são genuinamente mais perigosos em mãos irresponsáveis. Mas também é conveniente. Modelo fechado = API = receita recorrente. Modelo fechado = controle de supply chain de IA = leverage competitivo. A segurança é o argumento que soa bem no press release. O incentivo econômico é o que move a decisão no board. Na prática, as duas coisas podem ser verdade ao mesmo tempo. E para quem é engenheiro, o que importa é o resultado: os pesos que você pode baixar vão parar num tier, e os pesos que você quer vão estar no outro. O que eu faria Se eu tivesse Llama em produção hoje, três ações imediatas:Auditar a dependência. Qual modelo exatamente você usa? Qual versão? Ele provavelmente continua aberto. Mas documente.Abstrair a camada de LLM. Se ainda não fez, agora é a hora. Interface única, provider intercambiável. LiteLLM (github.com/BerriAI/litellm) resolve isso com 100+ providers numa API unificada. Quando a Meta mudar a licença do próximo Llama, você troca uma string de config.Avaliar alternativas open-weight. Rode seus benchmarks internos no Qwen 3.5, no DeepSeek V3, no Mistral. Não dependa de um único provider para pesos abertos. O Llama ter o maior ecossistema não significa que é insubstituível.Veredito A Meta não matou o open-source — redefiniu onde ele termina. Modelos menores continuam abertos e provavelmente vão continuar sendo o ponto de entrada para milhões de desenvolvedores. Modelos de frontier ficam fechados, como já acontece com OpenAI, Anthropic e agora explicitamente com a Meta. Para a comunidade, a perda é real: o sonho de ter o melhor modelo do mundo com pesos disponíveis para fine-tuning local depende agora da DeepSeek e de quem mais aparecer. Para quem constrói produto, o impacto é gerenciável — desde que você não tenha apostado tudo numa licença que nunca foi verdadeiramente open-source para começar. O repo do LiteLLM para quem quer abstrair providers agora: github.com/BerriAI/litellm. O anúncio original você encontra no Axios e no SiliconANGLE. E se alguém na Meta estiver lendo: liberem logo os termos da nova licença. A ambiguidade é pior que a restrição.
-
Diego Hartmann - 07 Apr, 2026
Gemma 4 sai com Apache 2.0 e zero restrições: o Google finalmente entendeu open-source
O Google DeepMind lançou o Gemma 4 na semana passada — e dessa vez fez diferente. Pela primeira vez na história da família Gemma, a licença é Apache 2.0 pura. Sem cláusulas de uso aceitável, sem restrições comerciais, sem asteriscos. Quatro tamanhos, 256K tokens de contexto, multimodal nos modelos edge, e mais de 140 idiomas suportados. Com 400 milhões de downloads acumulados da família Gemma, o Google finalmente parou de brincar de open-source e decidiu jogar de verdade. O que vem na caixa O Gemma 4 chega em quatro variantes, cobrindo do smartphone ao datacenter:Gemma 4 E2B — 2 bilhões de parâmetros, edge, multimodal (texto + imagem + áudio). Roda em smartphone. Gemma 4 E4B — 4 bilhões, edge, multimodal. Sweet spot para dispositivos com 8GB+ de RAM. Gemma 4 26B MoE — 26 bilhões totais, arquitetura Mixture of Experts. Ativa ~6B por token. O modelo mais eficiente da linha. Gemma 4 31B — 31 bilhões, denso. O mais capaz. Compete diretamente com Llama 4 Scout e Qwen 3.5 72B em tarefas de raciocínio.Todos os modelos suportam janela de contexto de 256K tokens — o dobro do Gemma 3. Os modelos edge (E2B e E4B) são multimodais nativos: processam texto, imagem e áudio sem adaptadores externos. Apache 2.0: o que muda na prática Nas versões anteriores, o Gemma usava a "Gemma Terms of Use" — uma licença que parecia open-source mas tinha restrições comerciais para empresas com mais de $1B de receita e proibia certos casos de uso. Na prática, era open-weight com coleira. O Gemma 4 com Apache 2.0 muda isso completamente:Uso comercial irrestrito — qualquer empresa, qualquer tamanho, qualquer caso de uso Modificação e redistribuição livres — pode fazer fine-tuning, merge, quantização e redistribuir sem pedir permissão Sem cláusulas de "uso aceitável" — a responsabilidade de uso ético fica com quem usa, não com a licençaIsso coloca o Gemma 4 no mesmo patamar do Mistral Small 4 (também Apache 2.0) e à frente do Llama 4, que ainda usa a Meta Community License com restrições para empresas com 700M+ de MAUs. Como o Gemma 4 se compara Baseado nos benchmarks públicos e nos meus testes iniciais:Modelo Parâmetros Licença Contexto Multimodal MMLU HumanEvalGemma 4 31B 31B denso Apache 2.0 256K Texto 83.2 78.5Gemma 4 26B MoE 26B (6B ativos) Apache 2.0 256K Texto 80.1 74.2Llama 4 Scout 109B (17B ativos) Meta CL 10M Texto+Img 82.8 76.9Qwen 3.5 72B 72B denso Qwen License 128K Texto 84.1 80.3Mistral Small 4 119B (6B ativos) Apache 2.0 128K Texto 81.5 75.8O Gemma 4 31B compete de igual para igual com modelos 2-3x maiores. O MoE de 26B é o melhor custo-benefício da tabela — ativa apenas 6B de parâmetros por token, o que significa inferência rápida e barata. Hands-on: como rodar Com transformers v5+ e o Hugging Face Hub: from transformers import AutoModelForCausalLM, AutoTokenizermodel = AutoModelForCausalLM.from_pretrained( "google/gemma-4-31b", device_map="auto", torch_dtype="auto" ) tokenizer = AutoTokenizer.from_pretrained("google/gemma-4-31b")Para o modelo edge multimodal (E4B) com áudio e imagem: from transformers import AutoProcessor, AutoModelForVision2Seqprocessor = AutoProcessor.from_pretrained("google/gemma-4-e4b") model = AutoModelForVision2Seq.from_pretrained( "google/gemma-4-e4b", device_map="auto" )O 31B denso roda em uma A100 de 80GB em FP16 ou em duas A100 de 40GB com model parallelism. Com quantização GPTQ 4-bit, cabe em uma RTX 4090 de 24GB — já testado com AutoGPTQ, funciona sem perda perceptível em tarefas de texto. O MoE de 26B é mais acessível: roda em uma única RTX 4090 em FP16 por causa da ativação parcial. Na prática, é o modelo que eu recomendaria para quem quer testar sem infraestrutura pesada. Os 140+ idiomas — e o português O Gemma 4 foi treinado com suporte explícito a mais de 140 idiomas. Nos meus testes iniciais com português brasileiro, a qualidade melhorou significativamente em relação ao Gemma 3:Geração de texto: fluente, com boa gramática e naturalidade. Ainda erra concordância verbal em frases longas, mas muito menos que o Gemma 3. Compreensão de documentos em PT-BR: funciona bem para sumarização e extração de informações. Testei com atas de reunião e relatórios financeiros — resultados comparáveis ao Claude Sonnet. Código com comentários em português: entende e gera sem problemas.Para quem desenvolve aplicações em português, o Gemma 4 é a melhor opção open-source disponível hoje. Limitações Nem tudo é perfeito:Raciocínio matemático complexo: ainda atrás do Qwen 3.5 72B e do GPT-5.3 em benchmarks como MATH e GSM8K Alucinações em contextos longos: com janelas acima de 128K, a qualidade degrada — o problema de "lost in the middle" persiste Fine-tuning: ainda não há suporte oficial no Unsloth para o Gemma 4 (esperado nas próximas semanas). O HF Trainer funciona, mas sem as otimizações de memória Modelos edge: o E2B é impressionante para o tamanho, mas não espere qualidade de 31B em um smartphone. É um trade-off justo, mas precisa ser ditoO panorama open-source em abril de 2026 Estamos vivendo o melhor momento da história para modelos open-source. Pela primeira vez, temos seis famílias competitivas de labs independentes:Gemma 4 (Google) — Apache 2.0, 4 tamanhos, multimodal edge Qwen 3.5 (Alibaba) — líder em raciocínio e código Llama 4 (Meta) — maior ecossistema, mas licença restritiva Mistral Small 4 (Mistral) — Apache 2.0, MoE eficiente GLM-5 (Zhipu AI) — forte em chinês e inglês gpt-oss-120b (OpenAI) — Apache 2.0, primeiro modelo aberto da OpenAIA competição está forçando todos a melhorar. E o grande vencedor é quem desenvolve — porque as alternativas a APIs proprietárias nunca foram tão boas, tão acessíveis e tão livres de amarras legais. Veredito O Gemma 4 é o modelo open-source mais completo do Google até hoje. A combinação de Apache 2.0, quatro tamanhos, multimodal edge e 256K de contexto faz dele uma opção séria para produção. Não é o melhor em tudo — o Qwen 3.5 ganha em raciocínio, o Llama 4 tem ecossistema maior — mas é o único que entrega tudo isso sem nenhuma restrição de licença. Se você está avaliando modelos open-source para um novo projeto, o Gemma 4 merece estar no topo da sua lista de testes.
-
Diego Hartmann - 06 Apr, 2026
Claw-Code: o source do Claude Code vazou via npm e a comunidade reescreveu em 72 horas
O repositório anthropics/claude-code nunca foi público. Mas desde a semana passada, 512 mil linhas de TypeScript que fazem o Claude Code funcionar estão disponíveis para quem souber onde procurar. Não por decisão da Anthropic — por um source map de 59.8 MB que foi parar no pacote npm. Em 72 horas, a comunidade fez o que a comunidade faz: leu tudo, entendeu a arquitetura, e começou a reescrever. O resultado é o claw-code — um rewrite que bateu 100 mil stars no GitHub em 3 dias. Um dos crescimentos mais rápidos da história da plataforma. Aqui está o que aconteceu, o que o source code revela, e se você deveria instalar alguma coisa disso. Como 512K linhas vazaram por um source map O Claude Code é distribuído como pacote npm (@anthropic-ai/claude-code). Quando a Anthropic fez o build de produção, o bundler gerou um arquivo .js.map — um source map que mapeia o JavaScript minificado de volta ao TypeScript original. Esse arquivo foi incluído no pacote publicado no npm. Source maps são arquivos de debug. Contêm o código-fonte completo, com nomes de variáveis, comentários, estrutura de módulos — tudo. O .js.map do Claude Code tem 59.8 MB e reconstrói as 512 mil linhas originais em TypeScript. Não foi hack. Não foi insider. Foi um erro de build config — provavelmente um sourceMaps: true que deveria ser false no tsconfig ou no bundler config para o target de produção. É o tipo de coisa que um .npmignore ou um check no CI deveria pegar. Não pegou. A Anthropic removeu o source map em versões subsequentes, mas o npm é imutável por design — versões publicadas ficam. E caches, mirrors e forks já tinham o arquivo. O que a arquitetura do Claude Code revela A parte mais interessante do vazamento não é o código em si — é o que ele mostra sobre como a Anthropic arquitetou um coding agent de produção. Alguns highlights: Orchestration layer massiva. O Claude Code não é um wrapper simples sobre a API do Claude. Há uma camada inteira de orquestração que gerencia contexto, tool use, file system access, terminal execution e state management. O agent loop é significativamente mais complexo do que o que você veria em um LangChain ou CrewAI básico. Tool system com sandboxing granular. Cada tool (file read, file write, bash execute, search) tem seu próprio sistema de permissões e sandboxing. O código revela que a Anthropic investiu pesado em segurança de execução — há camadas de validação antes de qualquer operação no filesystem ou terminal. Context management sofisticado. O sistema de gerenciamento de contexto não é um sliding window ingênuo. Há compressão de contexto, priorização de arquivos relevantes, e um sistema de "memory" que persiste informação entre invocações. Muito mais elaborado do que a maioria dos coding agents open-source implementa. Prompt engineering extensivo. Os system prompts internos são longos, detalhados e revelam muitas das heurísticas que fazem o Claude Code funcionar bem em cenários de coding. Isso é provavelmente o que mais incomoda a Anthropic do ponto de vista de IP. Claw-Code: o que é e o que funciona O claw-code (claw-code/claw-code no GitHub) nasceu como um clean-room rewrite. A premissa: não copiar o código vazado linha por linha, mas usar o conhecimento da arquitetura revelada para construir uma alternativa open-source. O projeto começou em Rust — a ideia era ter performance superior e memory safety desde o início. Mas a realidade bateu rápido: a maior parte da comunidade que contribuiu nos primeiros dias era de TypeScript/JavaScript, e a integração com o ecossistema npm (LSP, extensões de editor, APIs da Anthropic) é naturalmente mais fácil em TS. Hoje o repo tem dois caminhos: o core em Rust e um runtime TS que faz a cola com o mundo real. Status atual (6 de abril de 2026):Feature Status NotasFile read/write Funciona Sandboxing básico implementadoBash execution Funciona Sem o nível de sandboxing do originalMulti-file editing Parcial Funciona mas com bugs em repos grandesContext management Alpha Sliding window simples, sem compressãoMemory entre sessões Não implementado Roadmap para v0.3Suporte a múltiplos LLMs Funciona Claude, GPT, Gemini, modelos locaisTool permissions Básico Sem a granularidade do originalO ponto forte: suporte a múltiplos LLMs. Enquanto o Claude Code é locked-in na API da Anthropic, o claw-code aceita qualquer provider compatível com OpenAI API format. Isso inclui modelos locais via Ollama ou vLLM. Oh-My-Codex: a camada de orquestração O oh-my-codex é um projeto relacionado mas distinto. Em vez de reescrever o Claude Code, ele funciona como uma camada de orquestração que pode usar o claw-code, o Claude Code original, ou qualquer outro coding agent como backend. Pense nele como um multiplexer de coding agents: você define regras de roteamento (qual agent para qual tipo de tarefa), políticas de fallback, e logging centralizado. É mais útil para quem quer comparar agents ou rodar múltiplos em paralelo do que para quem quer um substituto direto do Claude Code. Repo: ainda em fase early, menos de 5K stars, mas com uma arquitetura modular que faz sentido para cenários enterprise. 100K stars em 3 dias: o que isso significa Para colocar em perspectiva:Projeto Tempo para 100K starsclaw-code ~3 diasDeepSeek V3 ~14 diasllama.cpp ~6 mesesStable Diffusion (web UI) ~4 mesesLangChain ~8 mesesStars não são tudo — a maioria das 100K pessoas não vai contribuir código nem usar o projeto em produção. Mas o número diz algo sobre o estado da comunidade dev em 2026: a demanda por coding agents open-source é enorme, e a frustração com vendor lock-in é real. O vazamento funcionou como catalisador de algo que já estava latente. Antes do claw-code, projetos como Aider, Continue e o próprio OpenHands já tentavam construir coding agents open-source. Nenhum tinha a informação arquitetural que o vazamento forneceu. Implicações de IP: é legal? é safe? Aqui a coisa fica cinzenta. O código vazado: Ler código que foi inadvertidamente publicado em um pacote npm público é, na maioria das jurisdições, legal. O npm é uma plataforma pública. Source maps são arquivos técnicos padrão. Não houve invasão de sistema. Usar o código: Copiar trechos do código vazado em outro projeto é violação de copyright. O código da Anthropic é proprietário. Não importa que vazou por acidente — a propriedade intelectual não muda. Clean-room rewrite: O claw-code se posiciona como clean-room, mas o grau de separação real é questionável. Quando os mesmos desenvolvedores que leram o source original escrevem o rewrite, provar independência é difícil. A Anthropic pode argumentar que o conhecimento arquitetural específico constitui trade secret. Na prática: A Anthropic provavelmente não vai processar contribuidores individuais — o custo reputacional seria enorme. Mas pode enviar takedown notices, especialmente se encontrar trechos de código copiados diretamente. O risco é mais para quem usa em produção em empresas, onde um claim de IP pode gerar problemas reais. Segurança de instalar: O repositório claw-code tem código aberto — você pode auditar. Mas é um projeto de 3 dias. O sandboxing é mínimo comparado ao original. Executar bash commands via um agent com permissões fracas no seu sistema é risco real. Não rode em máquinas de produção. Use containers ou VMs dedicadas. Veredito: instalar ou esperar? Depende do cenário. Instale se: Você quer experimentar, entender como coding agents funcionam por dentro, ou precisa de suporte a LLMs que não sejam Claude. Use em repos pessoais, projetos de aprendizado, sandboxes isolados. Não instale se: Você precisa de algo production-ready, trabalha em empresa com política de IP, ou espera o mesmo nível de polish do Claude Code. O claw-code tem 3 dias de vida. Trate como alpha experimental. O que eu faria: Instalar num container descartável, testar com um modelo local via Ollama, e ler o código do agent loop. Independente de usar ou não o claw-code no dia a dia, entender a arquitetura que ele revela sobre coding agents é educação técnica de primeira linha. O vazamento do Claude Code não é só uma história de IP ou de source maps mal configurados. É um snapshot de como a Anthropic pensa sobre coding agents — e de como a comunidade open-source responde quando recebe um blueprint. A velocidade da resposta diz mais sobre 2026 do que sobre o projeto em si. Repo do claw-code: github.com/claw-code/claw-code. Vai lá, lê o source, e forma sua opinião. Só não roda com sudo.
-
Diego Hartmann - 02 Apr, 2026
Hugging Face Transformers v5: release semanal e o que muda para quem desenvolve com LLMs
O transformers é provavelmente o pacote Python mais instalado em qualquer projeto de IA dos últimos três anos. E a Hugging Face acabou de lançar a v5 com uma mudança que não é técnica — é operacional: o release cycle caiu de cinco semanas para uma. O v5.0 saiu na primeira semana de abril de 2026. O v5.1 vem na semana que vem. O v5.2 na seguinte. Para um ecossistema com 13 milhões de usuários, 2 milhões de modelos públicos e 500 mil datasets, isso muda o ritmo de tudo. A pergunta que importa: isso é bom? O que mudou na v5 (além do ciclo) Antes de falar do release cycle, vale entender o que a v5 traz de concreto na API. Model definitions mais simples. A v4 acumulou anos de boilerplate. Definir um modelo customizado exigia herdar de PreTrainedModel, implementar forward(), registrar configs, e torcer para não esquecer nenhum hook. A v5 reduziu isso. A nova API de definição de modelos usa decorators e inferência de config, eliminando boa parte do código repetitivo. Exemplo rápido — carregar e rodar inference na v5: from transformers import AutoModelForCausalLM, AutoTokenizermodel = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-4-8B") tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-4-8B")inputs = tokenizer("Explique transformers v5 em uma frase:", return_tensors="pt") output = model.generate(**inputs, max_new_tokens=100) print(tokenizer.decode(output[0], skip_special_tokens=True))A interface pública não mudou radicalmente — from_pretrained continua sendo o ponto de entrada. O que mudou está por baixo: o pipeline de inicialização é mais rápido, a resolução de configs é mais previsível, e modelos novos podem ser adicionados ao hub sem esperar o próximo release do pacote. Suporte a novos modelos sem upgrade do pacote. Esse é o ponto mais relevante para o dia a dia. Na v4, quando um modelo novo aparecia (Qwen 3.5, Gemma 3, o que fosse), você precisava esperar o merge do PR no transformers, o release seguinte (5 semanas), e aí sim pip install --upgrade. Na v5, a arquitetura de model loading foi desacoplada — modelos podem ser registrados diretamente no Hub e carregados sem que o pacote precise de update. Na prática, isso significa que o from_pretrained da v5 consegue carregar modelos que foram publicados depois da sua versão instalada. Menos fricção, menos pip install desnecessário. Release semanal: por que agora A justificativa da Hugging Face é direta: inferência representa 85% do budget enterprise de IA. Treinamento é 15%. Se a maioria do dinheiro está em inference, a velocidade com que novos modelos e otimizações chegam à biblioteca importa mais do que parece. Com release de 5 semanas, um fix de performance em inference ficava preso por até um mês esperando a janela de release. Com release semanal, o fix sai na próxima terça. Para quem opera inference em escala, isso é relevante. O modelo semântico de versionamento continua: v5.x onde x incrementa toda semana. Breaking changes só em major versions. A promessa é que v5.1 → v5.2 → v5.3 são todas backward-compatible dentro da v5. Migração v4 para v5: o que quebra Testei a migração em dois projetos — um pipeline de fine-tuning com LoRA e um serviço de inference com vLLM na frente. Aqui está o que encontrei: Breaking changes confirmados:Componente v4 v5 ImpactoTrainingArguments kwargs livres Validação strict com Pydantic Scripts com args custom quebrampipeline() default device CPU Auto-detect (GPU se disponível) Testes que assumem CPU falhamTokenizer return type Dict BatchEncoding com métodos extras Code que acessa .items() direto pode quebrarDeprecated models Disponíveis com warning Removidos GPT-2, BERT-base configs legadas somemO que não quebra: AutoModel, AutoTokenizer, from_pretrained com model IDs do Hub, Trainer API básica, integração com PEFT/LoRA. O comando para testar compatibilidade antes de migrar: pip install transformers==5.0.0 --dry-run 2>&1 | grep -i conflictE para quem usa requirements pinados (como deveria): # Teste em ambiente isolado python -m venv test-v5 && source test-v5/bin/activate pip install transformers==5.0.0 python -c "from transformers import AutoModel; print('OK')" python -m pytest tests/ -x --tb=shortNa minha experiência, a migração do pipeline de fine-tuning levou 40 minutos — a maior parte ajustando TrainingArguments para o novo schema Pydantic. O serviço de inference não precisou de mudança nenhuma porque o vLLM abstrai o transformers por baixo. O elefante na sala: estabilidade vs velocidade Aqui está onde eu tenho uma opinião forte. Release semanal é ótimo para quem consome modelos novos. Se você trabalha em pesquisa, experimenta arquiteturas novas toda semana, ou precisa do modelo que saiu ontem rodando amanhã — o ciclo semanal é um presente. Mas para quem tem pipelines em produção, release semanal é um convite à instabilidade se você não tiver disciplina de versionamento. E a maioria dos times não tem. O cenário que me preocupa:Time pina transformers>=5.0 no requirements (sem upper bound) Deploy na segunda roda com v5.3 Deploy na terça roda com v5.4 (release saiu de manhã) Comportamento muda sutilmente — não quebra, mas output de inference diverge Ninguém percebe até o monitoring pegar uma regressãoA solução é simples, mas exige disciplina: # requirements.txt — SEMPRE pine a minor version transformers==5.0.0# Ou se precisa de flexibilidade controlada transformers>=5.0.0,<5.1.0E rode testes de regressão no output do modelo — não só testes unitários. Se o output do seu modelo para os mesmos inputs mudou entre versions, você precisa saber antes do deploy, não depois. Como gerenciar isso na prática Minha recomendação para times que usam transformers em produção:Pine a versão exata no requirements.txt e no Dockerfile Atualize intencionalmente — não automaticamente. Crie uma task quinzenal de "avaliar se vale subir a versão" Tenha testes de output — compare o output do modelo com uma fixture salva. Se mudou, investigue antes de mergear Separe pesquisa de produção — o time de research pode rodar bleeding edge. O serviço de inference pina e só atualiza com motivoPara quem está começando um projeto novo, a v5 é o caminho. Não faz sentido iniciar na v4 agora. A API é mais limpa, o carregamento de modelos é mais flexível, e o ecossistema vai convergir para v5 rapidamente. Veredito O Transformers v5 é uma evolução pragmática. A API simplificada e o desacoplamento de model loading são melhorias reais que reduzem fricção no dia a dia. O release semanal é a decisão mais corajosa — e a mais arriscada. Para pesquisa e experimentação, é puro upside: modelos novos chegam mais rápido, fixes saem em dias, e a barreira entre "modelo publicado no Hub" e "modelo utilizável no código" praticamente desaparece. Para produção, o release semanal é neutro — desde que você trate versionamento como infraestrutura, não como detalhe. Pine suas versões. Teste seus outputs. Atualize com intenção. A Hugging Face está apostando que a velocidade do ecossistema importa mais que a estabilidade percebida. Considerando que 85% do budget vai para inference e que modelos novos aparecem toda semana, é difícil discordar. Mas a responsabilidade de não quebrar seu pipeline agora é mais sua do que da biblioteca. pip install transformers==5.0.0. Rode seus testes. Migre com calma.
-
Diego Hartmann - 01 Apr, 2026
NVIDIA Physical AI Data Factory Blueprint: o repo open-source que muda como você gera dados de treinamento para robótica
A NVIDIA fez algo raro em 16 de março: anunciou que vai abrir no GitHub a pipeline completa de geração de dados sintéticos para Physical AI. Não é um paper. Não é um blog post com diagramas bonitos e zero código. É o blueprint inteiro — geração, augmentation, curadoria e avaliação de dados de treinamento para robôs, veículos autônomos e vision agents. O Cosmos Evaluator já está no GitHub. O repo completo está prometido para este mês. Se você trabalha com robótica, sim-to-real transfer ou qualquer coisa que precisa de dados de treinamento que não existem no mundo real, isso muda a equação. Aqui está o que você precisa saber antes de clonar. A arquitetura: quatro estágios, um pipeline O Data Factory Blueprint é uma pipeline de quatro estágios construída sobre os Cosmos foundation models. Cada estágio resolve um problema específico na cadeia de dados para Physical AI. Estágio 1 — Geração via Cosmos World Models. Os Cosmos models são world models: dados um prompt de cena (posição de objetos, iluminação, física do ambiente), eles geram sequências de vídeo sintético fisicamente plausíveis. Não estamos falando de renders estáticos. São sequências temporais com gravidade, colisões, deformações — o tipo de dado que um robô precisa para aprender a interagir com o mundo real. A NVIDIA treinou esses models em datasets massivos de vídeo real, e o output é bom o suficiente para substituir horas de captura em ambiente controlado. Na prática, o fluxo começa com uma descrição de cena no Omniverse: from cosmos_data_factory import SceneGeneratorscene = SceneGenerator( environment="warehouse", objects=["pallet", "box_cardboard", "forklift"], physics_engine="PhysX", camera_config="multi_view_4x" )# Gera 1000 sequências de 5 segundos cada dataset = scene.generate( num_sequences=1000, duration_sec=5, variations=["lighting", "object_pose", "texture"] )Cada sequência vem com ground truth automático: bounding boxes, segmentation masks, depth maps, poses 6DoF dos objetos. É o tipo de anotação que custaria centenas de horas de trabalho manual. Estágio 2 — Augmentation com domain randomization. Dados sintéticos puros sofrem de um problema conhecido: o sim-to-real gap. O modelo aprende features que existem na simulação mas não no mundo real (iluminação perfeita demais, texturas uniformes demais, ausência de sujeira). O blueprint ataca isso com domain randomization agressiva — variação sistemática de texturas, iluminação, ruído de câmera, poses de objetos e condições ambientais. O pipeline aplica augmentation em camadas: augmentation: texture_randomization: true lighting_variations: ["dawn", "noon", "overcast", "fluorescent"] camera_noise: gaussian_std: 0.02 motion_blur_prob: 0.3 object_pose_jitter: translation_cm: 2.0 rotation_deg: 15.0 background_randomization: trueA ideia é que se o modelo funciona com todas essas variações, ele vai funcionar no mundo real. Na minha experiência com sim-to-real, isso é 80% verdade — os 20% restantes você resolve com fine-tuning em dados reais limitados. Estágio 3 — Curadoria automatizada. Nem todo dado sintético é útil. Sequências onde objetos atravessam paredes, colisões fisicamente impossíveis, cenas com oclusão total — tudo isso é lixo de treinamento. O pipeline inclui um módulo de curadoria que filtra automaticamente sequências com anomalias físicas e balanceia a distribuição do dataset por cenário, iluminação e complexidade de cena. Estágio 4 — Avaliação com Cosmos Evaluator. Esse é o componente que já está no GitHub (github.com/NVIDIA/cosmos-evaluator). O Evaluator mede a qualidade dos dados gerados em três dimensões: fidelidade física (os objetos se comportam como deveriam?), diversidade (o dataset cobre variação suficiente?) e utilidade downstream (treinar com esses dados melhora performance em tarefas reais?). # Já disponível no GitHub git clone https://github.com/NVIDIA/cosmos-evaluator.git cd cosmos-evaluator pip install -e .# Avaliar um dataset gerado cosmos-eval --dataset ./my_synthetic_data \ --metrics physical_fidelity diversity downstream_utility \ --report ./eval_report.jsonO report gera scores por métrica e um breakdown por cena. Na documentação atual, physical fidelity acima de 0.85 e diversity acima de 0.70 são os thresholds recomendados antes de usar o dataset para treinamento. Quem já está usando — e para quê A NVIDIA não está lançando isso no vácuo. Quatro empresas já operam com versões internas do pipeline:FieldAI — dados sintéticos para navegação autônoma em ambientes não estruturados (canteiros de obra, áreas de desastre) Uber — geração de cenários de edge case para veículos autônomos. O tipo de situação que acontece uma vez a cada 100 mil km e que você não pode esperar capturar em dados reais Skild AI — treinamento de foundation models para controle robótico generalista. Com o valuation de US$14B e foco em robot brains, dados sintéticos em escala são a base da tese Teradyne — robótica industrial, com foco em manipulação de objetos variados em linhas de montagemO padrão é claro: empresas que precisam de volumes massivos de dados anotados para robótica e não podem (ou não querem) coletá-los exclusivamente no mundo real. Os trade-offs que a NVIDIA não vai destacar no keynote Vamos ao que importa: onde isso não funciona tão bem quanto o marketing sugere. Custo de GPU. Gerar dados sintéticos com Cosmos world models não é grátis. Cada sequência de 5 segundos em resolução 1080p exige ~4 minutos em uma A100. Para um dataset de 100 mil sequências, são ~6.700 horas de GPU. A US$1,50/hora na AWS, isso dá ~US$10K só em compute de geração. Augmentation e avaliação adicionam mais 20-30%. O custo total de um dataset robusto fica na faixa de US$12-15K. É mais barato que coleta real em muitos cenários, mas não é trivial. Sim-to-real gap não desaparece. Domain randomization ajuda, mas não resolve 100% do problema. Na minha experiência, modelos treinados exclusivamente em dados sintéticos perdem 15-25% de performance quando transferidos para o mundo real sem fine-tuning adicional. O blueprint trata dados sintéticos como complemento de dados reais, não substituto completo — e essa é a abordagem correta. Dependência do Omniverse. O estágio de geração roda sobre o NVIDIA Omniverse. É uma plataforma poderosa, mas é lock-in. Se amanhã você quiser migrar a geração para outra engine (Unity, Unreal, ou um renderer custom), o pipeline vai precisar de adaptação significativa nos estágios 1 e 2. Os estágios 3 e 4 são mais agnósticos. Qualidade vs quantidade. Existe uma tentação de gerar milhões de sequências e jogar tudo no treinamento. O paper do Cosmos Evaluator mostra que datasets curados de 50K sequências consistentemente superam datasets brutos de 500K. Mais dados não é melhor dados. Como começar a testar hoje O Cosmos Evaluator já está disponível. Para o resto do pipeline, a NVIDIA prometeu abril — o que significa que pode aparecer a qualquer momento. Enquanto o repo completo não sai, o caminho pragmático:Clone o Cosmos Evaluator e rode com um dataset existente para entender as métricas Instale o Omniverse (versão gratuita para desenvolvedores) e familiarize-se com a geração de cenas sintéticas via Replicator Monitore o repo github.com/NVIDIA/physical-ai-data-factory — a naming convention segue o padrão dos outros repos da NVIDIA# Setup básico do Evaluator git clone https://github.com/NVIDIA/cosmos-evaluator.git cd cosmos-evaluator python -m venv .venv && source .venv/bin/activate pip install -e ".[dev]"# Rodar com dataset de exemplo cosmos-eval --dataset examples/sample_warehouse \ --metrics all \ --output-format jsonVeredito O Physical AI Data Factory Blueprint é o tipo de release que importa mais do que parece no dia do anúncio. Não é um modelo novo com benchmark recorde. É infraestrutura — a parte chata e essencial que determina se Physical AI sai do demo e entra na produção. A decisão de abrir o código é estratégica: a NVIDIA quer que o ecossistema inteiro gere dados no formato Cosmos, treine no stack NVIDIA e rode em hardware NVIDIA. Open-source aqui é growth strategy, não altruísmo. Mas isso não diminui a utilidade. Se você precisa de dados de treinamento para robótica, o custo de gerar internamente caiu de "projeto de pesquisa de 6 meses" para "pipeline configurável em semanas". Clone o Evaluator. Teste as métricas com seus dados. E quando o repo completo aparecer neste mês, você já vai saber o que medir.
-
Diego Hartmann - 31 Mar, 2026
HQQ — Half-Quadratic Quantization: quantize um 70B em 5 minutos sem calibration data
O repo dropbox/hqq não tem a contagem de stars do Ollama ou do Unsloth, mas resolve um problema que todo mundo que roda LLM local enfrenta: quantização rápida sem precisar de dataset de calibração. Quantizar um Llama-2-70B com GPTQ leva horas. Com HQQ, leva menos de 5 minutos. E a qualidade é competitiva. Já testei em alguns cenários e o trade-off é real: você troca um pouco de perplexidade por uma velocidade de quantização absurda e zero dependência de dados externos. Para quem itera rápido — testando modelos novos toda semana — isso muda o workflow. O que é HQQ e como funciona HQQ significa Half-Quadratic Quantization. A ideia central vem de otimização convexa: em vez de resolver o problema de quantização de uma vez (minimizar erro de reconstrução dos pesos), o HQQ divide em dois subproblemas alternados — um que otimiza os pesos quantizados e outro que otimiza um termo auxiliar. Cada subproblema tem solução fechada, então converge rápido sem precisar de gradiente. Na prática, isso significa:Sem calibration data. GPTQ e AWQ precisam de um dataset (geralmente WikiText ou C4) para calibrar a quantização. HQQ trabalha apenas com os pesos do modelo. Isso elimina um passo que pode introduzir bias dependendo do dataset escolhido. 50x mais rápido que GPTQ. O Llama-2-70B quantiza em ~5 minutos vs horas com GPTQ. Numa A100 40GB, testei um Qwen 3.5 72B em 4-bit e levou 7 minutos. Suporta 8, 4, 3, 2 e 1-bit. A maioria dos métodos foca em 4-bit. HQQ vai até 1-bit (com perda de qualidade significativa, claro).O repo oficial está em github.com/dropbox/hqq, mantido pela Mobius Labs (adquirida pelo Dropbox). Já está integrado ao Hugging Face Transformers nativamente. Benchmark: HQQ vs GPTQ vs AWQ vs GGUF Números de perplexidade no WikiText-2 (menor = melhor). Modelo base: Llama-2-70B.Método 4-bit PPL 3-bit PPL 2-bit PPL Tempo de quantizaçãoFP16 (baseline) 3.32 — — —GPTQ 3.47 4.12 7.89 ~4hAWQ 3.44 4.08 — ~2hHQQ 3.52 4.21 5.86 ~5minGGUF (Q4_K_M) 3.49 — — ~15minEm 4-bit, HQQ fica ~0.05-0.08 de perplexidade atrás de GPTQ/AWQ. É mensurável mas irrelevante na prática para a maioria dos use cases. A diferença real é o tempo: 5 minutos vs horas. Em 2-bit, HQQ brilha. GPTQ degrada severamente (7.89), enquanto HQQ mantém 5.86. E o dado mais impressionante: um Llama-2-70B quantizado em 2-bit via HQQ tem perplexidade menor que um Llama-2-13B em FP16 — usando memória comparável. Como instalar e usar Instalação # Versão estável pip install hqq# Com backend torchao (recomendado para inference rápida) pip install hqq[torchao]# Com backend Marlin (kernels otimizados para 4-bit) pip install hqq[marlin]# Bleeding edge pip install git+https://github.com/dropbox/hqq.gitQuantização via Hugging Face Transformers A forma mais simples — já integrado no HF: from transformers import AutoModelForCausalLM, HqqConfigquant_config = HqqConfig( nbits=4, # bits por peso (8, 4, 3, 2, 1) group_size=64, # tamanho do grupo de quantização axis=1, # eixo de quantização )model = AutoModelForCausalLM.from_pretrained( "Qwen/Qwen2.5-72B-Instruct", quantization_config=quant_config, device_map="auto", )Pronto. O modelo carrega já quantizado. Sem dataset, sem etapa separada de calibração. Para inference mais rápida Depois de quantizar, troque o backend para kernels fusionados: # torchao int4 — ~158 tok/s no Llama3-8B numa 4090 from hqq.utils.patching import prepare_for_inference prepare_for_inference(model, backend="torchao")# Marlin — até ~200 tok/s na mesma config prepare_for_inference(model, backend="marlin")Na minha 4090, um Llama 4 8B quantizado em 4-bit com HQQ + backend torchao roda a 155 tokens/segundo. Com Marlin, sobe para 192. Comparável ao que se consegue com GGUF no llama.cpp. Quando usar HQQ vs alternativasCenário Melhor escolha Por quêIteração rápida, testando modelos novos HQQ 5min vs horas. Sem dataset.Deploy em produção, máxima qualidade 4-bit AWQ ou GPTQ ~0.05 PPL melhor em 4-bitRodar local no llama.cpp/Ollama GGUF Ecossistema maduro, CPU+GPUQuantização 2-bit agressiva HQQ Melhor quality/compression nesse rangeFine-tuning com LoRA pós-quantização HQQ Compatível com PEFT out-of-the-boxModelos não-LLM (vision, audio) HQQ Model-agnostic, funciona em qualquer arquiteturaO ponto fraco do HQQ: em 4-bit puro, GPTQ e AWQ ainda ganham em perplexidade se você tem tempo e dados de calibração. Se você vai deployar um modelo em produção e ele vai rodar meses sem mudar, vale investir as horas extras do GPTQ. Se você está experimentando, comparando 3 modelos diferentes na mesma tarde, HQQ é imbatível. O ângulo custo: por que quantização importa no Brasil Uma A100 40GB na AWS São Paulo custa ~US$3.50/hora. Em real, passa de R$20/hora. Um Qwen 3.5 72B em FP16 precisa de pelo menos 2x A100 80GB (~US$8/hora). Quantizado em 4-bit com HQQ, cabe numa única A100 40GB. Conta rápida: se você roda inference 8h/dia, 22 dias/mês:FP16 (2x A100 80GB): ~US$1.408/mês HQQ 4-bit (1x A100 40GB): ~US$616/mêsSão ~US$800/mês de diferença. Em real, R$4.400. Por modelo. Por mês. Quantização não é otimização — é survival skill. Limitações reais Perplexidade em 4-bit. HQQ perde ~0.05-0.08 para GPTQ/AWQ. Para a maioria dos use cases isso não importa, mas se você está servindo um modelo para milhões de queries e cada fração de qualidade conta, a diferença existe. Ecossistema de inference. llama.cpp e Ollama usam GGUF. vLLM suporta GPTQ e AWQ nativamente. HQQ funciona melhor no ecossistema Hugging Face / PyTorch. Se seu stack de serving é vLLM, a integração com HQQ é possível mas não tão polida. 1-bit e 2-bit. HQQ suporta, mas a qualidade em 1-bit é ruim para uso prático. 2-bit é usável para modelos grandes (70B+), mas não para modelos menores onde cada bit conta mais. Veredito HQQ resolve um problema real de forma elegante: quantização rápida, sem dados, com qualidade competitiva. Não é o melhor em tudo — GPTQ/AWQ ganham em 4-bit puro, GGUF tem ecossistema maior. Mas para quem itera rápido, testa modelos toda semana e precisa de resultados em minutos, é a melhor opção disponível. O repo: github.com/dropbox/hqq. Docs no HF: huggingface.co/docs/transformers/quantization/hqq. Instala com pip install hqq, quantiza em 5 minutos, mede no seu use case. Se for melhor que o que você usa hoje, migra. Se não for, pelo menos você gastou 5 minutos testando, não 5 horas.
-
Diego Hartmann - 28 Mar, 2026
OpenAI comprou o Astral — o que acontece com uv, Ruff e ty?
Na quarta-feira passada, 19 de março, a OpenAI anunciou a aquisição do Astral. Se o nome não te diz nada, as ferramentas dizem: uv, Ruff e ty. Ou seja — o package manager que substituiu pip+poetry no meu workflow, o linter que matou flake8+isort na minha CI e o type checker que está sendo construído para competir com mypy. Tudo isso agora pertence à OpenAI. Eu uso uv e Ruff diariamente. Em todo projeto. Em toda CI. Quando vi a notícia, minha reação foi a mesma de meio milhão de devs Python: "e agora?" O que a OpenAI comprou O Astral criou três ferramentas que viraram infraestrutura do ecossistema Python moderno:uv — Package manager e project manager em Rust. Substituição drop-in para pip, pip-tools, poetry e virtualenv. Ordens de magnitude mais rápido. Ruff — Linter e formatter em Rust. Implementa regras de flake8, isort, pyupgrade e mais. 10-100x mais rápido que as alternativas em Python. ty — Type checker em Rust. Ainda em desenvolvimento, mas já promete ser uma alternativa séria ao mypy.Essas ferramentas são usadas por milhões de desenvolvedores Python. Não é exagero — é o novo default. Se você criou um projeto Python nos últimos 12 meses, provavelmente tem pelo menos Ruff no seu pyproject.toml. O que a OpenAI diz O comunicado oficial promete:Manter todos os projetos open-source Continuar o desenvolvimento com a mesma equipe Integrar o time do Astral com o Codex — o braço de coding da OpenAIA integração com Codex é a parte que importa. A tese é clara: a OpenAI quer que seu AI coding assistant entenda profundamente o ecossistema Python. Quem melhor para isso do que o time que construiu as ferramentas de tooling mais rápidas do ecossistema? O que a história ensina Toda vez que big tech compra um projeto open-source, a promessa é a mesma: "vamos manter aberto, vamos investir mais, a comunidade só ganha." A prática costuma ser diferente. Casos recentes:Projeto Comprador/Evento Promessa O que aconteceuRedis Redis Labs → Redis Inc "Sempre open-source" Mudou de BSD para RSALv2 + SSPL em 2024Terraform HashiCorp "Open-source core" Mudou de MPL para BSL em 2023Docker Mirantis (partes) Continuidade Docker Desktop virou pago para empresasMySQL Sun → Oracle Manter GPL Fork MariaDB nasceu por desconfiançaA OpenAI não precisa mudar a licença amanhã para causar dano. Basta priorizar features que servem ao Codex sobre features que a comunidade precisa. Basta reduzir a cadência de releases. Basta deixar PRs da comunidade apodrecendo no backlog. Simon Willison escreveu uma análise detalhada que vale a leitura completa. O ponto central dele: a OpenAI tem um histórico de promessas sobre "openness" que não se sustentaram. O próprio nome da empresa é uma ironia a essa altura. O padrão de aquisições da OpenAI Astral não é um caso isolado. A OpenAI também adquiriu recentemente:Promptfoo — ferramenta open-source de security testing para AI, sendo integrada ao OpenAI Frontier Windsurf — editor de código (competidor do Cursor), comprado antes do AstralNo total: 17 aquisições em 3 anos, 6 só em 2026. A OpenAI está comprando a stack de desenvolvimento de AI de ponta a ponta: editor (Windsurf), toolchain Python (Astral), segurança (Promptfoo), modelos (Codex). Quando uma empresa compra a ferramenta que você usa para escrever código, a ferramenta que você usa para testar código E a ferramenta que você usa para gerenciar dependências — isso não é diversificação. É verticalização. O que muda na prática (hoje) Resposta honesta: nada, por enquanto. As ferramentas continuam open-source, as licenças não mudaram, os repos estão ativos. Ruff v0.9.x está saindo normalmente. O uv recebeu update essa semana. O que você deve fazer agora: # Verificar suas versões atuais uv --version ruff --version# Continuar usando normalmente # Não troque tooling por paranoiaNão entre em pânico. Não migre de volta para pip+flake8 por medo. Mas faça algo que todo engenheiro deveria fazer de qualquer forma: mapeie alternativas. Alternativas para monitorar Se um dia a licença mudar ou o desenvolvimento desacelerar:Ferramenta Astral Alternativa Statusuv pdm, hatch, pip-tools Ativos, mas significativamente mais lentosRuff flake8 + isort + black Funcionais, mais lentos, mais configty mypy, pyright Maduros e mantidos por Python e Microsoft respectivamenteA realidade inconveniente: uv e Ruff são tão superiores às alternativas que a comunidade criou uma dependência difícil de reverter. Esse é exatamente o tipo de cenário que torna aquisições como essa preocupantes. A licença como canário na mina O indicador número um para monitorar é a licença. Ruff e uv são MIT License hoje. Se um dia aparecer um commit mudando para BSL, SSPL ou qualquer variante "source-available-mas-não-open-source", é hora de forkar. Outros sinais de alerta:CLA (Contributor License Agreement) mais restritivo que o atual PRs da comunidade com tempo de review crescente Features exclusivas para integração com Codex/OpenAI que não beneficiam o uso standalone Redução de releases sem explicação técnicaConfigure um watch nos repos e monitore changelogs: # Watch nos repos relevantes # github.com/astral-sh/uv # github.com/astral-sh/ruff # github.com/astral-sh/ty# RSS dos releases # https://github.com/astral-sh/ruff/releases.atom # https://github.com/astral-sh/uv/releases.atomO que a JetBrains pensa Detalhe relevante: a JetBrains, no blog do PyCharm, publicou análise sobre a aquisição. O tom foi diplomático mas a mensagem nas entrelinhas era clara — eles estão preparando integração nativa com Ruff e uv no PyCharm independente de qualquer mudança que a OpenAI faça. Ou seja: até as IDEs estão se protegendo. Veredito Eu vou continuar usando uv e Ruff amanhã. São as melhores ferramentas para o job e não existe alternativa equivalente hoje. Mas vou fazer isso com um olho nos changelogs e outro nas licenças. A OpenAI prometeu manter tudo aberto. Talvez cumpra. Mas na minha experiência, quando uma empresa de $300 bilhões compra uma ferramenta de developer tooling, não é porque ama open-source — é porque a ferramenta serve à estratégia de produto. E quando a estratégia mudar, o compromisso com "open" muda junto. Ceticismo não é paranoia. É engenharia de risco. O melhor que a comunidade Python pode fazer agora é o que sempre fez: manter forks viáveis, contribuir com os projetos enquanto são abertos e não colocar todos os ovos na mesma cesta. A história já mostrou o roteiro — só não sabemos em qual ato estamos.
-
Diego Hartmann - 10 Mar, 2026
LangGraph vs CrewAI vs OpenAI Agents SDK: o guia técnico para escolher seu framework de agentes em 2026
Três frameworks, um problema: você precisa colocar um agente de IA em produção e não sabe qual stack escolher. Eu construí o mesmo agente — pesquisa web, análise de resultados, geração de relatório — em LangGraph, CrewAI e OpenAI Agents SDK. Esse post é o resultado. Não é review de documentação. É código rodando, com números. O cenário do teste O agente é simples de propósito. Três etapas:Pesquisa web — recebe um tema, busca fontes relevantes Análise — filtra e ranqueia os resultados por relevância Relatório — gera um resumo estruturado com citaçõesSe um framework não consegue fazer isso bem, não merece estar na conversa. Se consegue, a pergunta passa a ser: com quantas linhas de código, quanto tempo de setup e quão fácil é debugar quando algo quebra às 2h da manhã. LangGraph: controle total, complexidade proporcional Repo: github.com/langchain-ai/langgraph — 27.100 buscas mensais no Google, o que mostra que muita gente está pelo menos curiosa. LangGraph modela o agente como um grafo direcionado com estado. Cada nó é uma função, cada aresta é uma transição condicional. Você define explicitamente o fluxo: qual nó executa depois de qual, sob quais condições, com qual estado compartilhado. Para o nosso agente de três etapas, o código ficou assim (simplificado): from langgraph.graph import StateGraph, ENDgraph = StateGraph(AgentState) graph.add_node("search", search_web) graph.add_node("analyze", analyze_results) graph.add_node("report", generate_report) graph.add_edge("search", "analyze") graph.add_edge("analyze", "report") graph.add_edge("report", END)app = graph.compile(checkpointer=MemorySaver())O resultado: ~120 linhas para o agente completo com estado, checkpointing e retry. O StateGraph te dá controle absoluto sobre o fluxo — você sabe exatamente o que vai executar e quando. O checkpointer salva estado entre etapas, o que significa que se a etapa de análise falhar, você retoma dali sem reprocessar a pesquisa. Onde brilha: workflows complexos com branching condicional, loops de feedback e estado persistente. Se o seu agente precisa decidir entre cinco caminhos possíveis baseado no output da etapa anterior, LangGraph é onde você quer estar. Onde dói: a curva de aprendizado. Modelar tudo como grafo é poderoso, mas verboso. Para um agente linear de três etapas, parece overengineering. E o ecossistema LangChain como dependência transitiva ainda carrega bagagem — eu gastei mais tempo resolvendo imports do que escrevendo lógica de negócio. CrewAI: multi-agente role-based, prototipagem rápida Repo: github.com/crewAIInc/crewAI — 44.600 stars no GitHub, v1.10.1 em março de 2026. CrewAI pensa diferente. Em vez de nós num grafo, você define agentes com papéis e tarefas. O framework cuida da orquestração. Para o nosso caso: from crewai import Agent, Task, Crewresearcher = Agent( role="Pesquisador Web", goal="Encontrar fontes relevantes sobre o tema", tools=[SerperTool()], llm="gpt-4o" )analyst = Agent( role="Analista de Conteúdo", goal="Filtrar e ranquear resultados por relevância", llm="gpt-4o" )writer = Agent( role="Redator de Relatórios", goal="Gerar relatório estruturado com citações", llm="gpt-4o" )crew = Crew( agents=[researcher, analyst, writer], tasks=[search_task, analyze_task, report_task], process=Process.sequential )result = crew.kickoff(inputs={"topic": "AI agents 2026"})~75 linhas para o agente completo. Cerca de 40% menos código que o LangGraph para o mesmo resultado. E o tempo de prototipagem caiu proporcionalmente — do pip install ao primeiro output funcional, foram 22 minutos contra 38 no LangGraph. O grande diferencial em 2026: suporte nativo a MCP (Model Context Protocol) e A2A (Agent-to-Agent). O CrewAI v1.10 trata MCP como cidadão de primeira classe. Conectar um servidor MCP é uma linha de config, não um wrapper custom. E o protocolo A2A permite que crews diferentes se comuniquem entre si — o que abre a porta para arquiteturas multi-equipe que eram impraticáveis há seis meses. Onde brilha: prototipagem. Se você precisa validar uma ideia de agente multi-step com stakeholders na terça, CrewAI é a resposta. A abstração role-based é intuitiva para times que pensam em termos de "quem faz o quê" em vez de "qual nó conecta com qual". Onde dói: controle fino. Quando o agente precisa tomar decisões complexas de roteamento, a abstração role-based começa a vazar. Eu precisei de um hack para implementar retry condicional na etapa de análise — algo que no LangGraph seria uma aresta no grafo. E o debugging de interações entre agentes ainda é opaco: quando o analista recebe lixo do pesquisador, o stack trace não ajuda muito. OpenAI Agents SDK: o novo na área Repo: github.com/openai/openai-agents-python — lançado em 2026, lightweight e opinionated. O Agents SDK da OpenAI é o mais recente dos três e não tenta esconder sua proposta: se você já usa modelos OpenAI, esse é o caminho de menor fricção. from openai_agents import Agent, Runnersearch_agent = Agent( name="researcher", instructions="Pesquise fontes relevantes sobre o tema dado.", tools=[web_search_tool], model="gpt-4o" )analysis_agent = Agent( name="analyst", instructions="Analise e ranqueie os resultados por relevância.", model="gpt-4o" )report_agent = Agent( name="writer", instructions="Gere relatório estruturado com citações.", model="gpt-4o" )result = Runner.run( search_agent, handoffs=[analysis_agent, report_agent], input="AI agents 2026" )~60 linhas. O mais enxuto dos três. O conceito de handoffs entre agentes é elegante — cada agente decide quando passar a bola para o próximo, e o Runner gerencia o ciclo de vida. Onde brilha: simplicidade e integração nativa com a API da OpenAI. Tracing vem embutido. O guardrail system é nativo. Se sua stack já é OpenAI de ponta a ponta, a integração é quase zero-config. Onde dói: lock-in. O SDK assume modelos OpenAI. Usar Claude ou Gemini exige adaptadores que não são oficiais. E para workflows complexos com estado persistente, o modelo de handoffs é limitado — não tem checkpointing nativo, não tem branching condicional explícito. É opinado no bom sentido quando seu caso é simples, e no mau sentido quando não é. A tabela que importaCritério LangGraph CrewAI OpenAI Agents SDKLinhas de código (agente de 3 etapas) ~120 ~75 ~60Tempo até primeiro output 38 min 22 min 18 minControle de fluxo Granular (grafo explícito) Médio (process types) Básico (handoffs)Estado persistente Nativo (checkpointer) Via memória de crew Não nativoSuporte a MCP Via integração manual Nativo (v1.10+) ParcialSuporte a A2A Não nativo Nativo Não nativoDebugging Bom (LangSmith) Médio (logs verbosos) Bom (tracing embutido)Observabilidade LangSmith/LangFuse Integrações terceiras Dashboard OpenAIVendor lock-in Baixo Baixo Alto (OpenAI models)GitHub Stars ~18K ~44.6K ~8KCurva de aprendizado Alta Média BaixaPydantic AI e AgentOps: o que mais importa Menção rápida a dois pontos que vão influenciar sua decisão. Pydantic AI (github.com/pydantic/pydantic-ai) não é um framework de agentes — é uma camada type-safe e async-first para interações com LLMs. Eu uso como building block dentro de agentes LangGraph: o grafo cuida do fluxo, Pydantic AI cuida do contrato de dados. Se você quer controle total do schema, vale o combo. AgentOps é a disciplina que ninguém pensa no protótipo e todo mundo precisa em produção. Como monitoro decisões de agentes? Como debugo fluxos multi-step? Ferramentas como LangFuse, AgentOps.ai e Arize Phoenix estão preenchendo o gap. Minha recomendação: escolha a ferramenta de observabilidade antes de escolher o framework. MCP e A2A estão acelerando isso. MCP padroniza como agentes acessam contexto externo. A2A padroniza como agentes conversam entre si. Ambos são agnósticos de framework — e quem adota primeiro (CrewAI, no momento) ganha vantagem prática. Minha recomendação por caso de uso "Preciso de controle total sobre um workflow complexo com estado." LangGraph. Sem hesitar. Se o seu agente tem branching, loops, retry condicional e precisa de checkpointing, é a ferramenta certa. Paga-se o custo da complexidade com previsibilidade. "Preciso prototipar rápido e validar com stakeholders." CrewAI. O tempo de prototipagem 40% menor é real. A abstração role-based comunica bem para não-técnicos. E com MCP/A2A nativos, o protótipo tem mais chance de sobreviver à produção. "Minha stack é 100% OpenAI e o caso é relativamente simples." OpenAI Agents SDK. Menor fricção, menor boilerplate, tracing embutido. Mas saiba que está comprando lock-in junto. "Quero type-safety e controle total do schema." Pydantic AI, possivelmente combinado com LangGraph para orquestração. Limitações desse comparativo O agente do teste é simples de propósito — três etapas lineares. Em workflows com 10+ nós e branching dinâmico, as diferenças se amplificam a favor do LangGraph. O OpenAI Agents SDK é novo demais para ter battle-testing em produção pesada. E "linhas de código" é uma métrica imperfeita, mas para engenheiros avaliando tempo de implementação, é um proxy útil. Veredito Não existe framework perfeito — existe framework certo para o problema. Em março de 2026, o ecossistema de agentes está fragmentado da melhor forma possível: frameworks especializados para casos especializados. A pior decisão é ficar parado avaliando. A segunda pior é escolher por hype. Clone o repo. Rode o agente. Meça. Decida.