Tag: open-source

  • Nous Research Lança Modo Blank Slate no Hermes Agent: Agente Mínimo com Controle Total

    Nous Research Lança Modo Blank Slate no Hermes Agent: Agente Mínimo com Controle Total

    A Nous Research acaba de lançar um novo modo de configuração para o Hermes Agent, seu framework open-source de agentes de IA auto-melhoráveis. Chamado de Blank Slate (“tela em branco”), o modo inverte a lógica tradicional de onboarding: em vez de um agente completamente carregado com todas as funcionalidades ativas, você começa com quase nada — e habilita apenas o que realmente precisa.

    O que é o Blank Slate

    Em uma instalação limpa, o comando hermes setup agora oferece três modos de configuração:

    • Quick Setup: usa o portal da Nous com login OAuth gratuito, sem necessidade de chaves API. É o caminho mais rápido e recomendado para iniciantes.
    • Full Setup: você percorre cada provedor, ferramenta e opção manualmente, fornecendo suas próprias chaves. Controle total.
    • Blank Slate (novo): o caminho mínimo. Apenas três componentes vêm ativados por padrão: provedor e modelo, File Operations (operações de arquivo) e Terminal. Todo o resto fica desabilitado.

    Tudo que começa desligado no Blank Slate: web, navegador, execução de código, visão computacional, memória, delegação, cron jobs, skills, plugins e servidores MCP. Compressão, checkpoints, roteamento inteligente e captura de memória também ficam fora.

    Por que o formato de configuração importa

    O Blank Slate não apenas alterna funcionalidades em tempo de execução — ele grava a decisão em disco. O modo escreve uma lista explícita em platform_toolsets.cli e outra em agent.disabled_toolsets. Juntas, essas duas chaves fixam a superfície do agente de forma permanente.

    O efeito é durável: nada que você deixou de fora será carregado depois, nem mesmo após um hermes update. Uma atualização não pode reativar silenciosamente um toolset que você desligou.

    A separação de responsabilidades também é clara: tokens e segredos ficam em ~/.hermes/.env, enquanto configurações não sensíveis vão para ~/.hermes/config.yaml. O CLI roteia cada valor para o arquivo correto.

    Casos de uso ideais

    Três cenários se beneficiam do Blank Slate:

    1. Ambientes de segurança restrita: quando você quer um agente sem acesso à web e sem navegador. O Blank Slate entrega apenas arquivos e terminal. Nada alcança a rede a menos que você adicione explicitamente.

    2. Times com configuração reprodutível: você fixa um toolset conhecido em todas as máquinas da equipe. Atualizações não introduzem surpresas — a superfície é idêntica em qualquer lugar.

    3. Desenvolvedores que constroem do zero: se você quer entender exatamente o que cada componente faz antes de ativá-lo, o Blank Slate é o ponto de partida ideal. Habilite skills, plugins e MCP à medida que cada necessidade surgir.

    Comparação entre os modos

    Modo Padrão ativo Autenticação Ideal para
    Quick Setup (Portal Nous) Modelo + Tool Gateway OAuth gratuito, sem API keys Primeira execução mais rápida
    Full Setup Todas as ferramentas (escolha manual) Suas próprias chaves Controle total e personalizado
    Blank Slate Provider, File Ops, Terminal Apenas auth do provider Segurança, minimalismo, reprodutibilidade

    Disponibilidade

    O Blank Slate está disponível agora no Hermes Agent. Para usar, execute hermes setup em uma instalação limpa e selecione a terceira opção. Se você já tem um agente rodando com Quick ou Full Setup, pode reconfigurar com hermes setup agent para ajustar toolkits individuais.

    A Nous Research continua expandindo o Hermes Agent como uma alternativa open-source robusta no ecossistema de agentes de IA — agora com ainda mais controle nas mãos do desenvolvedor.

  • Yandex Lança YaFF: Formato Wire Zero-Copy para Protobuf com Leitura 22× Mais Rápida

    Yandex Lança YaFF: Formato Wire Zero-Copy para Protobuf com Leitura 22× Mais Rápida

    Yandex YaFF

    A Yandex acaba de abrir o código do YaFF (Yet another Flat Format), um formato wire zero-copy para o ecossistema Protobuf. Com licença Apache 2.0 e implementação inicial em C++ (v0.1.0), o YaFF promete leituras até 22× mais rápidas que o Protobuf tradicional e 3,8× mais rápidas que o FlatBuffers.

    O problema que o YaFF resolve

    Em backends de alta carga, o parsing de Protobuf pode consumir dois dígitos percentuais de CPU — o que, em escala, se traduz em milhares de núcleos físicos. A alternativa zero-copy mais comum é o FlatBuffers (também do Google), mas ele não é um substituto direto para Protobuf: exige manutenção de um schema separado e uma camada de conversão adicional.

    O YaFF ataca exatamente essa lacuna: leituras zero-copy preservando a semântica do Protobuf. O arquivo .proto continua sendo a fonte única da verdade — o formato muda apenas como os dados são organizados na memória.

    Como funcionam os layouts

    O YaFF oferece quatro layouts que determinam como a mensagem é armazenada no buffer:

    • Fixed: struct empacotada simples, sem header e schema congelado. Ideal para primitivas pequenas inline.
    • Flat: adiciona um header de 2 bytes e suporta evolução de schema. Melhor para dados densos em caminhos quentes.
    • Sparse: acessa campos via tabela de metadados (6 bytes de overhead), adequado para schemas esparsos com evolução livre.
    • Dynamic (padrão): seleciona Flat ou Sparse em tempo de execução, usando Flat enquanto o schema permitir.

    Benchmarks impressionantes

    A Yandex publicou benchmarks reproduzíveis em um AMD EPYC 7713 com Clang 20.1.8. Os números mostram nanossegundos medianos por leitura:

    Formato Tempo de leitura (ns) Lentidão vs struct C++
    Struct C++ pura 8,14 1,0×
    YaFF Flat Layout 9,79 1,2×
    YaFF Sparse Layout 21,23 2,6×
    FlatBuffers 37,30 4,6×
    Protobuf 219,35 26,9×

    O YaFF Flat Layout fica a apenas 1,2× da struct C++ pura — um feito notável para um formato que mantém compatibilidade com Protobuf.

    Caso de uso real: economia de 10-20% de CPU

    O YaFF já roda no sistema de recomendação de anúncios da Yandex, onde reporta economia de 10 a 20% de CPU em escala de produção. A adoção é incremental: basta introduzi-lo em um caminho quente, mantendo a conversão bidirecional com Protobuf nas bordas.

    O código em ação

    #include "feed.pb.h"   // gerado pelo protoc
    #include "feed.yaff.h"  // gerado pelo yaff_generate()
    
    // 1. Serializa uma mensagem Protobuf existente para buffer YaFF
    feed::FeedResponse proto = LoadFeedResponse();
    const auto buffer = yaff::Serialize<protoyaff::feed::FeedResponse>(proto);
    
    // 2. Lê campos diretamente do buffer — sem parsing
    const auto& response = yaff::ReadMessage<protoyaff::feed::FeedResponse>(buffer.Data());
    for (const auto& item : response.items()) {
        std::string_view title = item.title();
        std::string_view author = item.author().name();
    }
    
    // 3. Converte de volta para Protobuf quando necessário
    feed::FeedResponse restored;
    response.ParseTo(restored);
    

    Disponibilidade

    O YaFF está disponível no GitHub com documentação completa em yaff.tech. A integração é feita via CMake (find_package) ou Conan. A geração de código utiliza protobuf_generate() seguido de yaff_generate(), com os tipos gerados no namespace protoyaff::<package>.


    Fonte: MarkTechPost | Repositório: GitHub

  • NVIDIA Apresenta SpatialClaw: Agente de IA Que Usa Código Como Interface para Raciocínio Espacial

    NVIDIA Apresenta SpatialClaw: Agente de IA Que Usa Código Como Interface para Raciocínio Espacial

    Capa: NVIDIA SpatialClaw

    A NVIDIA Research acaba de lançar o SpatialClaw, um framework “training-free” (sem necessidade de treinamento) para raciocínio espacial. O sistema ataca uma fraqueza persistente nos modelos de visão-linguagem (VLMs): a dificuldade em julgar onde objetos estão posicionados, como se relacionam e como se movem em 3D.

    A grande sacada do SpatialClaw é que ele não retreina o modelo. Em vez disso, muda a interface de ação que o agente usa para invocar ferramentas de percepção. A equipe de pesquisa argumenta que a interface é o gargalo, e a solução é tratar código como a interface de ação.

    Os números impressionam: em 20 benchmarks, o SpatialClaw atinge 59,9% de precisão média, superando o agente espacial SpaceTools em 11,2 pontos percentuais.

    O que é o SpatialClaw

    O SpatialClaw é um loop de agente envolvendo um kernel Python com estado. O kernel é pré-carregado com frames de entrada e um conjunto de primitivas. As ferramentas de percepção são funções Python comuns — suas saídas (máscaras, mapas de profundidade, geometria de câmera e trajetórias) são variáveis Python normais.

    O kernel expõe seis pontos de entrada públicos:

    • InputImages: armazena os frames amostrados
    • Metadata: contém frame rate, duração e índices dos frames
    • tools: expõe primitivas de percepção e geometria
    • show(): incorpora uma imagem no próximo contexto do agente
    • vlm: despacha consultas para uma sessão VLM separada
    • ReturnAnswer(): submete a resposta final

    Duas ferramentas de percepção são centrais. A tools.Reconstruct utiliza Depth Anything 3 e retorna profundidade por frame, intrínsecos e extrínsecos da câmera, e mapas de pontos densos. A tools.SAM3 utiliza SAM 3 e produz máscaras de imagem ou vídeo a partir de prompts de texto, ponto ou caixa delimitadora.

    O framework é totalmente training-free — o mesmo prompt de sistema, conjunto de ferramentas e hiperparâmetros funcionam em todos os benchmarks e backbones.

    Por que a Interface de Ação Importa

    A equipe estudou três interfaces de ação na mesma pergunta: medir a distância mais próxima entre um aquecedor e uma porta.

    • Single-pass code: escreve um programa completo e executa uma vez. Assume uma estratégia antes de ver qualquer máscara ou mapa de profundidade. Um erro de suposição se propaga direto para a resposta.

    • Structured tool-call: invoca ferramentas nomeadas via schema JSON fixo. Não consegue combinar livremente outputs com NumPy ou SciPy para cálculos em tempo de teste. O resultado é incorreto.

    • SpatialClaw: compõe ferramentas em código, inspeciona resultados, e então revisa. Primeiro calcula uma distância de centroide, depois percebe que o centroide usa mediana. O agente troca para scipy.spatial.KDTree e encontra o ponto mais próximo real: 0,9439 m contra um ground truth de 0,9 m.

    Benchmark e Resultados

    O SpatialClaw foi testado em 20 benchmarks distribuídos em cinco categorias: single-image, multi-view, general, video/4D, e compreensão geral de vídeo. Ele melhora sobre o baseline sem ferramentas em todos os seis backbones testados — variando de 26B a 397B parâmetros nas famílias Qwen3.5/3.6 e Gemma4.

    Comparação controlada isolando a interface (backbone Gemma4-31B):

    Interface de Ação Média (20 bench.) Δ vs no-tool
    No-tool baseline 53,4 —
    Single-pass code 55,2 +1,8
    Structured tool-call 56,7 +3,3
    SpatialClaw (code as action) 59,9 +6,5

    Os ganhos mais expressivos estão em tarefas dinâmicas. No Gemma4-31B, o DSI-Bench subiu +17,6 pontos e o MindCube subiu +15,3 pontos — categorias que exigem computação geométrica encadeada entre frames e pontos de vista.

    Por que Isso Importa

    O SpatialClaw mostra que a interface de ação é tão importante quanto o modelo em si. Ao tratar código como a linguagem de ação do agente, a NVIDIA conseguiu ganhos substanciais sem nenhum fine-tuning. Isso abre caminho para agentes de IA mais capazes em tarefas que exigem raciocínio espacial — de robótica a navegação autônoma e AR/VR.

    O código e o paper estão disponíveis no site oficial do projeto.

  • MiniMax lança MSA: atenção esparsa treinada em modelo de 109B parâmetros com 3 trilhões de tokens

    MiniMax lança MSA: atenção esparsa treinada em modelo de 109B parâmetros com 3 trilhões de tokens

    MiniMax Sparse Attention (MSA)

    A MiniMax acaba de lançar o MSA (MiniMax Sparse Attention), um novo mecanismo de atenção esparsa que resolve um dos gargalos mais caros dos modelos de linguagem modernos: o custo quadrático da atenção softmax em contexto longo.

    Testado dentro de um modelo Mixture-of-Experts de 109 bilhões de parâmetros treinado com dados multimodais nativos e um orçamento de 3 trilhões de tokens, o MSA consegue reduzir o custo computacional por token em 28,4× em contextos de 1 milhão de tokens. Em hardware real (NVIDIA H800), os ganhos chegam a 14,2× no prefill e 7,6× na decodificação.

    Como funciona o MSA

    O MSA divide a atenção em dois ramos:

    • Index Branch (Ramo de Indexação): decide quais blocos de chave-valor cada query deve ler. A seleção é feita em granularidade de bloco (128 tokens por bloco), e cada query mantém até 16 blocos — um orçamento fixo de 2.048 tokens de contexto, independentemente do tamanho total da entrada.

    • Main Branch (Ramo Principal): executa a atenção softmax exata apenas sobre os blocos selecionados pelo Index Branch. Como o orçamento é fixo, o custo não cresce com o contexto.

    A seleção é compartilhada dentro de cada grupo GQA (Grouped Query Attention), mas independente entre grupos diferentes. Isso significa que diferentes grupos podem atender a regiões distintas de longo alcance — uma flexibilidade que métodos anteriores não ofereciam.

    Treinamento com KL Divergence

    O maior desafio técnico é que a seleção Top-k não é diferenciável, então o gradiente da perda de linguagem não consegue treinar o Index Branch. A equipe da MiniMax resolveu isso com uma perda de alinhamento KL: o Index Branch aprende a imitar a distribuição de atenção do Main Branch, como um aluno aprendendo com um professor.

    Três mecanismos estabilizam o treinamento esparso:
    1. Gradient Detach: o gradiente da perda KL não se propaga para o backbone do modelo, apenas para as projeções do indexador.
    2. Indexer Warmup: nas primeiras iterações (40B tokens), ambos os ramos rodam atenção completa. O indexador aprende com a perda KL antes de começar a rotear de fato.
    3. Local Block Forçado: um slot é sempre reservado para o bloco local da query, garantindo que o contexto imediato nunca seja descartado.

    Resultados competitivos com atenção completa

    Nos benchmarks, o MSA se mantém competitivo com o baseline de atenção completa:

    Benchmark Full Attention MSA-PT MSA-CPT
    MMLU 67,0 67,2 66,8
    GSM8K 76,2 77,7 73,7
    HumanEval 61,0 64,0 57,9
    RULER-8K 79,8 84,2 77,2
    RULER-32K 75,0 77,5 75,7

    O modelo suporta duas rotas de treinamento: MSA-PT (pré-treinamento do zero com warmup de 40B tokens) e MSA-CPT (conversão de um checkpoint denso de 2,6T tokens com mais 400B tokens de treino).

    Kernel open source e MiniMax-M3

    A MiniMax liberou o kernel de inferência sob licença MIT no repositório fmha_sm100, com suporte a BF16, FP8, NVFP4 e FP4. O kernel é otimizado para GPUs NVIDIA SM100, mas a arquitetura de dois ramos é genérica e pode ser adaptada para outras plataformas.

    O MSA já está em produção no MiniMax-M3, o modelo multimodal mais recente da empresa, e foi otimizado para casos de uso que exigem contexto extremamente longo:

    • Agentes de longa duração: centenas de etapas de raciocínio e ação acumulam transcrições enormes.
    • Raciocínio sobre repositórios de código: um agente que carrega um repositório inteiro pode exceder centenas de milhares de tokens.
    • Memória persistente: assistentes que mantêm estado conversacional crescente.
    • Compreensão de vídeos longos: o modelo é nativamente multimodal e obteve as melhores pontuações em benchmarks como VideoMME.

    Por que isso importa

    A atenção esparsa não é uma ideia nova — DeepSeek (NSA), Microsoft (InfLLM-V2), MoBA e MiniMax (Lightning Indexer) já exploraram o conceito. Mas o MSA se destaca por três fatores:

    1. Granularidade de bloco por grupo GQA: cada grupo tem sua própria seleção, mantendo leituras KV contíguas e permitindo especialização.
    2. Co-design algoritmo-kernel: o kernel exp-free Top-k é 5,1× mais rápido que torch.topk em contexto de 128K.
    3. Código aberto e pronto para produção: kernel MIT, modelo em produção, treino documentado com orçamento de 3T tokens.

    O paper completo está disponível no arXiv e o código no GitHub da MiniMax.


    Para desenvolvedores e pesquisadores que trabalham com contextos longos, o MSA representa um avanço significativo: prova que é possível treinar atenção esparsa nativamente, mantendo qualidade competitiva com atenção densa, sem os truques de pós-treino que muitas vezes degradam a performance em tarefas de raciocínio longo.

  • Google Cloud Lança Open Knowledge Format (OKF): O Novo Padrão para Conhecimento de Agentes de IA

    Google Cloud Lança Open Knowledge Format (OKF): O Novo Padrão para Conhecimento de Agentes de IA

    Google Cloud Lança Open Knowledge Format (OKF): O Novo Padrão para Conhecimento de Agentes de IA

    O Google Cloud acaba de formalizar uma ideia que vinha ganhando força na comunidade de IA: a necessidade de um formato padronizado para que agentes de IA possam ler, escrever e compartilhar conhecimento organizacional. Nascia assim o Open Knowledge Format (OKF), anunciado em 12 de junho de 2026 por Sam McVeety e Amir Hormati, líderes técnicos do Google Cloud.

    O OKF não é um serviço, plataforma ou runtime. É uma especificação aberta e neutra que transforma o conhecimento institucional em algo trivial: uma pasta de arquivos Markdown com frontmatter YAML. Sem SDK proprietário, sem vendor lock-in, sem banco de dados. Se você consegue fazer cat em um arquivo, você já sabe ler OKF.

    O Problema que o OKF Resolve

    Hoje, quando uma empresa quer construir um agente de IA que entenda seus dados internos — esquemas de banco, definições de métricas, runbooks de incidentes, caminhos de joins entre tabelas — o conhecimento está fragmentado em silos incompatíveis:

    • Catálogos de metadados com APIs proprietárias
    • Wikis corporativas
    • Comentários em código e docstrings
    • Documentos em drives compartilhados
    • A cabeça de alguns engenheiros seniores

    Cada time reconstrói do zero a mesma lógica de montagem de contexto. Cada vendor reinventa os mesmos modelos de dados. E o conhecimento fica preso na ferramenta que o criou.

    A Inspiração: O “LLM Wiki” do Karpathy

    A ideia não surgiu do vácuo. Em abril de 2026, Andrej Karpathy publicou um gist que viralizou com mais de 5.000 estrelas, descrevendo o conceito de uma “wiki mantida por LLMs”. A premissa: LLMs não ficam entediados, não esquecem de atualizar referências cruzadas e podem editar 15 arquivos em uma única passada.

    O OKF pega esse padrão emergente e adiciona a camada de interoperabilidade que faltava. Como resumiu Chaz Chumley (@DataChaz): “O Google está formalizando o poder do LLM Wiki.”

    Como Funciona na Prática

    Um bundle OKF é simplesmente um diretório de arquivos .md. Cada arquivo representa um conceito — uma tabela, dataset, métrica, API ou playbook. O caminho do arquivo é sua identidade.

    Exemplo de estrutura:

    sales/
    ├── index.md
    ├── datasets/
    │   ├── index.md
    │   └── pedidos_db.md
    ├── tabelas/
    │   ├── index.md
    │   ├── pedidos.md
    │   └── clientes.md
    └── metricas/
        ├── index.md
        └── usuarios_ativos_semanais.md
    

    Exemplo de arquivo de conceito (tabelas/pedidos.md):

    ---
    type: Tabela BigQuery
    title: Pedidos
    description: Uma linha por pedido concluído.
    resource: https://console.cloud.google.com/bigquery?p=acme&d=vendas&t=pedidos
    tags: [vendas, receita]
    timestamp: 2026-05-28T14:30:00Z
    ---
    
    # Schema
    
    | Coluna        | Tipo   | Descrição                          |
    |---------------|--------|------------------------------------|
    | `pedido_id`   | STRING | Identificador único global.        |
    | `cliente_id`  | STRING | Chave estrangeira para clientes.   |
    
    # Joins
    
    Unido com clientes via `cliente_id`.
    

    Princípios de Design

    O OKF segue três princípios fundamentais:

    1. Minimamente opinativo — Apenas o campo type é obrigatório. Todo o resto é decisão do produtor.
    2. Independência produtor/consumidor — Um bundle escrito por um humano pode ser lido por um agente. Um bundle gerado por pipeline pode ser navegado visualmente. O formato é o contrato.
    3. Formato, não plataforma — Sem lock-in de cloud, banco de dados, modelo ou framework. Nenhuma conta proprietária é necessária.

    OKF vs. Alternativas

    O que diferencia o OKF de abordagens existentes:

    Abordagem Armazenamento Portátil SDK necessário Legível por agentes
    OKF v0.1 Markdown + YAML Sim Não Sim, sem tradução
    Notion Banco proprietário Apenas exportação API necessária Via API
    Obsidian vault Arquivos Markdown Sim Não Convenções próprias
    Catálogo de metadados Vendor store Apenas exportação SDK do vendor Específico do vendor
    RAG index Vector store Não Sim Chunks, não conceitos

    Diferença crucial do RAG: RAG recupera chunks brutos e re-deriva conhecimento a cada query. OKF armazena conceitos curados e interligados que o agente lê e atualiza diretamente, com controle de versão.

    O Que Foi Lançado

    Junto com a especificação, o Google publicou três implementações de referência:

    1. Agente de Enriquecimento — Percorre datasets do BigQuery e redige conceitos OKF para cada tabela/view, depois os enriquece com citações, schemas e paths de joins usando uma segunda passagem de LLM.
    2. Visualizador HTML Estático — Converte qualquer bundle OKF em um grafo interativo em um único arquivo autocontido (sem backend, sem instalação, sem dados saindo da página).
    3. Bundles de Exemplo — Três bundles prontos para navegar: dataset GA4 e-commerce, Stack Overflow público e datasets Bitcoin.

    Tudo está disponível no GitHub em GoogleCloudPlatform/knowledge-catalog.

    Por Que Isso Importa

    O OKF ataca um ponto de dor real e universal: a fragmentação do conhecimento institucional. Em vez de mais uma ferramenta proprietária, o Google escolheu o caminho oposto — um formato aberto, mínimalo e portátil que qualquer um pode adotar.

    Para times de dados, significa tratar conhecimento como código: versionar no git, revisar via PRs, automatizar com pipelines. Para agentes de IA, significa ter um “manual de instruções da empresa” que podem ler e atualizar sem depender de integrações frágeis.

    Se o OKF ganhar adoção ampla, pode se tornar o “Markdown do conhecimento de agentes” — assim como o README.md virou padrão universal para documentação de projetos, o OKF pode virar o padrão para documentação que máquinas também entendem.

  • Z.ai Lança GLM-5.2: Contexto de 1 Milhão de Tokens e Dois Níveis de Raciocínio

    Z.ai Lança GLM-5.2: Contexto de 1 Milhão de Tokens e Dois Níveis de Raciocínio

    A Z.ai acaba de lançar o GLM-5.2, a quarta iteração da linha GLM-5 em apenas quatro meses, trazendo um salto impressionante: 1 milhão de tokens de contexto utilizável e dois níveis de esforço de raciocínio. O modelo já está disponível para todos os planos do GLM Coding (Lite, Pro, Max, Team).

    Contexto de 1 Milhão de Tokens

    A variante glm-5.2[1m] oferece uma janela de contexto de 1.000.000 de tokens, aproximadamente 5 vezes maior que os 200K do GLM-5.1. Isso permite que um agente de codificação mantenha um repositório inteiro de médio porte (código-fonte, testes, configurações, histórico) na memória de trabalho, eliminando a necessidade de sumarização constante.

    Cada resposta pode retornar até 131.072 tokens de saída, uma capacidade massiva para tarefas complexas.

    Dois Níveis de Esforço de Raciocínio

    O GLM-5.2 introduz dois modos de raciocínio:

    • High — para tarefas padrão
    • Max — recomendado para trabalhos de codificação complexos e em múltiplas etapas

    No Claude Code, o esforço pode ser configurado via /effort. As opções xhigh, max e ultracode são mapeadas para o modo Max do GLM-5.2.

    Arquitetura

    A Z.ai não divulgou a arquitetura exata do GLM-5.2 no lançamento, mas a comunidade aponta que a base GLM-5 é um modelo Mixture-of-Experts de 744 bilhões de parâmetros, ativando 40 bilhões por token. O GLM-5.1 manteve a mesma espinha dorsal com pós-treinamento redirecionado.

    Sem Benchmarks no Lançamento

    Um ponto curioso: nenhum benchmark foi publicado no lançamento. A Z.ai optou por focar em disponibilidade, contexto e no roadmap open-source. Números de SWE-bench, Terminal-Bench ou Code Arena ainda estão pendentes.

    Casos de Uso

    • Refatoração de repositórios inteiros — carregue um repo de 40 arquivos Python em uma única sessão
    • Execuções de agentes de longa duração — ciclos sustentados de planejar-executar-testar-corrigir; o GLM-5.1 sustentou ~1.700 passos de agente por até 8 horas
    • Substituição direta do Claude Code — troque apenas a URL base e o identificador do modelo
    • Análise de documentos extensos — alimente especificações, logs ou transcrições além de 200K tokens sem truncamento

    Open Source e Licença MIT

    O modelo será liberado sob licença MIT, com pesos pendentes para a próxima semana — seguindo a tradição de abertura da Z.ai com a linha GLM-5.

    Compatibilidade

    O GLM-5.2 é compatível desde o primeiro dia com Claude Code, Cline, OpenCode e OpenClaw (8 ferramentas no total), utilizando um endpoint compatível com a API Anthropic por meio de uma simples troca de URL base e modelo.

    A Z.ai continua sua trajetória agressiva de lançamentos, posicionando o GLM-5.2 como uma alternativa open-source viável para codificação assistida por IA em larga escala.

  • Databricks Lança Omnigent: O Meta-Harness Open Source que Unifica Claude Code, Codex e Pi

    Databricks Lança Omnigent: O Meta-Harness Open Source que Unifica Claude Code, Codex e Pi

    A Databricks acaba de lançar um projeto que pode mudar a forma como engenheiros trabalham com agentes de IA. Omnigent é um “meta-harness” open source — uma camada de abstração acima dos harnesses existentes como Claude Code, OpenAI Codex e Pi — que permite compor, governar e compartilhar agentes de IA a partir de uma única interface unificada.

    O projeto foi anunciado por Matei Zaharia (criador do Apache Spark) e Kasey Uhlenhuth, e está disponível sob a licença Apache 2.0 no GitHub em omnigent-ai/omnigent. Foi desenvolvido em colaboração com a Neon.

    O problema que o Omnigent resolve

    Engenheiros hoje usam 4 ou 5 agentes simultaneamente — copiando texto entre Claude Code, Codex, ferramentas de busca, documentos e Slack. Cada harness entende apenas suas próprias sessões. O Omnigent cria uma camada compartilhada para composição, controle e colaboração.

    “A interface voltada ao usuário é sempre a mesma: mensagens e arquivos entram, streams de texto e chamadas de ferramentas saem. O Omnigent padroniza essa interface para que os harnesses se tornem intercambiáveis.”

    Três capacidades principais

    1. Composição

    Combine modelos, harnesses e técnicas sem reescrever código. Alterne entre Claude Code, Codex, Pi e agentes personalizados com mudanças de uma linha.

    2. Controle (políticas com estado)

    As políticas rastreiam ações dos agentes e aplicam guardrails na camada do meta-harness — não apenas em prompts. Exemplos práticos:
    – Pausar o agente após cada US$ 100 gastos em custos de LLM
    – Exigir aprovação humana para git push depois que o agente instala um novo pacote npm

    3. Colaboração em tempo real

    Compartilhe sessões ao vivo por URL. Colegas podem assistir o agente trabalhar, conversar com ele, comentar em arquivos e até co-pilotar ou bifurcar a sessão.

    Arquitetura

    • Runner: encapsula qualquer agente em uma sessão sandboxed com API uniforme
    • Server: fornece políticas e compartilhamento, expondo cada sessão via terminal, web UI (localhost:6767) e APIs web
    • OmniBox Sandbox: sandbox no nível do sistema operacional com proxy de saída. Por exemplo: mantenha o token do GitHub oculto do agente e injete-o apenas em requisições aprovadas

    A CLI é instalada como omnigent ou omni. Na primeira execução, detecta automaticamente credenciais de modelos existentes.

    Agentes de exemplo incluídos

    Polly — Orquestrador multi-agente para código

    Não escreve código. Planeja e delega trabalho para sub-agentes em worktrees git paralelas. Cada diff é revisado por um vendor diferente. O usuário faz o merge final.

    Debby — Parceiro de brainstorming com duas cabeças

    Uma cabeça é Claude, a outra é GPT. Toda pergunta vai para ambas, com respostas lado a lado. O comando /debate dispara crítica mútua antes de convergir.

    Por que isso importa

    A Databricks tem mais de 5.000 engenheiros usando agentes em escala. A experiência mostrou que os melhores resultados vêm de padrões multi-agente, não de um único modelo em um único harness. O Omnigent é a resposta open source para essa necessidade real.

    O projeto também inclui uma demonstração conceitual interativa que simula o fluxo completo: Polly planeja uma tarefa, delega para três sub-agentes (Claude Code, Codex, Pi) em paralelo, um medidor de custo sobe, políticas de orçamento e segurança disparam, e as interfaces de terminal, web e mobile mostram a mesma sessão sincronizada.

    Disponibilidade

    O Omnigent está disponível agora no GitHub: github.com/omnigent-ai/omnigent sob licença Apache 2.0. O roadmap inclui otimização automática no nível do meta-harness usando GEPA, introspecção baseada em código dentro de agentes, servidor MCP para que agentes trabalhem entre sessões e deploy simplificado no Fly.io, Railway, Modal e Daytona.

  • Zyphra Lança Zamba2-VL: Modelos de Visão-Linguagem Híbridos que Reduzem Latência em Uma Ordem de Magnitude

    Zyphra Lança Zamba2-VL: Modelos de Visão-Linguagem Híbridos que Reduzem Latência em Uma Ordem de Magnitude

    A Zyphra acaba de abrir o código do Zamba2-VL, uma família de modelos de visão-linguagem (VLMs) que combina camadas state-space Mamba2 com blocos Transformer compartilhados. Disponível em três tamanhos — 1.2B, 2.7B e 7B parâmetros — sob licença Apache 2.0, o grande diferencial está na velocidade: o tempo até o primeiro token (TTFT) é reduzido em cerca de uma ordem de magnitude em contextos visuais longos.

    Arquitetura Híbrida Mamba2-Transformer

    Enquanto VLMs tradicionais usam atenção densa de Transformer — que escala quadraticamente com o comprimento da sequência — o Zamba2-VL adota uma abordagem mista:

    • Camadas Mamba2 (state-space): Carregam o grosso da computação de forma barata, com complexidade near-linear e estado recorrente de tamanho fixo.
    • Blocos Transformer compartilhados: Preservam a capacidade de recuperação em contexto que modelos puramente SSM perdem. Cada bloco de atenção carrega um adaptador LoRA único por camada para adicionar expressividade.
    • Vision Encoder: Vision Transformer do Qwen2.5-VL, escolhido pelos embeddings posicionais rotativos 2D e processamento nativo de resolução dinâmica.
    • Tokenizer: Mistral v0.1.

    O modelo foi treinado com 100 bilhões de tokens de dados visão-texto e texto puro de datasets web abertos.

    “A atenção de Transformer escala quadraticamente com o comprimento da sequência. Inputs multimodais tornam sequências muito longas rapidamente. O Zamba2-VL evita o KV cache crescente da atenção, herdando prefill near-linear e estado recorrente de tamanho fixo.”

    Performance em Benchmarks

    O Zamba2-VL-2.7B foi avaliado em 14 benchmarks e mostra resultados competitivos, especialmente em tarefas de contagem visual:

    Benchmark Zamba2-VL-2.7B Qwen3-VL-2B InternVL3.5-2B
    DocVQA 90.9 93.3 89.4
    CountBenchQA 87.5 87.9 70.0
    PixMoCount 82.5 55.7 32.8
    ChartQA 79.6 78.7 81.6
    MathVista 51.0 51.8 61.4
    MMMU 37.7 40.9 49.9

    Destaques: Performance excepcional em contagem visual — no PixMoCount, o modelo de 2.7B atinge 82.5 contra apenas 32.8 do InternVL3.5-2B. O modelo de 1.2B também impressiona com 62.5 no mesmo benchmark. Em compreensão de documentos (DocVQA), fica competitivo com 90.9.

    Limitações: Desempenho mais fraco em raciocínio pesado em conhecimento (MMMU, MathVista) e OCR (OCRBench) comparado aos líderes da categoria.

    Vantagem de Velocidade

    O principal argumento de venda é a velocidade de inferência. Em um prefill de 32K tokens, nenhum VLM Transformer puro igualou a pontuação do Zamba2-VL com latência similar. A diferença é mais dramática nos modelos menores (1.2B e 2.7B), mirando deployment on-device e edge.

    Uma imagem de alta resolução (~3.400 tokens) já mostra paridade computacional no prefill, mas com sequências mais longas (ex: PDFs de múltiplas páginas, clipes de vídeo curtos), o design híbrido se torna dramaticamente mais barato — escalando O(n) contra O(n²) dos Transformers puros.

    Casos de Uso

    • Extração de documentos e formulários: Faturas, recibos — forte performance em DocVQA.
    • Inventário e contagem visual: Destaque em PixMoCount e CountBenchQA para cenários de varejo.
    • Assistentes on-device: Baixo TTFT nos modelos de 1.2B e 2.7B para celulares e dispositivos edge.
    • Inputs visuais longos: PDFs de múltiplas páginas e vídeos curtos se beneficiam do prefill linear.

    Com este lançamento, a Zyphra demonstra que arquiteturas híbridas state-space/Transformer são uma alternativa viável e eficiente para VLMs, especialmente quando latência e deployment em dispositivos são prioridades.

  • Varya: IA de vídeo 20x mais barata e 10x mais rápida chega à Índia

    Varya: IA de vídeo 20x mais barata e 10x mais rápida chega à Índia

    Varya - Avataar AI video generation

    A startup indiana Avataar AI, apoiada pela Peak XV e selecionada pela Missão de IA da Índia, acaba de lançar o Varya — um modelo de geração de vídeo por IA que promete ser 20 vezes mais barato e 10 vezes mais rápido que os concorrentes atuais.

    O segredo está na destilação: a equipe pegou o modelo Wan 2.2 da Alibaba, que originalmente precisava de 50 passos de inferência, e o comprimiu para apenas 4 passos. O resultado? Um vídeo de 5 segundos em 720p que antes levava 1.230 segundos para ser gerado agora sai em apenas 45 segundos em uma GPU NVIDIA H200.

    Preço que viabiliza escala populacional

    O custo é o grande diferencial. Enquanto serviços como Veo (Google), Kling, Luma e Runway cobram a partir de US$ 0,10 por segundo de vídeo gerado, o Varya custa apenas ₹ 0,48 (cerca de US$ 0,005) por segundo. Uma redução de aproximadamente 20 vezes.

    “A Índia é um mercado onde o vídeo domina. Se a IA de vídeo quiser chegar a estudantes, professores, pequenas empresas e serviços públicos, os custos precisam cair drasticamente. O custo é o maior fator de adoção de IA na Índia”, afirmou Rajan Anandan, Managing Director da Peak XV.

    IA com consciência cultural

    Outro diferencial importante: o Varya foi treinado com dados curados para reconhecer elementos culturais indianos — festivais, culinária, vestimentas e arquitetura — evitando saídas genéricas ou estereotipadas. Isso resolve um problema real de viés em modelos de imagem e vídeo que frequentemente falham ao representar culturas não ocidentais.

    Lançamento aberto e ecossistema

    O modelo está sendo lançado como open-weight no portal AI Kosh, o repositório central de IA do governo indiano, incluindo pesos e dados de treinamento. A Avataar também negocia parcerias com Adobe Firefly e Higgsfield para distribuição empresarial.

    O lançamento acontece no contexto da Missão de IA da Índia, um programa de US$ 1,2 bilhão que oferece computação em GPU subsidiada para startups selecionadas em troca da liberação pública de seus modelos. A Avataar foi uma das 12 startups escolhidas.

    Estratégia pragmática da Índia

    O Varya exemplifica a abordagem indiana para IA: em vez de competir diretamente em modelos fundacionais (domínio dos EUA e China), o país foca em aplicações práticas, otimização de modelos existentes e construção de ecossistemas de desenvolvedores. A meta do governo é atrair US$ 200 bilhões em investimentos em IA até 2028 e mais que dobrar a capacidade de GPU em seis meses.

    Com o Varya, a Índia mostra que é possível fazer mais com menos — e que inovação em IA não precisa vir apenas dos grandes laboratórios do Vale do Silício.

  • Como Usar Skills e o Agents SDK da OpenAI para Acelerar a Manutenção de Software Livre — Tutorial Completo

    Como Usar Skills e o Agents SDK da OpenAI para Acelerar a Manutenção de Software Livre — Tutorial Completo

    Como Usar Skills e o Agents SDK da OpenAI para Acelerar a Manutenção de Software Livre — Tutorial Completo

    Autor: Tiago Oliveira | Fonte: OpenAI Developers Blog (Kazuhiro Sera, 09/03/2026)

    Usando skills para acelerar manutenção de software livre

    Manter um projeto open source ativo é um trabalho que nunca acaba. Issues, pull requests, verificações de qualidade, releases — tudo isso se acumula rápido. A equipe da OpenAI enfrentou esse mesmo desafio nos repositórios do OpenAI Agents SDK (Python e TypeScript) e encontrou uma solução elegante: skills locais no repositório, um arquivo AGENTS.md com regras obrigatórias e GitHub Actions para rodar tudo em CI.

    O resultado? Entre dezembro de 2025 e fevereiro de 2026, os dois repositórios fizeram 457 PRs mergeados, um salto de 44% em relação aos 316 PRs dos três meses anteriores.

    Neste tutorial, você vai aprender a reproduzir essa configuração no seu próprio projeto open source, do início ao fim. Todos os códigos, templates e comandos estão aqui.


    Índice

    1. O que são skills e por que elas funcionam
    2. Estrutura de diretórios e arquivos
    3. Escrevendo o AGENTS.md
    4. Criando sua primeira skill: SKILL.md
    5. Skill 1: Verificação obrigatória de código
    6. Skill 2: Sincronização de documentação
    7. Skill 3: Execução automática de exemplos
    8. Skill 4: Revisão de release
    9. Skill 5: Estratégia de implementação
    10. Skill 6: Validação de changesets (monorepo JS)
    11. Skill 7: Resumo de PR
    12. Skill 8: Busca de documentação atualizada da API
    13. Skill 9: Melhoria de cobertura de testes
    14. Skill 10: Atualização coordenada de toolchain (pnpm)
    15. Escrevendo descrições que funcionam como roteamento
    16. Separando o que vai no modelo e o que vai nos scripts
    17. Automatizando testes de integração
    18. Adicionando verificações de release
    19. Rodando workflows no CI com GitHub Actions
    20. Codex na revisão de PRs
    21. Checklist final e próximos passos

    1. O que são skills e por que elas funcionam

    Uma skill é um pequeno pacote de conhecimento operacional. No diretório .agents/skills/ do seu repositório, cada skill contém:

    • Um arquivo SKILL.md (manifesto obrigatório com frontmatter YAML)
    • Opcionalmente: diretórios scripts/, references/ e assets/

    O modelo de progressive disclosure (divulgação progressiva) faz com que o Codex:

    1. Primeiro veja apenas os metadados (name e description) de todas as skills
    2. Carregue o SKILL.md completo somente quando a skill for selecionada
    3. Leia referências ou execute scripts apenas quando necessário

    Isso mantém o contexto do agente enxuto e focado. As skills não poluem o prompt inicial — elas entram em cena sob demanda.

    O setup básico da OpenAI é simples:

    • Política do repositório no AGENTS.md
    • Skills locais em .agents/skills/
    • Scripts e referências opcionais dentro de cada skill
    • Codex GitHub Action para rodar os mesmos workflows no CI

    2. Estrutura de diretórios e arquivos

    Comece criando esta estrutura na raiz do seu repositório:

    seu-projeto/
    ├── AGENTS.md                          # Regras globais e gatilhos de skills
    ├── .agents/
    │   └── skills/
    │       ├── code-change-verification/
    │       │   ├── SKILL.md
    │       │   └── scripts/
    │       │       └── verify.sh
    │       ├── docs-sync/
    │       │   └── SKILL.md
    │       ├── examples-auto-run/
    │       │   ├── SKILL.md
    │       │   └── scripts/
    │       │       └── run-examples.sh
    │       ├── final-release-review/
    │       │   ├── SKILL.md
    │       │   └── scripts/
    │       │       └── get-prev-tag.sh
    │       ├── implementation-strategy/
    │       │   └── SKILL.md
    │       ├── openai-knowledge/
    │       │   └── SKILL.md
    │       ├── pr-draft-summary/
    │       │   ├── SKILL.md
    │       │   └── scripts/
    │       │       └── collect-context.sh
    │       ├── test-coverage-improver/
    │       │   └── SKILL.md
    │       ├── changeset-validation/       # (apenas para monorepo JS)
    │       │   └── SKILL.md
    │       └── pnpm-upgrade/               # (apenas para monorepo JS)
    │           └── SKILL.md
    └── .github/
        └── workflows/
            └── codex-ci.yml
    

    Vamos criar cada arquivo passo a passo.


    3. Escrevendo o AGENTS.md

    O AGENTS.md é o arquivo de instruções que viaja com o código e é lido pelo Codex antes de qualquer trabalho começar. A recomendação oficial é mantê-lo pequeno e colocar as regras mais importantes no topo.

    Crie o arquivo AGENTS.md na raiz do repositório:

    # AGENTS.md
    
    ## Project overview
    
    - Core SDK code lives under `src/agents/` or `packages/*/src/`.
    - Tests live under `tests/` or `packages/*/test/`.
    - Sample apps and integration surfaces live under `examples/`.
    
    ## Mandatory skill usage
    
    - Use `$implementation-strategy` before editing runtime or API changes that may affect compatibility boundaries.
    - Run `$code-change-verification` when runtime code, tests, examples, or build/test behavior changes.
    - Use `$openai-knowledge` for OpenAI API or platform work.
    - Use `$pr-draft-summary` when substantial code work is ready for review.
    
    ## Build and test commands
    
    - Python: `make format`, `make lint`, `make typecheck`, `make tests`
    - TypeScript: `pnpm i`, `pnpm build`, `pnpm -r build-check`, `pnpm lint`, `pnpm test`
    
    ## Compatibility rules
    
    - Preserve positional compatibility for public constructors and dataclass fields.
    - Append new optional parameters at the end when possible.
    - Add compatibility tests if reordering is unavoidable.
    

    💡 Dica da OpenAI: O AGENTS.md não serve apenas para gatilhos de skills. No repositório Python, eles também registram regras de compatibilidade de API pública ali. Mantenha regras críticas de release no mesmo lugar que os gatilhos de skills.

    Adicionando regras específicas para monorepo JavaScript

    Se seu projeto é um monorepo JavaScript com Changesets, adicione:

    ## Additional mandatory skills (JavaScript monorepo)
    
    - Run `$changeset-validation` when anything under `packages/` or `.changeset/` changes.
    

    4. Criando sua primeira skill: SKILL.md

    Toda skill começa com um arquivo SKILL.md contendo frontmatter YAML. Os campos obrigatórios são name e description.

    Template mínimo:

    ---
    name: nome-da-skill
    description: Descrição clara de quando usar esta skill, quais gatilhos, e qual saída esperar.
    ---
    
    # Nome da Skill
    
    ## Quando usar
    
    - Gatilho 1: condição específica
    - Gatilho 2: condição específica
    
    ## Passos
    
    1. Primeiro passo
    2. Segundo passo
    3. Terceiro passo
    
    ## Scripts
    
    - `scripts/meu-script.sh`: o que ele faz e quando usar
    
    ## Saída esperada
    
    Descreva o formato exato da saída.
    

    Agora vamos criar cada skill individualmente, começando pela mais importante.


    5. Skill 1: Verificação obrigatória de código

    Esta é a skill mais usada nos repositórios da OpenAI. Ela não roda uma stack completa de validação sempre — apenas quando código de runtime, testes, exemplos ou comportamento de build/teste foi alterado.

    Para projetos Python

    Arquivo: .agents/skills/code-change-verification/SKILL.md

    ---
    name: code-change-verification
    description: Run the mandatory verification stack when changes affect runtime code, tests, or build/test behavior. Format, lint, type-check, and run the test suite before marking work complete.
    ---
    
    # Code Change Verification
    
    ## Trigger
    
    Run when runtime code, tests, examples, or build/test behavior changes.  
    Do NOT run for docs-only changes.
    
    ## Required pass criteria
    
    The work is NOT complete until ALL of these pass:
    
    

    make format
    make lint
    make typecheck
    make tests

    
    ## Process
    
    1. Run `make format` and fix any formatting issues
    2. Run `make lint` and resolve all lint errors
    3. Run `make typecheck` and fix all type errors
    4. Run `make tests` and ensure all tests pass
    5. If any step fails, fix the issue and re-run from step 1
    6. Report results: number of files formatted, lint violations fixed, type errors resolved, tests passed/failed
    
    ## Output
    
    

    ✅ Verification complete
    Format: N files formatted
    Lint: clean
    Typecheck: clean
    Tests: N passed, 0 failed

    Arquivo: .agents/skills/code-change-verification/scripts/verify.sh

    #!/usr/bin/env bash
    set -euo pipefail
    
    echo "=== Code Change Verification ==="
    
    echo ""
    echo "[1/4] Formatting..."
    make format
    echo "✅ Format complete"
    
    echo ""
    echo "[2/4] Linting..."
    make lint
    echo "✅ Lint complete"
    
    echo ""
    echo "[3/4] Type checking..."
    make typecheck
    echo "✅ Typecheck complete"
    
    echo ""
    echo "[4/4] Running tests..."
    make tests
    echo "✅ Tests complete"
    
    echo ""
    echo "=== ✅ Verification passed ==="
    

    Para projetos TypeScript/JavaScript (monorepo)

    A stack de verificação para JS segue esta ordem exata:

    ## Required pass criteria (JavaScript monorepo)
    
    The work is NOT complete until ALL of these pass in order:
    
    

    pnpm i
    pnpm build
    pnpm -r build-check
    pnpm -r -F “@openai/*” dist:check
    pnpm lint
    pnpm test

    A skill codifica a definição de “verificado” do repositório, e o AGENTS.md torna essa definição obrigatória. Sem ela, o Codex não considera o trabalho como concluído.


    6. Skill 2: Sincronização de documentação

    Esta skill audita a documentação contra o código e encontra documentação faltante, incorreta ou desatualizada. É um workflow report-first: inspeciona, prioriza e pede aprovação antes de editar.

    ---
    name: docs-sync
    description: Audit documentation against the codebase. Find missing, incorrect, or outdated docs. Prioritize findings and ask for approval before making edits.
    ---
    
    # Documentation Sync
    
    ## When to use
    
    - After adding new public API surface
    - After changing existing public behavior
    - When preparing a release
    - When asked to review documentation quality
    
    ## Process
    
    1. Scan the current diff or changed files
    2. Map each changed public API to its documentation
    3. For each mapping, check:
       - Is the API documented at all?
       - Are parameter types and return types correct?
       - Are docstrings up to date?
       - Are code examples still valid?
       - Are any deprecated APIs still documented as current?
    4. Prioritize findings by severity:
       - 🔴 Missing: public API with no documentation
       - 🟡 Incorrect: documented but wrong types/behavior
       - 🔵 Stale: documented but API has changed
    5. Present findings as a report and ask for approval before editing
    
    ## Important rules
    
    - Source docstrings and comments are the source of truth for generated reference docs
    - Never patch generated output by hand — fix the source instead
    
    ## Output format
    
    

    Documentation Audit

    🔴 Missing (N)

    • function_name() in path/to/file.py — no docstring or docs page

    🟡 Incorrect (N)

    • Class.method() — docstring says str but returns Optional[str]

    🔵 Stale (N)

    • old_function() — still documented but deprecated in v2.0

    Recommended actions


    7. Skill 3: Execução automática de exemplos

    Esta skill executa todos os exemplos do repositório em modo automático, coleta logs, e faz o Codex comparar cada saída com o código fonte para validar o comportamento esperado. O runner executa os exemplos; o Codex interpreta os resultados.

    ---
    name: examples-auto-run
    description: Run all examples in auto mode, collect per-example logs, and validate output against source code intent. Use when example code changes or before releases.
    ---
    
    # Examples Auto-Run
    
    ## Trigger
    
    - Example code changed
    - SDK runtime code changed (examples may be affected)
    - Preparing for release
    - Asked to validate example behavior
    
    ## Process
    
    1. Run the example runner in auto mode:
       - Python: `uv run examples/run_examples.py --auto-mode --write-rerun --main-log /tmp/examples-main.log --logs-dir /tmp/example-logs/`
       - TypeScript: `pnpm examples:start-all` (in auto mode)
    2. For each example that ran successfully:
       a. Read the example source code and comments
       b. Infer the intended flow and expected behavior
       c. Open the matching per-example log
       d. Compare intended behavior with actual stdout and stderr
       e. Flag any mismatch between intent and output
    3. For failed examples:
       a. Check the rerun file for the failure reason
       b. Report the failure with the relevant log excerpt
    4. Produce a summary report
    
    ## Auto-mode behavior
    
    The runner auto-handles:
    - Auto-answering common interactive prompts
    - Auto-approving HITL, MCP, apply_patch, and shell actions (where supported)
    - Skipping examples not suitable for automation (realtime, Next.js apps needing extra runtime)
    
    ## Output format
    
    

    Examples Run Report

    Summary

    • Total: N
    • ✅ Passed: N
    • ❌ Failed: N
    • ⏭️ Skipped: N

    ✅ Passed examples

    Example Intent verified? Notes
    basic_agent ✅ Output matches expected flow
    tool_use ✅ All tools called correctly

    ❌ Failed examples

    Example Error Log excerpt
    streaming Timeout after 30s ConnectionError: ...

    ⏭️ Skipped

    • realtime_voice — requires realtime setup

    8. Skill 4: Revisão de release

    Esta skill compara a tag da release anterior com o release candidate atual e verifica se está tudo pronto para publicar.

    ---
    name: final-release-review
    description: Compare the previous release tag with the current release candidate. Check for backward compatibility, regressions, and missing migration notes. Start from "safe to release" and only block with concrete evidence.
    ---
    
    # Final Release Review
    
    ## Trigger
    
    - Preparing a new release
    - Release candidate branch or tag is ready
    
    ## Process
    
    1. Fetch the previous release tag: `scripts/get-prev-tag.sh`
    2. Diff it against the current `main` (or release candidate):
       ```bash
       git diff <prev-tag>..HEAD --stat
       git diff <prev-tag>..HEAD
       ```
    3. Inspect the diff for:
       - **Backward compatibility issues** in public APIs and user-facing SDK behavior
       - **Regressions**, including smaller changes in expected behavior
       - **Missing migration notes** or release-note updates for changes that need them
    4. Classify each finding with risk level:
       - 🔴 BLOCKING: confirmed regression or breaking change without migration path
       - 🟡 MODERATE: behavior change that users should know about
       - 🟢 LOW: internal refactor, no user impact
    5. Make overall release readiness call
    
    ## Gate decision rules
    
    - Start from "**safe to release**"
    - Switch to **blocked** ONLY when the diff shows concrete evidence of a real problem
    - Every blocked call MUST include a specific unblock checklist
    
    ## Output format
    
    

    Release readiness review

    Release call:
    🟢 GREEN LIGHT TO SHIP.

    OR
    🔴 BLOCKED.

    Scope summary:
    – N files changed (+X/-Y); key areas touched: …

    :
    – Risk: 🔴/🟡/🟢
    – Evidence:
    – Action:

    Unblock checklist (if blocked):
    – [ ] …

    Exemplo real do repositório Python da OpenAI (PR #2480):

    Release readiness review (excerpt)
    
    Release call:
    🟢 GREEN LIGHT TO SHIP. Minor-version bump includes expected breaking change
    (Python 3.9 drop) with no concrete regressions found.
    
    Scope summary:
    
    - 38 files changed (+1450/-789); key areas touched: `src/agents/tool.py`,
      `src/agents/extensions/`, `src/agents/realtime/`, `tests/`,
      `pyproject.toml`, `uv.lock`.
    
    Python 3.9 support removed
    
    - Risk: 🟡 MODERATE. Users pinned to Python 3.9 will be unable to install the
      0.9.0 release.
    - Evidence: `pyproject.toml` now sets `requires-python = ">=3.10"` and drops
      the Python 3.9 classifier; CI skip logic for 3.9 was removed.
    - Action: Ensure release notes clearly call out the Python 3.9 drop and that
      packaging metadata remains `>=3.10`.
    

    Script auxiliar: .agents/skills/final-release-review/scripts/get-prev-tag.sh

    #!/usr/bin/env bash
    # Get the most recent semver tag before the current HEAD
    git tag --sort=-v:refname | grep -E '^v?[0-9]+\.[0-9]+\.[0-9]+' | head -1
    

    9. Skill 5: Estratégia de implementação

    Antes de editar código de runtime ou API, o Codex deve decidir a fronteira de compatibilidade e a abordagem de implementação.

    ---
    name: implementation-strategy
    description: Decide the compatibility boundary and implementation approach before editing runtime or API changes. Use before modifying public APIs, constructors, or behavior.
    ---
    
    # Implementation Strategy
    
    ## Trigger
    
    - Before editing runtime code or public API
    - Before changing constructor signatures or dataclass fields
    - Before modifying behavior that users depend on
    
    ## Process
    
    1. Identify the scope of the change:
       - What public APIs are affected?
       - What internal code paths are touched?
       - What tests and examples will need updating?
    2. Determine compatibility boundary:
       - Can the change be purely additive?
       - If breaking: is there a deprecation path?
       - Are there positional parameter constraints?
    3. Propose the implementation approach:
       - Order of changes (internal first, then public)
       - Migration strategy for existing users
       - Test plan
    4. Get confirmation before proceeding
    
    ## Compatibility rules
    
    - Preserve positional meaning of exported constructor parameters and dataclass fields
    - Append new optional ones at the end when possible
    - Add compatibility tests if reordering is unavoidable
    
    ## Output format
    
    

    Implementation Strategy

    Scope

    • Affected APIs: …
    • Affected internals: …
    • Tests to update: …

    Compatibility

    • Breaking change? yes/no
    • Deprecation path: …
    • Positional impact: …

    Approach

    Test plan


    10. Skill 6: Validação de changesets (monorepo JS)

    Esta skill é específica para monorepos JavaScript que usam Changesets. Ela valida que os changesets e bump levels correspondem ao diff real dos pacotes.

    ---
    name: changeset-validation
    description: Validate that changesets and bump levels match the actual package diff. Create or update changesets when packages/ or .changeset/ changes. Enforce Conventional Commit summaries and bump-level policy.
    ---
    
    # Changeset Validation
    
    ## Trigger
    
    - Any change under `packages/`
    - Any change in `.changeset/`
    
    ## Process
    
    1. Check if a branch changeset already exists
    2. If yes: update it instead of creating a new one
    3. If no: create one
    4. Write the changeset summary in Conventional Commit style (one line)
    5. Determine the required bump level from the actual package diff
    6. Validate the bump level against repo policy
    
    ## Repo-specific policy
    
    - Keep the summary to one line in Conventional Commit style (doubles as commit title)
    - Before 1.0: avoid major bumps for normal feature work
    - Preview-only additions labeled explicitly: treat as patch if they don't change existing behavior
    - Validate the required bump level against actual package changes
    
    ## Bump level rules
    
    | Change type | Bump |
    |------------|------|
    | Bug fix | patch |
    | New feature (backward compatible) | minor |
    | Breaking change | major |
    | Preview-only addition | patch |
    | Docs only | no bump needed |
    
    ## Output format
    
    

    Changeset Validation

    Changeset:

    • Summary: feat: add streaming support to agent runner
    • Bump: minor
    • Packages affected: @openai/agents-core

    Validation

    • ✅ Bump level matches diff
    • ✅ Summary follows Conventional Commit
    • ✅ No duplicate changesets

    11. Skill 7: Resumo de PR

    Esta skill é acionada ao final de trabalho substantivo. Ela coleta automaticamente nome do branch, status da árvore de trabalho, arquivos alterados, diff stats e commits recentes, e produz um bloco pronto para PR.

    ---
    name: pr-draft-summary
    description: Create a PR title and draft description after substantive code changes are finished. Trigger when wrapping up a moderate-or-larger change (runtime code, tests, build config, docs with behavior impact) and you need the PR-ready summary block with change summary plus PR draft text.
    ---
    
    # PR Draft Summary
    
    ## Trigger
    
    - Substantive work is finished or ready for review
    - Change touched: runtime code, tests, examples, docs with behavior impact, or build/test config
    - NOT for: trivial typo fixes, formatting-only changes, single-line comment updates
    
    ## Process
    
    1. Collect context automatically:
       ```bash
       git rev-parse --abbrev-ref HEAD          # branch name
       git status --short                        # working tree status
       git diff --stat origin/main...HEAD        # changed files + stats
       git log origin/main..HEAD --oneline       # recent commits
       ```
    2. Analyze the collected context
    3. Produce the PR draft block
    
    ## Output format (rigid)
    
    

    Pull Request Draft

    Branch name suggestion

    git checkout -b /

    Title

    :

    Description

    <2-4 paragraphs describing the change, rationale, and impact>

    Exemplo real de saída do pr-draft-summary:

    # Pull Request Draft
    
    ## Branch name suggestion
    
    git checkout -b fix/tracing-lazy-init-fork-safety
    
    ## Title
    
    fix: #2489 lazily initialize tracing globals to avoid import-time fork hazards
    
    ## Description
    
    This pull request fixes import-time tracing side effects that could break fork-based process models by moving tracing bootstrap to lazy, first-use initialization.
    
    It updates tracing setup so initialization happens once on first access while preserving the existing public tracing APIs.
    
    It also adds regression tests for import-time behavior, one-time bootstrap, and custom provider handling.
    
    This pull request resolves #2489.
    

    12. Skill 8: Busca de documentação atualizada da API

    Esta skill é um wrapper fino sobre o OpenAI Docs MCP oficial. Em vez de deixar o modelo responder de memória, ela instrui o Codex a buscar a documentação atualizada.

    ---
    name: openai-knowledge
    description: Pull current OpenAI API and platform documentation through the official Docs MCP. Use for any work touching OpenAI API, Responses API, tools, streaming, Realtime, or MCP integrations.
    ---
    
    # OpenAI Knowledge
    
    ## Trigger
    
    - Work touches OpenAI API or platform integrations
    - Implementing or modifying API calls
    - Working with Responses API, tools, streaming, Realtime, or MCP
    
    ## Process
    
    1. Use the OpenAI Developer Documentation MCP server to look up current docs
    2. Search for the relevant API surface
    3. Verify parameter names, types, and behavior against current docs
    4. Do NOT rely on model memory for API details
    
    ## MCP Server Setup
    
    If the MCP server is not configured in your local Codex environment:
    
    1. Follow the Docs MCP quickstart
    2. Use the official MCP server endpoint
    3. Configure in your Codex settings
    
    ## Covered surfaces
    
    - Responses API
    - Tools and function calling
    - Streaming
    - Realtime API
    - MCP integrations
    - All platform-level features
    

    13. Skill 9: Melhoria de cobertura de testes

    Esta skill é report-first: roda cobertura, encontra os maiores gaps e propõe testes de alto impacto. Não edita nada sem aprovação.

    ---
    name: test-coverage-improver
    description: Run coverage, find the biggest gaps, and propose high-impact tests. Report-first workflow: inspect coverage artifacts, prioritize what matters, and ask for approval before writing tests.
    ---
    
    # Test Coverage Improver
    
    ## Trigger
    
    - After adding new features
    - Before release
    - When asked to improve test coverage
    
    ## Process
    
    1. Run coverage:
       - Python: `pytest --cov=src --cov-report=term-missing`
       - TypeScript: `pnpm test --coverage`
    2. Parse coverage report
    3. Identify the biggest gaps by:
       - Lines uncovered (absolute count)
       - Critical paths with no coverage
       - Public API methods with 0% coverage
    4. Prioritize: focus on high-impact, low-effort tests first
    5. Present findings as a proposal
    6. Ask for approval before writing tests
    
    ## Output format
    
    

    Coverage Gap Report

    Overall: XX% (was YY%)

    Top gaps by impact

    File Uncovered lines Risk Proposed test
    src/core.py 45 🔴 High Test error path in process()
    src/utils.py 32 🟡 Medium Test edge cases in parse()

    Proposed new tests (N)

    1. test_process_error_handling — covers 15 lines, catches silent failures
    2. test_parse_edge_cases — covers 12 lines, validates empty/null inputs

    Approval needed

    Reply with which tests to implement, or “all” to proceed with all.


    14. Skill 10: Atualização coordenada de toolchain (pnpm)

    Skill específica para monorepos JavaScript: atualiza a versão do pnpm, o campo packageManager e os pins de workflow juntos, de forma coordenada.

    ---
    name: pnpm-upgrade
    description: Update the pnpm toolchain, packageManager field, and CI workflow pins in a coordinated way. Avoid broad search-and-replace.
    ---
    
    # pnpm Upgrade
    
    ## Trigger
    
    - New pnpm version available
    - CI workflow needs toolchain update
    
    ## Process
    
    1. Check current pnpm version: `pnpm --version`
    2. Check latest available: `npm view pnpm version`
    3. Update in coordinated order:
       a. Update local pnpm: `pnpm self-update` or `npm i -g pnpm@latest`
       b. Update `packageManager` field in `package.json`:
          ```json
          "packageManager": "pnpm@X.Y.Z"
          ```
       c. Update CI workflow pins (`.github/workflows/*.yml`):
          Find and update any `pnpm/action-setup` version pins
       d. Update any other toolchain references
    4. Run `pnpm i` to refresh lockfile with new version
    5. Verify: `pnpm --version`
    
    ## Important
    
    - Update ALL references together — never leave one behind
    - Do NOT use broad search-and-replace — update each reference explicitly
    - Verify the lockfile is compatible after the upgrade
    
    ## Output
    
    

    pnpm Upgrade: X.Y.Z → A.B.C

    Updated

    • ✅ Local pnpm: A.B.C
    • ✅ package.json: "packageManager": "pnpm@A.B.C"
    • ✅ CI workflow: pnpm/action-setup@vN
    • ✅ Lockfile regenerated

    Verification

    • pnpm --version → A.B.C
    • pnpm i → clean

    15. Escrevendo descrições que funcionam como roteamento

    O campo description no frontmatter do SKILL.md não é estilístico — é estrutural. O modelo de progressive disclosure do Codex carrega name e description de todas as skills na inicialização. O corpo completo do SKILL.md só é carregado quando a skill é ativada.

    Isso faz da description um dos principais sinais de roteamento antes mesmo de o Codex ler o resto da skill.

    Exemplo ruim vs. bom para code-change-verification

    ❌ Vago (ruim):

    description: Run the mandatory verification stack in the OpenAI Agents JS monorepo.
    

    Diz o que a skill faz, mas não diz quando aplicá-la, que tipos de mudanças devem acioná-la, nem se as verificações são opcionais.

    ✅ Específico (bom — a descrição real usada pela OpenAI):

    description: Run the mandatory verification stack when changes affect runtime code, tests, or build/test behavior in the OpenAI Agents JS monorepo.
    

    Exemplo ruim vs. bom para pr-draft-summary

    ❌ Vago:

    description: Create a PR title and draft description for a pull request.
    

    ✅ Específico:

    description: Create a PR title and draft description after substantive code changes are finished. Trigger when wrapping up a moderate-or-larger change (runtime code, tests, build config, docs with behavior impact) and you need the PR-ready summary block with change summary plus PR draft text.
    

    A descrição boa funciona como metadado de roteamento. Ela diz ao Codex:

    • Esta é uma skill de fim de tarefa
    • É para mudanças substantivas, não para todo turno de chat
    • A saída é um bloco pronto para PR, não apenas um resumo em prosa

    ⚠️ Lição prática da OpenAI: Se o roteamento das skills parecer não confiável, corrija os metadados antes de adicionar mais código. Gaste tempo na description.


    16. Separando o que vai no modelo e o que vai nos scripts

    Uma divisão confiável entre modelo e scripts:

    Fica com o modelo (Codex) Vai para scripts/
    Ler código fonte para inferir comportamento Rodar comandos de verificação em ordem fixa
    Comparar logs com comportamento esperado Iniciar exemplos, coletar logs, gerar rerun
    Decidir se um diff de release tem risco real Buscar tag da release anterior
    Produzir explicações acionáveis Expor comandos helper (start, stop, status, logs)
    Interpretação, comparação, report Trabalho de shell determinístico e repetitivo

    Regra prática: Se o modelo precisa redescobrir a mesma receita de shell toda vez, essa receita deveria ser um script. Se a tarefa depende de contexto, tradeoffs ou explicação, essa parte deve ficar com o modelo.

    Exemplo de script helper para examples-auto-run

    #!/usr/bin/env bash
    # .agents/skills/examples-auto-run/scripts/run-examples.sh
    # Usage: ./run-examples.sh [--retry-failed]
    
    set -euo pipefail
    
    MAIN_LOG="/tmp/examples-main.log"
    LOGS_DIR="/tmp/example-logs"
    RERUN_FILE="/tmp/examples-rerun.txt"
    
    mkdir -p "$LOGS_DIR"
    
    echo "🏃 Running examples in auto mode..."
    
    if [ "${1:-}" = "--retry-failed" ] && [ -f "$RERUN_FILE" ]; then
        echo "📋 Retrying failed examples from $RERUN_FILE"
        # Run only the failed examples
        while IFS= read -r example; do
            echo "  ↳ $example"
        done < "$RERUN_FILE"
    else
        # Full run
        uv run examples/run_examples.py \
            --auto-mode \
            --write-rerun \
            --main-log "$MAIN_LOG" \
            --logs-dir "$LOGS_DIR"
    fi
    
    echo "📊 Main log: $MAIN_LOG"
    echo "📁 Per-example logs: $LOGS_DIR/"
    echo "🔄 Rerun file: $RERUN_FILE"
    

    17. Automatizando testes de integração

    A OpenAI implementou testes de integração em duas camadas:

    Camada 1: Validação de exemplos no repositório (examples-auto-run)

    Antes dessa automação, validar exemplos era parcialmente manual — você rodava os exemplos mas a última milha dependia de inspeção visual. Isso não escala.

    Para automatizar, primeiro foi necessário construir o suporte para execução não-interativa de exemplos:

    • Auto-resposta para prompts interativos comuns
    • Auto-aprovação de ações HITL, MCP, apply_patch e shell
    • Lista de skip para exemplos não adequados para automação (realtime, apps Next.js)
    • Logs estruturados por exemplo
    • Arquivos de rerun para reexecutar apenas falhas

    Comando para Python:

    uv run examples/run_examples.py --auto-mode --write-rerun \
      --main-log /tmp/examples-main.log \
      --logs-dir /tmp/example-logs/
    

    Comando para TypeScript:

    pnpm examples:start-all
    

    O runner executa os exemplos e preserva stdout/stderr. O Codex então interpreta os logs:

    1. Lê o código fonte e comentários do exemplo
    2. Infere o fluxo pretendido
    3. Abre o log correspondente
    4. Compara comportamento esperado com stdout/stderr real
    5. Faz isso para todos os exemplos bem-sucedidos, não apenas uma amostra

    Camada 2: Testes de integração pós-publicação (integration-tests, apenas JS)

    Este workflow publica os pacotes em um registry Verdaccio local e testa instalação e execução em múltiplos ambientes:

    • Node.js
    • Bun
    • Deno
    • Cloudflare Workers
    • Vite React app

    Isso pega uma classe diferente de problemas: não “o exemplo roda no repositório?” mas “o pacote se comporta corretamente depois de publicado, instalado e integrado em runtime?”.


    18. Adicionando verificações de release

    O workflow de revisão de release em ambos os repositórios:

    1. Encontra a tag da release anterior
    2. Faz diff contra a main atual
    3. Pede ao Codex para inspecionar o diff buscando:
      – Problemas de compatibilidade retroativa em APIs públicas
      – Regressões, incluindo mudanças sutis de comportamento
      – Notas de migração ou release notes faltantes
    4. Emite um veredito de release readiness

    Regra de decisão do gate: Começa de “seguro para publicar” e só muda para bloqueado quando o diff mostra evidência concreta de um problema real. Todo bloqueio deve vir com um checklist de desbloqueio específico.


    19. Rodando workflows no CI com GitHub Actions

    Quando uma skill funciona bem localmente, o Codex GitHub Action facilita automatizar o mesmo workflow no CI.

    Arquivo: .github/workflows/codex-ci.yml

    name: Codex CI
    
    on:
      pull_request:
        types: [opened, synchronize, reopened]
      issue_comment:
        types: [created]
    
    jobs:
      codex:
        # Security: only run on trusted events or with explicit approval
        if: |
          github.event_name == 'pull_request' ||
          (github.event_name == 'issue_comment' &&
           github.event.comment.body == '/codex verify')
        runs-on: ubuntu-latest
        permissions:
          contents: read
          pull-requests: write
        steps:
          - uses: actions/checkout@v4
    
          - name: Setup environment
            run: |
              # Install your project dependencies here
              # Example for Python:
              pip install -e ".[dev]"
              # Example for TypeScript:
              # corepack enable
              # pnpm i
    
          - name: Run Codex
            uses: openai/codex-action@v1
            with:
              openai_api_key: ${{ secrets.OPENAI_API_KEY }}
              prompt: |
                Run $code-change-verification on the changes in this PR.
                Report the results as a PR comment.
    

    Checklist de segurança para GitHub Actions público

    A documentação oficial de segurança do Codex GitHub Action recomenda:

    • ✅ Limitar quem pode iniciar o workflow
    • ✅ Preferir eventos confiáveis ou aprovação explícita
    • ✅ Sanitizar inputs de prompt vindos de PRs, commits, issues ou comentários
    • ✅ Manter OPENAI_API_KEY protegida com drop-sudo ou usuário não privilegiado
    • ✅ Rodar o Codex como último passo do job

    ⚠️ Se um workflow tem capacidade de escrita e recebe input público não confiável, o risco está no design do trigger, no handling de input e nos privilégios de runtime em torno da skill — não na skill em si.


    20. Codex na revisão de PRs

    Desde que o Codex GitHub PR auto review foi disponibilizado, o Codex se tornou um revisor útil na maioria das mudanças de código nos repositórios da OpenAI.

    O que o Codex faz bem (review automatizado)

    • Bugs de programação simples
    • Regressões
    • Testes faltantes
    • Padrões de correção repetitivos

    Para esses casos, depender do Codex como caminho de revisão obrigatório já é seguro na prática.

    O que ainda precisa de revisão humana

    • Mudanças de API ou arquitetura com múltiplos designs razoáveis
    • Mudanças de comportamento que afetam expectativas de produto ou promessas de compatibilidade
    • Decisões de nomenclatura, migração e comunicação de release
    • Mudanças que exigem alinhamento entre maintainers ou times

    O AGENTS.md pode codificar essa divisão: o repositório diz ao Codex o que conta como importante para revisão de corretude, e o Codex aplica essa orientação de forma consistente.


    21. Checklist final e próximos passos

    ✅ Checklist de implementação

    • [ ] Criar AGENTS.md na raiz com regras obrigatórias de skills
    • [ ] Criar diretório .agents/skills/
    • [ ] Implementar code-change-verification (formatação + lint + typecheck + testes)
    • [ ] Implementar implementation-strategy (antes de editar APIs públicas)
    • [ ] Implementar pr-draft-summary (handoff de PR padronizado)
    • [ ] Implementar docs-sync (auditoria de documentação)
    • [ ] Implementar examples-auto-run (execução automática de exemplos com logs)
    • [ ] Implementar final-release-review (revisão de release com diff)
    • [ ] Implementar test-coverage-improver (gaps de cobertura)
    • [ ] (Monorepo JS) Implementar changeset-validation
    • [ ] (Monorepo JS) Implementar pnpm-upgrade
    • [ ] Revisar descrições de skills — são específicas o suficiente para roteamento?
    • [ ] Extrair trabalho de shell determinístico para scripts/
    • [ ] Configurar Codex GitHub Action para CI
    • [ ] Revisar checklist de segurança do GitHub Action
    • [ ] Ativar Codex PR auto review

    📊 Métricas para acompanhar

    Depois de implementar as skills, monitore:

    • Número de PRs mergeados por mês (antes/depois)
    • Tempo médio de revisão (tempo até o primeiro review)
    • Taxa de reprovação no CI (verificações que pegam problemas antes do merge)
    • Cobertura de testes (tendência ao longo do tempo)
    • Frequência de releases (ciclos mais curtos?)

    🔗 Recursos oficiais


    Resumo

    O padrão que a OpenAI estabeleceu nos repositórios do Agents SDK é reproduzível por qualquer projeto open source:

    1. AGENTS.md diz ao Codex quais workflows são obrigatórios
    2. description nas skills diz quando rotear para cada workflow
    3. scripts/ cuida das partes determinísticas
    4. O modelo cuida das partes contextuais
    5. Codex GitHub Action leva o mesmo processo para o CI

    O resultado: trabalho de engenharia do dia a dia mais explícito, mais confiável e com 44% mais PRs mergeados. Comece com code-change-verification e pr-draft-summary — são as skills de maior retorno imediato — e vá expandindo conforme sua confiança no sistema cresce.

  • DuckDB lança Quack: protocolo HTTP para análises multiusuário com banco leve e rápido

    O DuckDB, banco de dados analítico open source conhecido por sua leveza e alto desempenho em consultas SQL locais, anunciou recentemente o lançamento do Quack, um novo protocolo remoto que opera sobre HTTP para conectar múltiplas instâncias DuckDB a um mesmo banco de dados via rede.

    O que é o Quack e por que ele importa?

    Até então, o DuckDB funcionava principalmente como um banco de dados embutido em aplicações, com foco em operações locais. Com o Quack, o DuckDB ganha capacidades de cliente-servidor, permitindo que diversos usuários e aplicações acessem simultaneamente o mesmo banco de dados pela rede, mantendo a leveza e a compatibilidade SQL que o caracterizam.

    Isso torna possível compartilhar conjuntos de dados, suportar usuários concorrentes, executar análises remotamente e criar serviços de dados em produção sem a necessidade de migrar para sistemas mais pesados e tradicionais.

    Como o Quack funciona e suas vantagens técnicas

    Quack utiliza conexões HTTP padrão para comunicação entre clientes e servidores DuckDB, transmitindo dados no formato nativo do DuckDB. Segundo a equipe, esse método é cerca de 3,5 vezes mais rápido que o Arrow Flight SQL, protocolo concorrente baseado no Apache Arrow, além de superar significativamente o desempenho do PostgreSQL em movimentação de grandes volumes de dados.

    Ao optar por desenvolver um protocolo próprio em vez de adotar o Arrow Flight SQL, os criadores do DuckDB garantem controle total sobre a evolução e otimização do protocolo, especialmente para consultas pequenas, que podem ser enviadas e receber resultados em uma única troca de mensagens, reduzindo latência.

    Quem pode se beneficiar do Quack?

    O Quack é ideal para desenvolvedores e equipes que utilizam DuckDB e desejam escalar suas aplicações para múltiplos usuários sem abrir mão da simplicidade e agilidade. Também é uma solução atraente para casos em que a centralização do estado do banco é mais importante do que consultas locais isoladas — um cenário cada vez mais comum com o crescimento dos data lakes.

    Além disso, o protocolo será integrado ao DuckLake, permitindo que o DuckDB funcione como um catálogo remoto acessível, ampliando ainda mais sua aplicabilidade em arquiteturas modernas de dados, especialmente em ambientes de engenharia e inteligência artificial.

    Disponibilidade, licenciamento e roadmap

    O Quack já está disponível como uma extensão autocarregável na versão DuckDB v1.5.3. O DuckDB é distribuído sob a licença MIT, o que garante uso livre e permissivo para projetos comerciais e pessoais.

    Para usar o Quack, é necessário habilitar a extensão nas instâncias DuckDB que atuarão como cliente e servidor. A equipe DuckDB planeja lançar uma versão 2.0 ainda em 2026, com melhorias de performance, suporte a bancos remotos, maior throughput de transações, extensões customizáveis do protocolo e recursos de replicação.

    Repercussão e perspectivas

    A comunidade técnica recebeu o anúncio do Quack com entusiasmo, destacando-o como um passo importante para análises multiusuário compartilhadas, sem sacrificar a leveza e facilidade de implantação do DuckDB. Comentários em fóruns e redes sociais ressaltam que o Quack resolve a limitação histórica da falta de suporte a múltiplos escritores simultâneos no DuckDB, abrindo caminho para novos casos de uso, como consultas entre notebooks e comunicação direta via browser.

    Links úteis para começar com DuckDB Quack

  • Arm libera Metis: framework de IA para segurança que supera ferramentas SAST tradicionais

    Arm lança Metis, framework de segurança com inteligência artificial de última geração

    A Arm anunciou a abertura do código-fonte do Metis, um framework de segurança baseado em inteligência artificial agentic, projetado para detectar vulnerabilidades complexas em softwares de forma autônoma. Diferentemente das ferramentas tradicionais de análise estática de segurança (SAST), que dependem de padrões fixos, o Metis utiliza raciocínio semântico para analisar dependências entre componentes e gera explicações claras em linguagem natural sobre suas descobertas.

    Como o Metis revoluciona a detecção de vulnerabilidades

    Com a crescente complexidade dos códigos modernos, ferramentas SAST convencionais enfrentam dificuldades para identificar vulnerabilidades que envolvem múltiplas funções ou bibliotecas, além de apresentarem altas taxas de falso-positivos, que consomem tempo dos desenvolvedores e minam a confiança nas ferramentas.

    O Metis supera essas limitações ao aplicar uma abordagem “agentic”, combinando técnicas avançadas de análise com fluxos de trabalho habilitados por IA. Ele utiliza retrieval-augmented generation (RAG) para aprimorar um modelo de linguagem grande (LLM) base com contexto específico do projeto, extraído do código-fonte, arquivos de build e documentação. Isso permite ao Metis entender melhor o design do sistema e seu comportamento esperado.

    Segundo a Arm, essa metodologia possibilita que o Metis analise repositórios completos, arquivos isolados, pull requests ou alterações recentes no código, entregando até 10 vezes mais taxa de verdadeiros positivos e cerca de 50% menos falsos positivos em comparação com as melhores ferramentas estáticas atuais.

    Benefícios práticos para equipes de desenvolvimento

    • Redução de falsos positivos: diminui o esforço desperdiçado em análises incorretas, permitindo foco nas vulnerabilidades reais;
    • Explicações em linguagem natural: facilita o entendimento do problema e acelera a correção;
    • Compatibilidade e extensibilidade: suporta qualquer LLM compatível com OpenAI e múltiplas linguagens como C, C++, Python, Go, TypeScript, Rust, entre outras;
    • Integração com ferramentas SAST externas: pode validar e reduzir falsos positivos de outras soluções;
    • Arquitetura plugin: possibilita a extensão para novos modelos, linguagens e prompts personalizados.

    Disponibilidade e uso do Metis

    O Metis está disponível gratuitamente no GitHub sob licença Apache 2.0, acessível em https://github.com/arm/metis. A configuração do framework é flexível, suportando implantações com Ollama e vLLM, configuradas via arquivo metis.yaml. Por exemplo, para utilizar o Llama 3.1 com Ollama localmente, a configuração deve incluir:

    llm_provider:
      name: "ollama"
      base_url: "http://localhost:11434/v1"
      model: "llama3.1:8b"
      code_embedding_model: "nomic-embed-text:v1.5"
      docs_embedding_model: "nomic-embed-text:v1.5"
    

    Para implantações com vLLM, a Arm recomenda usar o LiteLLM como roteador para coordenar múltiplas instâncias do modelo, otimizando o processamento.

    Atualmente, o foco do Metis é a análise de vulnerabilidades em sistemas de software, mas a Arm já trabalha para expandir o suporte à verificação de vulnerabilidades em hardware.

    Internamente, a Arm já monitora mais de 130 projetos de software com o Metis, confirmando sua eficácia e escalabilidade.

    Impacto esperado e próximos passos

    Com a liberação do Metis, a Arm oferece uma ferramenta poderosa para equipes de desenvolvimento e segurança, que buscam aumentar a precisão na identificação de vulnerabilidades e reduzir o tempo gasto com falsos alarmes. O uso de IA agentic com explicações detalhadas em linguagem natural promete acelerar a análise e correção, elevando a segurança dos sistemas.

    Links úteis