O verdadeiro salto de 'llm' 0.32a0: Adeus ao texto plano, olá às interações complexas
Se você trabalha integrando inteligência artificial a partir do terminal ou por meio de scripts, provavelmente conhece llm, a fantástica biblioteca e ferramenta CLI criada por Simon Willison. Em 29 de abril de 2026, Willison lançou a versão 0.32a0 (uma fase alfa muito estável) e traz mudanças profundas que resolvem uma grande dor de cabeça para os desenvolvedores.
O problema: Os modelos evoluíram, as ferramentas não
Quando llm nasceu lá em 2023, a dinâmica era simples: você enviava um texto para o modelo e o modelo te devolvia outro texto. Mas hoje, monstros como Claude, GPT-4 ou Gemini fazem muito mais do que falar. Eles têm processos de "raciocínio" interno, executam chamadas a ferramentas (tool calls) e até processam imagens.
A arquitetura original de entrada e saída de texto plano já não dava conta de lidar com todo esse conteúdo misto.
O novo sob o capô
Essa atualização é um redesenho maior (mas cem por cento compatível com versões anteriores) que muda radicalmente como a ferramenta se comunica com as APIs:
- Sequências de mensagens em vez de um único prompt: Agora as entradas são estruturadas como um histórico de conversa definido por turnos (usuário e assistente). Isso é vital se você precisa injetar um histórico de chat anterior antes de fazer uma consulta, algo que antes exigia dar muitas voltas.
- Streaming por partes (Typed event parts): Ao receber a resposta,
llmnão solta mais um bloco de texto cru. Agora separa o fluxo de dados conforme seu tipo. Assim, pode distinguir perfeitamente se o modelo está te enviando "texto final", seu "raciocínio" interno, o nome de uma ferramenta que deseja executar ou os parâmetros dessa ferramenta. - Pensamento colorido no terminal: Graças ao novo streaming, se você usar a ferramenta a partir do console, verá o "raciocínio" do modelo em uma cor diferente. Além disso, esse texto de pensamento é desviado para a saída de erro padrão (
stderr) para não quebrar outros comandos se você estiver conectando processos. Também foi adicionada a flag-R(ou--no-reasoning) para ocultar o pensamento se você estiver apenas interessado no resultado final. - Armazenamento e carregamento rápido: Incorporaram a capacidade de serializar e desserializar respostas rapidamente com funções nativas como
to_dict()efrom_dict().
Por que isso importa?
Diferente do que alguns pensam, essa biblioteca não compete com os grandes modelos de linguagem, mas sim é a ponte perfeita para eles. A atualização 0.32a0 te dá o controle milimétrico para lidar com respostas modernas, permitindo construir fluxos de trabalho em Python muito mais sólidos, sem ter que fazer malabarismos para processar textos estranhos.
Por ser uma versão alfa, já pode ser testada a partir do seu repositório, e é o momento ideal para começar a adaptar seu código antes que a versão definitiva chegue.
