Skip to content
ReviewRamble

The weekly brief

AI, reviewed, in your inbox.

  • New reviews of tools, models, MCP servers and repos, with the verdict up front
  • Re-checked prices and ratings when something changes
  • New analysis pieces as they are published

Models, agents, MCP servers and the tools actually worth your time.

One email a week. Unsubscribe with the link in any brief. How we use your email

BAML

A linguagem tipada da Boundary para funções de LLM, agora dividida entre uma DSL legada estável e uma linguagem para agentes anterior à 1.0.

Análise de Sheela · Atualizado

Ver no GitHub Código aberto

Nossa nota

3.8/5

O BAML deixa a saída de LLMs tipada de forma confiável, mas hoje você escolhe entre uma DSL legada e uma linguagem nova que ainda quebra a cada poucas semanas.

O que é BAML?

BAML (Basically A Made-up Language) é uma linguagem de código aberto da Boundary, uma start-up de Seattle, para escrever chamadas a LLMs como funções tipadas. Você declara as entradas, o tipo de saída e o prompt em um arquivo .baml; um gerador escreve um cliente para a sua aplicação, e um parser em Rust repara a resposta do modelo até que ela se encaixe no tipo declarado.

O projeto está no meio de uma divisão. O BAML v0, agora rotulado como a DSL legada, é a ferramenta de saída estruturada que a maioria dos usuários conhece: os pacotes baml-py e @boundaryml/baml, na versão 0.226.3, geram clientes para Python, TypeScript, Ruby e Go. O BAML v1, distribuído como versões baml-language com builds quase diários, é uma linguagem de uso geral para agentes, separada, que a documentação descreve como beta pública e o site chama de anterior à 1.0.

O código é Apache-2.0 e roda localmente. A Boundary pretende cobrar pelo BAML Cloud, um serviço hospedado de traces e controles de equipe que, em 1 de novembro de 2026, não tinha sido lançado nem tinha preços publicados.

BAML vale a pena?

O BAML é o argumento mais forte para tratar prompts como código tipado e não como strings, e 2026 é um ano desconfortável para adotá-lo. A ideia central se sustenta: uma função em um arquivo .baml declara seu tipo de saída, o cliente gerado chama o modelo, e o schema-aligned parsing corrige vírgulas finais, aspas ausentes e objetos pela metade em vez de rejeitá-los. O benchmark da própria Boundary, com 1,000 casos do Berkeley Function Calling Leaderboard por modelo, colocou o gpt-4o-mini em 92.4% com o parser contra 19.8% com function calling nativo. Os números são autodeclarados e usam modelos da era de 2024, mas explicam por que equipes que rodam modelos baratos gostam dele.

O desconforto está na divisão. A versão 0.225.0, no início de agosto de 2026, rebatizou a linha existente como BAML v0, a DSL legada, e o esforço da Boundary passou para o BAML v1, uma linguagem separada com green threads, erros tipados e um framework de testes embutido. O v0 continua saindo (o baml-py 0.226.3 chegou em 28 de outubro), mas o README, o quickstart e os builds noturnos apontam todos para o v1. O toolchain do v1 foi da 0.21.0, em 8 de outubro, à 0.23.0, em 26 de outubro, e só as notas da 0.21.0 listam 13 mudanças incompatíveis, de chaves de mapa entre aspas a APIs de tracing removidas. O v1 também troca o pacote Python, de baml-py para baml-bridge, e a Boundary mantém um repositório separado de kit de migração.

No dia a dia, o atrativo são as ferramentas. A extensão do VS Code regenera o cliente ao salvar e abre um playground onde você roda um prompt contra entradas de teste antes de escrever o código da aplicação; o promptfiddle.com faz o mesmo no navegador. O v0 conversa nativamente com Anthropic, OpenAI (incluindo a Responses API), Azure OpenAI, Google AI, Vertex AI e AWS Bedrock, e com Ollama, vLLM, OpenRouter, Groq e outros por meio de um cliente compatível com OpenAI, com políticas de fallback, round-robin e novas tentativas declaradas ao lado do prompt. Comparado a Pydantic AI, Instructor ou Outlines, que mantêm você em Python, o preço é um novo tipo de arquivo, uma etapa de geração de código e uma linguagem que seus colegas precisam aprender.

Os padrões de privacidade merecem uma leitura cuidadosa. A página de preços da Boundary diz que o toolchain não contata os servidores da empresa, mas a CLI envia por padrão estatísticas de uso anônimas: o nome do comando, a versão do BAML, o sistema operacional e dados da CPU, um ID aleatório da máquina e um hash com salt da raiz do projeto, mas não prompts, código ou chaves. baml telemetry disable ou DO_NOT_TRACK=1 desliga isso. O tracing em tempo de execução é uma chave separada, vem em medium por padrão e grava corpos HTTP localmente; só envia para a Boundary quando você faz login ou define BOUNDARY_API_KEY.

Uma equipe com pipelines de extração em v0 que já funcionam tem pouco a ganhar migrando antes de o v1 chegar à 1.0. Um projeto novo enfrenta a aposta mais difícil: o v1 é onde uma equipe que se descreve como pequena concentra sua atenção, o repositório soma 366 issues e pull requests abertos, e o BAML Cloud, a parte paga, não tinha preço publicado em 1 de novembro de 2026, então ninguém consegue ainda orçar a observabilidade hospedada.

Onde ele se destaca

  • Uma equipe de dados em Python de uma corretora de seguros

    Extrair campos tipados de milhares de e-mails de sinistro por dia

    Definir o sinistro como uma classe BAML, montar testes a partir de e-mails reais no playground e chamar o cliente Pydantic gerado a partir do pipeline existente. O parser recupera respostas que uma validação JSON estrita rejeitaria, o que torna viável um modelo mais barato; o custo são os tokens do modelo e manter o baml-py fixado em uma versão.

  • Uma equipe de produto em TypeScript adicionando recursos de IA a um app SaaS

    Manter os prompts revisáveis e o modelo substituível

    Os prompts ficam em arquivos .baml revisados como qualquer outro código, e um cliente de fallback passa da OpenAI para a Anthropic quando uma chamada falha. O client registry pode mandar uma parte do tráfego, como 10%, para um modelo candidato. Sem custo de licença; o risco é que o desenvolvimento da Boundary agora se concentra no v1.

  • Uma gerente de engenharia em uma start-up de 20 pessoas escolhendo sua stack de agentes

    Decidir se vale construir novos agentes sobre o BAML v1

    Planejar para uma linguagem anterior à 1.0: o toolchain do v1 lançou três versões menores em outubro de 2026 (0.21.0, 0.22.0 e 0.23.0) e seu pacote Python, baml-bridge, substitui o baml-py. O tracing hospedado não tem preço publicado, então os traces locais são hoje a única opção que dá para orçar.

Antes de decidir

Configuração
v0: pip install baml-py (ou npm @boundaryml/baml), depois baml-cli generate escreve uma pasta baml_client; a extensão do VS Code a regenera ao salvar. v1: brew install baml ou o script de instalação, baml init e então baml run main; baml agent install adiciona orientações para Claude Code e Codex.
Integrações
Provedores do v0: Anthropic, OpenAI e OpenAI Responses, Azure OpenAI, Google AI, Vertex AI e AWS Bedrock, além de Ollama, vLLM, LM Studio, OpenRouter, Groq, LiteLLM e outros via openai-generic. O v0 gera clientes para Python, TypeScript, Ruby e Go; o v1 é chamado a partir de Python e TypeScript, com repositórios iniciais de SDK para Go e Swift.
Dados e privacidade
Os prompts vão só para os provedores que você configura. A CLI envia estatísticas anônimas por padrão (comando, versão, dados da máquina, um ID aleatório); para desligar, baml telemetry disable ou DO_NOT_TRACK=1. Os traces de execução, incluindo corpos HTTP, são gravados localmente e só enviados com login na Boundary ou BOUNDARY_API_KEY. O nível de log info padrão do v0 imprime cada prompt e cada resposta bruta no terminal. Não há alertas de segurança publicados no GitHub.
Custo em escala
A linguagem e o toolchain são gratuitos sob Apache-2.0, então a conta são os tokens do modelo, e o reparo feito pelo parser pode deixar um modelo mais barato fazer o trabalho. O BAML Cloud, para observabilidade hospedada e controles de equipe, foi anunciado, mas sem preço.
Limites
366 issues e pull requests abertos; o v1 é anterior à 1.0 e tem mudanças incompatíveis frequentes; a documentação do v0 está marcada como legada; o benchmark do parser da Boundary é autodeclarado e usa modelos da era de 2024.

O que é bom

  • O schema-aligned parsing transforma JSON malformado em valores tipados
  • O playground roda prompts contra testes dentro do VS Code
  • Políticas de fallback, round-robin e novas tentativas declaradas por cliente
  • Apache-2.0; roda localmente sem conta

O que não é

  • Dividido entre o v0 legado e o v1 anterior à 1.0
  • Só as notas do v1 0.21.0 listam 13 mudanças incompatíveis
  • Estatísticas anônimas da CLI ligadas por padrão
  • Uma linguagem nova e uma etapa de codegen para toda a equipe
  • BAML Cloud não lançado e sem preço

Ideal para

Equipes que extraem dados tipados de LLMs em grande volume, muitas vezes com modelos mais baratos, e que vão assumir uma etapa de geração de código e um toolchain que muda rápido.

Alternativas ao BAML

BAML: perguntas frequentes

BAML vale a pena?
O BAML deixa a saída de LLMs tipada de forma confiável, mas hoje você escolhe entre uma DSL legada e uma linguagem nova que ainda quebra a cada poucas semanas. Damos nota 3.8 de 5.
Quanto custa BAML?
Gratuito e de código aberto sob Apache-2.0; o toolchain roda localmente sem conta. O BAML Cloud (observabilidade hospedada e controles de equipe) foi anunciado, mas não tem preços publicados.
Quais são as desvantagens de BAML?
Dividido entre o v0 legado e o v1 anterior à 1.0; só as notas do v1 0.21.0 listam 13 mudanças incompatíveis; estatísticas anônimas da CLI ligadas por padrão; uma linguagem nova e uma etapa de codegen para toda a equipe; bAML Cloud não lançado e sem preço.
Para quem BAML é indicado?
Equipes que extraem dados tipados de LLMs em grande volume, muitas vezes com modelos mais baratos, e que vão assumir uma etapa de geração de código e um toolchain que muda rápido.
Quanto custa BAML para uma equipe ou em produção?
A linguagem e o toolchain são gratuitos sob Apache-2.0, então a conta são os tokens do modelo, e o reparo feito pelo parser pode deixar um modelo mais barato fazer o trabalho. O BAML Cloud, para observabilidade hospedada e controles de equipe, foi anunciado, mas sem preço.
BAML é seguro para dados da empresa?
Os prompts vão só para os provedores que você configura. A CLI envia estatísticas anônimas por padrão (comando, versão, dados da máquina, um ID aleatório); para desligar, baml telemetry disable ou DO_NOT_TRACK=1. Os traces de execução, incluindo corpos HTTP, são gravados localmente e só enviados com login na Boundary ou BOUNDARY_API_KEY. O nível de log info padrão do v0 imprime cada prompt e cada resposta bruta no terminal. Não há alertas de segurança publicados no GitHub.
Quais são as melhores alternativas ao BAML?
As alternativas mais próximas que analisamos são Pydantic AI, Guardrails AI e LangChain.

Respostas verificadas em 1 de nov. de 2026.