"Você deveria usar mais o Bash." Nas últimas semanas, Thariq, da Anthropic, realizou chamadas de conferência com dezenas de empresas que produzem agentes de uso geral. Assistentes de e-mail, bots de atendimento ao cliente, gerenciamento de agendas – existem todos os tipos de formulários de produtos. Depois de conversar um pouco, ele se pegou repetindo a mesma frase repetidas vezes. Bash? Isso não é uma ferramenta de linha de comando para programadores, e o que isso tem a ver com esses produtos? Vamos olhar primeiro para um cenário específico. Digamos que você tenha um corretor de e-mail e pergunte: "Quanto eu gastei em táxi esta semana?" ” A abordagem tradicional é esta: o agente liga para a API para extrair o e-mail, pode recuperar 100 e-mails de uma vez e então pedir ao modelo para encontrar recibos da Uber e da Lyft dele, somando o valor. O problema é que 100 mensagens são comprimidas em contexto, e o modelo precisa memorizá-las ao mesmo tempo, filtrá-las e calculá-las. Isso não é fácil para grandes modelos de linguagem. É fácil não perceber, é fácil cometer erros, e você não consegue verificar quais e-mails ele lê. Esse é um problema típico da zona de conforto do modelo: a quantidade de dados não é grande o suficiente para ser processada por um programa especial, mas está além da capacidade do modelo para fazer cálculos difíceis únicos. Preso no meio, é constrangedor. A solução do Thariq é dar ao agente uma ferramenta Bash e deixá-lo salvar os resultados intermediários como um arquivo. Parece simples, mas a lógica por trás disso é interessante. Uma chamada tradicional de ferramenta seria assim: A ferramenta → o modelo processa → saída Todos os estados intermediários estão no "cérebro" do modelo, que você não pode ver nem verificar. Após a mudança para Bash, o processo mudou: Ferramentas → arquivos de salvamento→ busca/filtro → processamento de modelos → resultados de saída ...