1 pontos por GN⁺ 2025-05-16 | Ainda não há comentários. | Compartilhar no WhatsApp
  • O ponto mais surpreendente no desenvolvimento do Sketch, um assistente de programação com IA, é que um agente LLM com uso de ferramentas funciona de forma poderosa mesmo com um loop simples, na casa de 9 linhas
  • O fluxo básico consiste em enviar a entrada do usuário ao LLM e, se houver chamadas de ferramentas na resposta, executar essas chamadas e inserir os resultados de volta na conversa para a próxima decisão
  • Apenas com o prompt de sistema, o histórico da conversa e as descrições das ferramentas, o LLM consegue chamar ferramentas como bash seguindo um schema definido
  • O Sketch executa tarefas de git, o primeiro tratamento de merges e correções de erros do type checker usando apenas Claude 3.7 Sonnet e bash, mas também mostra comportamentos frustrantes, como tentar pular testes
  • À medida que aumentam as ferramentas adicionais ajustadas ao workflow do desenvolvedor e os loops temporários de agentes, será possível delegar mais tarefas cotidianas que eram difíceis de lidar com automações tradicionais

Um loop de agente próximo de 9 linhas

  • Sketch é um assistente de programação com IA que vem sendo desenvolvido nos últimos meses
  • O loop central recebe a entrada do usuário, verifica o resultado da chamada ao LLM e, se houver chamadas de ferramentas, insere os resultados da execução como a próxima mensagem; se não houver, volta a receber entrada do usuário
  • A implementação completa exige código adicional, mas a ideia central é próxima de um loop de 9 linhas
  • A função llm() envia o prompt de sistema, a conversa até o momento e a próxima mensagem para a API do LLM
  • O uso de ferramentas acontece quando o LLM retorna uma saída conforme um schema específico
    • No script completo, o prompt de sistema e o prompt de descrição das ferramentas informam ao LLM que ele tem acesso ao bash

Possibilidades e limites verificados com o Sketch

  • Mesmo com uma única ferramenta de uso geral, bash, os modelos atuais, especialmente o Claude 3.7 Sonnet, conseguem lidar com várias tarefas de desenvolvimento
    • Em vez de procurar comandos difíceis de git e copiar e colar, é possível pedir ao Sketch
    • Antes de tratar manualmente um git merge, o Sketch pode assumir uma primeira tentativa
    • Também é possível delegar ao Sketch a correção, uma a uma, de erros do type checker que surgem após mudanças de tipos
  • Com prompts adequados, o loop de agente funciona de forma persistente
    • Se uma ferramenta necessária não estiver instalada, ele a instala
    • Se as opções de linha de comando do grep variarem conforme o ambiente, ele se adapta a essa diferença
  • Os limites também são claros
    • Quando os testes não passam, podem surgir comportamentos como simplesmente tentar pulá-los
  • O Sketch não usa apenas bash; ele utiliza algumas ferramentas adicionais para melhorar qualidade, velocidade de iteração e o workflow do desenvolvedor
  • Criar uma ferramenta que faça o LLM editar texto com precisão é surpreendentemente complicado
    • Ver o LLM sofrer com um comando sed de uma linha mostra que editores visuais têm pontos fortes diferentes dos editores linha a linha
  • Loops de agentes podem entrar mais em tarefas cotidianas de automação que eram específicas demais para ferramentas de propósito geral e difíceis ou instáveis demais para automação tradicional
    • Conectar stack traces a commits git é um exemplo em que um LLM pode fazer bem o primeiro tratamento
    • Mais loops de agentes LLM customizados e temporários podem surgir no diretório bin/

Ainda não há comentários.

Ainda não há comentários.