Este plugin do Claude Code escreve 94% menos código (ponytail)

BBetter Stack
컴퓨터/소프트웨어창업/스타트업경영/리더십

Transcript

00:00:00Você o conhece. Rabo de cavalo longo, óculos ovais, está na empresa há mais tempo que o controle de versão.
00:00:06Você mostra 50 linhas a ele, ele olha para elas, não diz nada e as substitui por uma.
00:00:11Essa é a descrição épica desta nova biblioteca chamada Ponytail, que eu acho que é meio
00:00:17relacionável. Todos nós conhecemos aquele desenvolvedor 10x que corresponde perfeitamente a essa descrição. Mas o Ponytail
00:00:23é na verdade uma ferramenta muito legal. Ele faz com que seu agente de codificação de IA pense como o desenvolvedor sênior mais preguiçoso
00:00:29da sala. E isso é, na verdade, um elogio. Então, neste vídeo, vamos dar uma olhada no Ponytail,
00:00:35ver como ele funciona e executar algumas demonstrações divertidas para descobrir se esse cara é realmente o que diz ser.
00:00:41Vai ser muito divertido, então vamos mergulhar nisso.
00:00:48Então, a missão do Ponytail é simples. Manter tudo superconciso, eliminar o inchaço que agentes de IA geralmente
00:00:55produzem e tentar encontrar a solução mais enxuta possível para um problema.
00:01:00É meio parecido com o Caveman, que foi a biblioteca que fez os agentes de codificação de IA falarem menos,
00:01:06gastando, portanto, menos tokens, sobre o qual James também fez um ótimo vídeo aqui. Então, a ideia principal
00:01:12por trás disso é abraçar o princípio YAGNI, que significa “you ain't gonna need it” (você não vai precisar disso). É, na verdade, uma
00:01:18ideia de engenharia de software dos anos 90. E a ideia central é não construir algo até que você
00:01:25realmente precise disso. Não adicione uma camada de abstração, não instale uma biblioteca, não escreva a classe.
00:01:31Se o problema puder ser resolvido sem isso, apenas resolva sem isso. E o Ponytail incorpora isso diretamente
00:01:37ao seu agente, dando-lhe uma escada de decisão que ele deve subir antes de escrever qualquer coisa. Isso precisa
00:01:43existir de fato? Uma biblioteca padrão pode resolver? Existe um recurso nativo da plataforma para isso? Já existe
00:01:50uma dependência instalada que faz isso? Pode ser em uma linha? Somente se cada uma dessas
00:01:57respostas for não, então ele realmente escreve um código novo. E mesmo assim, ele mantém o mínimo necessário
00:02:04para funcionar.
00:02:05E se olharmos para alguns de seus exemplos, especialmente o exemplo da caixa de diálogo modal, obtemos uma imagem clara desta
00:02:11metodologia. Um agente normal, quando solicitado a adicionar uma caixa de diálogo modal para a confirmação de exclusão,
00:02:18imediatamente tentará instalar uma biblioteca de interface Radix como o React dialogue e lhe dará uma
00:02:25dependência e um portal, uma sobreposição, um root, um gatilho, um wrapper de conteúdo, apenas para mostrar uma caixa com dois
00:02:34botões. Mas o Ponytail olha para isso e diz: ei, o navegador já tem um elemento de diálogo. Ele captura
00:02:41o foco automaticamente. E fecha com a tecla Esc, renderiza um pano de fundo com um seletor CSS simples,
00:02:49e é suportado em todos os principais navegadores desde 2022. Então, em vez de 30 linhas em um pacote NPM,
00:02:58você obtém oito linhas e zero dependências. E este pequeno comentário do Ponytail aqui
00:03:04diz exatamente o que ele ignorou e por que fez isso. Então, se um dia você realmente decidir atualizar
00:03:11para a versão Radix ou algo mais sofisticado, você saberá onde ir e onde isso foi adiado.
00:03:16Então é preguiçoso, mas não é irresponsável. E ao abraçar essa preguiça, o Ponytail afirma ser capaz
00:03:22de reduzir seu custo em 47 a 77%. E eles realmente fornecem alguns benchmarks por trás dessa afirmação. Então vamos
00:03:29olhar para eles por um momento. Temos três métodos aqui: sem uso de habilidade, usando Caveman e usando Ponytail.
00:03:36E três modelos e cinco tarefas cotidianas. Dez execuções por célula e, para cada uma delas, o resultado mediano. E
00:03:43crucialmente, eles também verificam a exatidão. Uma solução de uma linha quebrada que pontua bem em linhas de código falhará na
00:03:50exatidão. Então não é apenas escrever menos, tem que funcionar de verdade. E há também uma ressalva interessante
00:03:56que vale a pena notar. O custo reflete chamadas de tentativa única que reenviam a habilidade todas as vezes. Em outras palavras,
00:04:03o benchmark funciona enviando uma nova chamada de API para cada teste. E toda vez que faz isso, inclui
00:04:10o conjunto completo de regras do Ponytail no prompt. Então, no benchmark, o Ponytail está sendo penalizado pelo custo de
00:04:16suas próprias instruções em cada teste. Na vida real, você paga por essas instruções aproximadamente uma vez
00:04:22por sessão. E depois disso, elas são armazenadas em cache. Isso significa que o valor de 47 a 77% mais barato está na verdade
00:04:29subestimando. Em uma sessão de trabalho real espalhada por muitos prompts, a vantagem de custo é ainda maior
00:04:36porque o custo de injeção da habilidade é amortizado ao longo de toda a conversa. Dito isto, há uma
00:04:42crítica legítima que vale a pena mencionar. Uma postagem de blog publicada recentemente por Colin Eberhardt aponta
00:04:48que se você trocar o Ponytail por três palavras simples, “siga os princípios YAGNI”, os resultados
00:04:55disso quase combinam perfeitamente com a pontuação do benchmark do Ponytail. E ao elaborar para sete palavras, “siga os princípios YAGNI
00:05:03e soluções de uma linha”, isso na verdade superou o benchmark. Então o Ponytail é mágica ou é apenas um prompt bem embalado?
00:05:11Bem, honestamente, essa é uma pergunta justa. Mas eu argumentaria que o empacotamento é o produto. Você recebe as regras certas
00:05:18injetadas automaticamente em diferentes agentes com comandos, ferramentas de auditoria e um livro razão de profundidade. Além disso,
00:05:25o Ponytail tem outros recursos legais. “Siga o YAGNI” no seu prompt do sistema não lhe dá o
00:05:31recurso de auditoria do Ponytail ou o recurso de revisão do Ponytail. Mas agora vamos testá-lo com um exemplo simples.
00:05:37Então, aqui tenho duas instâncias do Cloud Code abertas e em uma delas vou instalar o plugin Ponytail
00:05:44apenas para o escopo local. E a outra será uma instância simples e padrão do Cloud Code sem
00:05:49nenhum plugin ativado. Vou dar a ambas o mesmo prompt para construir um aplicativo de painel meteorológico que detecta a localização do usuário
00:05:56e mostra as condições climáticas atuais, juntamente com alguns outros recursos. E vou executar o mesmo
00:06:02prompt em ambas as instâncias, com a única exceção de que, na do Ponytail, vou também pedir
00:06:08para ele usar a habilidade Ponytail, porque às vezes ele não a seleciona automaticamente. Então, após alguns
00:06:12momentos, vemos que a versão Ponytail já terminou a tarefa em menos de um minuto, enquanto a
00:06:18padrão ainda está processando. E também vemos uma visão geral muito concisa do que ele construiu e do que o Ponytail
00:06:25optou por não fazer para máxima eficiência. E como podemos ver aqui, ele optou por ter tudo em um único arquivo HTML.
00:06:34Enquanto isso, na janela padrão, a tarefa foi concluída em dois minutos e 30 segundos. E já podemos ver que esta
00:06:41versão está muito mais inchada. Temos três arquivos separados e esta versão é executada usando um servidor Python.
00:06:48Então, embora este não seja de forma alguma um resultado ruim, é muito mais superprojetado do que a primeira versão.
00:06:54Mas vamos ver como eles operam. Então, primeiro, esta é a versão sem o Ponytail.
00:07:00E embora o aplicativo pareça ótimo e a interface do usuário seja bonita e a API recupere informações conforme o esperado,
00:07:07estou bastante desapontado por ele não ter detectado minha localização automaticamente como eu pedi.
00:07:12E, em vez disso, mostra-me Londres como o primeiro resultado padrão. Mas agora, se pularmos para a versão Ponytail,
00:07:19aqui podemos ver claramente que, ao abri-lo, ele pede para obter minha localização atual e, em seguida, exibe o clima
00:07:25correspondente a essa localização. Então, embora a interface do usuário talvez não seja tão sofisticada e o aplicativo talvez seja mais básico,
00:07:33ele seguiu as instruções com mais precisão do que a versão padrão, o que é bastante surpreendente, para ser honesto.
00:07:39E por último, vamos olhar para o uso. E aqui podemos ver que sim, de fato, a versão com Ponytail
00:07:45acabou sendo 50% mais barata que a versão padrão. E também produziu muito menos linhas de código.
00:07:52E como acabamos de ver, foi ainda melhor em termos de funcionalidade do que a versão padrão.
00:07:58Então, isso prova que o Ponytail realmente funciona como esperado e produz código mais enxuto.
00:08:04Então, como este teste foi tão bem-sucedido, decidi fazer algo ainda mais interessante.
00:08:09E se eu combinar Caveman e Ponytail para máxima eficiência? O que isso nos dará?
00:08:17Então, desta vez, ativei ambos os plugins em um novo diretório e executei o mesmo prompt novamente.
00:08:22E, mais uma vez, a tarefa foi concluída em menos de um minuto e a saída foi bastante semelhante.
00:08:28E eu tive toda a mesma funcionalidade. Então funcionou como esperado.
00:08:32Mas se olharmos para a saída, ela não divergiu muito da versão Ponytail e a combinação
00:08:37Caveman mais Ponytail acabou sendo ainda um pouco mais cara do que a versão Ponytail independente.
00:08:44Então isso mostra que combiná-los não lhe dá realmente nenhuma melhoria significativa.
00:08:49Então você pode continuar usando apenas o Caveman ou, melhor ainda, optar por usar o Ponytail.
00:08:54Se pudermos acreditar em seus benchmarks de que é de fato melhor que o Caveman.
00:08:58Então aí está, pessoal. Esse é o Ponytail em poucas palavras.
00:09:02Estou genuinamente impressionado com a produção positiva que o Claude foi capaz de produzir
00:09:07com a habilidade Ponytail, eliminando o inchaço e mantendo a qualidade ao mesmo tempo.
00:09:13Acho que isso só mostra que muitas de nossas soluções de codificação são provavelmente superprojetadas
00:09:19e, às vezes, menos é realmente mais se você usar da maneira certa.
00:09:23Então, definitivamente vou manter o Ponytail como um plugin na minha configuração do Claude Code
00:09:29e provavelmente usá-lo para projetos futuros.
00:09:31Mas o que você acha do Ponytail? Você já experimentou?
00:09:34Você vai usá-lo? Deixe-nos saber na seção de comentários abaixo.
00:09:37E pessoal, se vocês gostam desses tipos de análises técnicas,
00:09:40por favor, deixem-me saber apertando esse botão de curtir abaixo do vídeo.
00:09:44E também não se esqueçam de se inscrever no nosso canal.
00:09:47Este foi Andrus da BetterStack e vejo vocês nos próximos vídeos.

Key Takeaway

O plugin Ponytail otimiza agentes de IA ao aplicar o princípio YAGNI, reduzindo drasticamente o inchaço do código, os custos de API e as dependências externas.

Highlights

  • A ferramenta Ponytail reduz o custo operacional de agentes de codificação em 47% a 77%.

  • O Ponytail aplica rigorosamente o princípio YAGNI (You Ain't Gonna Need It) para eliminar abstrações desnecessárias e dependências externas.

  • Em um teste prático, o uso do Ponytail reduziu o tempo de conclusão de uma tarefa de 2 minutos e 30 segundos para menos de 1 minuto.

  • O Ponytail substitui bibliotecas de interface complexas, como Radix UI, por elementos nativos do navegador como o elemento .

  • A versão baseada em Ponytail superou a versão padrão ao seguir corretamente a solicitação de detecção automática de geolocalização.

Timeline

Conceito e Filosofia do Ponytail

  • O Ponytail força o agente de IA a seguir uma hierarquia de decisão antes de escrever qualquer código novo.
  • O princípio fundamental é YAGNI (You Ain't Gonna Need It), evitando abstrações, classes ou bibliotecas desnecessárias.
  • A ferramenta prioriza soluções nativas da plataforma em vez de adicionar dependências externas.

O Ponytail atua como um guia para agentes de codificação, incentivando o pensamento minimalista. Antes de iniciar uma tarefa, o agente verifica se é possível usar recursos nativos da linguagem ou da plataforma, instalando pacotes apenas como último recurso. Essa abordagem reduz a complexidade do software e a manutenção a longo prazo.

Demonstração: Caixas de Diálogo

  • Agentes convencionais frequentemente instalam pacotes como React Dialog, resultando em dezenas de linhas de código e dependências.
  • O Ponytail utiliza o elemento nativo do navegador, exigindo apenas 8 linhas e zero dependências.
  • O código gerado inclui comentários justificando as escolhas de implementação para facilitar futuras manutenções.

O exemplo da caixa de diálogo modal ilustra a diferença metodológica entre um agente padrão e um otimizado pelo Ponytail. Enquanto o agente comum adiciona complexidade desnecessária com bibliotecas como Radix UI, o Ponytail aproveita os recursos modernos do HTML5 que já gerenciam foco, fechamento com a tecla Esc e camadas de sobreposição nativamente.

Benchmarking e Eficiência de Custo

  • Os testes mostram uma economia de 47% a 77% nos custos de tokens.
  • A economia real é superior ao benchmark, pois o custo das instruções do plugin é amortizado em sessões longas.
  • Resultados semelhantes podem ser obtidos via prompts manuais, embora o plugin ofereça ferramentas de auditoria adicionais.

A medição de eficiência considerou a exatidão do código produzido, não apenas a redução de linhas. Embora prompts manuais baseados em princípios de engenharia possam atingir resultados similares, o Ponytail oferece automação, auditoria e um histórico de decisões, o que simplifica a adoção dessas boas práticas por agentes de IA de forma consistente.

Teste Prático e Comparativo

  • A versão otimizada com Ponytail concluiu o painel meteorológico em menos de 1 minuto contra 2 minutos e 30 segundos da versão padrão.
  • O Ponytail seguiu instruções específicas, como detecção de geolocalização, onde a versão padrão falhou.
  • A combinação de Ponytail com Caveman não apresentou ganhos significativos em relação ao uso isolado do Ponytail.

Em uma comparação direta criando um aplicativo meteorológico, o Ponytail não apenas entregou um código mais conciso em um único arquivo, mas também exibiu maior precisão funcional. A tentativa de combinar múltiplas bibliotecas de eficiência não trouxe benefícios adicionais, consolidando o Ponytail como a solução mais prática para manter a qualidade e o minimalismo no desenvolvimento assistido por IA.

Community Posts

View all posts