Esqueça Codex vs Claude Code, o Goal Buddy finalmente resolve os dois
AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00este é o Gary, o caracol, e ele identificou uma lacuna no mercado para criar uma plataforma de namoro para caracóis
00:00:04mas como ele é super lento, ele quer que o Claude Code gerencie autonomamente suas tarefas de longa duração
00:00:09felizmente para ele, os agentes ficaram muito bons em tarefas de longa duração, o Claude Code tem um
00:00:13comando “goal” que simplesmente mantém o agente funcionando até que a tarefa seja concluída, mas durante nossos
00:00:18testes, descobrimos vários problemas com o comando “goal”, já que Gary passou recentemente por um
00:00:22divórcio e queremos que ele seja feliz, encontramos esta ferramenta de código aberto que realmente resolve o problema
00:00:28e não funciona apenas com o Claude Code, mas com o Codex também, espalhando amor, assim como a sua mãe, que tenho
00:00:32certeza que te ama tanto quanto o seu irmão empregado, o Claude Code lançou anteriormente um comando chamado
00:00:38goal, que mantém o agente trabalhando até que uma certa condição seja atendida, não cobrimos isso em nosso
00:00:42canal, mas você provavelmente já sabia disso, antes disso, havia um plugin chamado Ralph Wiggum
00:00:47que ganhou muita tração, que essencialmente fazia a mesma coisa, usava hooks para alimentar o prompt
00:00:52de volta ao Claude Code até que a condição fosse realmente atendida, mas a questão é que essas condições precisam ser uma
00:00:57combinação exata, porque o loop do Ralph usa um script shell para verificar a condição literalmente como
00:01:02o guarda do aeroporto que não te deixa passar porque seu spray corporal másculo está acima do limite
00:01:06de bagagem, o comando “goal” funciona de forma diferente, ele pega a condição e a conversa até o momento e dá
00:01:11isso a um modelo pequeno, que é o Haiku, e este modelo avalia inteligentemente se a tarefa está concluída ou não
00:01:17ele retorna uma decisão de sim ou não, e um “não” diz ao Claude para continuar iterando na mesma tarefa, como quando seu chefe
00:01:22te diz para melhorar a experiência do usuário porque ele simplesmente não consegue encontrar um botão na página, então isso torna
00:01:27a avaliação subjetiva e, para coisas que não podemos quantificar por conta própria, isso é uma melhoria real
00:01:32o goal funciona bem para muitas tarefas, mas ainda tem muitos problemas, o primeiro problema é que
00:01:37ele não usa nenhuma base de conhecimento ou sistema de arquivos que acompanhe o progresso da tarefa e, como ele não
00:01:42está fazendo isso, a única fonte de verdade para o agente se torna o contexto do chat, isso pode te desencadear
00:01:47já que foi seu pai quem escreveu a fortuna em criptomoedas em um post-it que caiu da geladeira lá em
00:01:522017, assim que a sessão termina por qualquer motivo e o objetivo não foi concluído, você pode retomar usando
00:01:58o comando “resume” do Claude, o objetivo não será perdido, mas a única maneira de ele saber onde parou é pelo
00:02:03contexto do chat, e como este comando é voltado para tarefas de longa duração e não simples, as coisas podem ficar
00:02:08bagunçadas no meio do caminho e, claro, com o goal rodando por horas, o inchaço do contexto e a compactação
00:02:13estão fadados a se tornar um problema real em algum momento, após a compactação, a saída do agente piora
00:02:18ele começará a se comportar como minha avó, que, por causa da demência, está começando a esquecer o nome
00:02:22deste canal, preciso que vocês assistam ao último vídeo por ela, outro problema é que ele não
00:02:27quebra as tarefas em menores, em vez disso, apenas usa o agente principal e faz a divisão da tarefa
00:02:32por conta própria, do jeito que o Claude Code normalmente faz, então não há um plano estruturado e o agente pode perder o controle
00:02:37do que falta fazer e, embora isso possa funcionar bem em alguns casos, uma definição pouco clara
00:02:42do que parece ser “feito” para agentes nunca é a coisa certa, o goal depende inteiramente
00:02:47do modelo para avaliar a conclusão, então pode não ser tão eficaz em alguns casos, é melhor do que
00:02:52Ralph Wiggum ser completamente rígido usando scripts, mas pelo menos deveria haver alguma métrica
00:02:56que diga ao agente como seria o “feito”, assim como seu fotógrafo de casamento que ficava dizendo
00:03:01mais uma foto até que todo o evento terminasse, então é aqui que o goal falha e essas coisas
00:03:05podem não parecer muito, mas quando colocadas em fluxos de trabalho pesados, podem trazer problemas sérios
00:03:10agora, o Goal Buddy é uma ferramenta construída com um propósito: fazer o comando “goal” realmente funcionar da
00:03:16maneira que deveria, ele resolve todos os problemas que acabamos de discutir, mas não está recebendo tanta
00:03:20atenção quanto deveria, dada a sua utilidade, é como a babá gata, só que em vez de flertar
00:03:25com você, ela está apenas cuidando das suas tarefas de longa duração, o “goal” não preserva o estado do trabalho
00:03:30localmente, então esta ferramenta corrige isso e força o goal a ler e atualizar o estado local em vez de depender
00:03:36do histórico do chat, e também termina com prova, para que o agente realmente saiba como é o “feito” antes
00:03:42de começar, para acompanhar o progresso, também inclui um painel completo onde você pode assistir
00:03:46seu agente trabalhar enquanto ele trabalha e, para lidar com tudo isso, é construído sobre três agentes que são o
00:03:51scout, o worker e o judge, basicamente uma equipe de startup da Y Combinator, onde um faz todo o trabalho, um
00:03:56assiste ele fazer e um julga ambos no Twitter, a instalação é bem direta, basta
00:04:01copiar o comando de instalação e colá-lo na pasta do seu projeto, ele será instalado como um plugin
00:04:06disponível tanto para o Claude Code quanto para o Codex, assim que você iniciar uma nova sessão, poderá ver o comando
00:04:10disponível para uso, então esses três agentes cada um tem uma função estritamente definida e nível de acesso, já que esta
00:04:16ferramenta foi feita para o Codex também, os agentes são definidos em TOML em vez do markdown padrão, o
00:04:21primeiro agente é o judge, que só tem acesso de leitura, ele analisa ceticamente decisões difíceis como escopo arriscado
00:04:26fontes contraditórias e outros padrões para garantir que a tarefa seja concluída com segurança, suas
00:04:31instruções proíbem edição porque ele existe apenas para fazer julgamentos, nada mais, e como seu
00:04:36trabalho é altamente crítico, o raciocínio deste agente é definido como o mais alto, para que as decisões sejam tomadas corretamente
00:04:42é exatamente como quando você está compondo aquele texto para o seu crush por quatro horas seguidas no
00:04:47meio da noite, depois que termina de trabalhar, ele retorna uma estrutura JSON com as decisões aprovadas e
00:04:52rejeitadas junto com a justificativa, o scout é outro agente somente de leitura que mapeia uma tarefa ativa
00:04:57e cria um recibo de evidência compacto para ela, já que seu trabalho é apenas verificar o estado da tarefa
00:05:02seu esforço de raciocínio é mantido baixo, como o segurança da sua boate favorita, ele não se importa
00:05:07muito com isso, e então há o agente worker, o único com acesso de edição, ele faz o trabalho real e
00:05:12só tem permissão para executar uma tarefa por vez, há também a função de PM, que é a thread principal que
00:05:17coordena o fluxo de trabalho, ele se comporta como um gerente de projeto real fazendo o mínimo de trabalho possível
00:05:22é a única autoridade que pode realmente marcar a tarefa como concluída, o fluxo principal começa expressando
00:05:27a intenção da tarefa em palavras adequadas, não vagamente como nós, homo sapiens, costumamos fazer, mas de uma maneira que o
00:05:33agente possa entender adequadamente, e então o oracle é definido, o oracle é basicamente um sinal
00:05:38observável que identifica o resultado, é contra o que o sistema itera para ver se a tarefa pode ser
00:05:43marcada como concluída ou não, pode ser qualquer coisa, uma suíte de testes, uma análise de navegador, quaisquer benchmarks de artefatos ou o código
00:05:49que transforma meu micro-ondas em uma máquina do tempo, porque por que não, agentes de IA estão fazendo tudo neste momento
00:05:54então o próximo passo é surface, ele divide a tarefa em passos acionáveis, cria o painel e mapeia
00:06:00as tarefas em um formato visual, a última peça é o PM, ele é o gerente neste caso e mantém o goal funcionando
00:06:06até que a auditoria final marque o objetivo como alcançado, para usar o Goal Buddy basta rodar o comando goal prep
00:06:11este é o que inicializa o fluxo de trabalho e você define o objetivo que deseja que ele alcance, ele
00:06:16primeiro garante que os agentes estejam instalados e prontos para serem usados, ele então inicia o fluxo, mas ao contrário
00:06:21do comando goal nativo, ele é extremamente autoconsciente e primeiro remove suas próprias ambiguidades fazendo
00:06:27perguntas a você para que possa definir claramente a implementação e, assim como sua esposa suspeita,
00:06:32ele continuará fazendo perguntas até entender, o primeiro passo foca na criação dos arquivos de objetivo, ele coloca
00:06:38o pedido original junto com nossas respostas e então mapeia para o objetivo adequado em uma linguagem
00:06:43que o agente possa entender, contém um resumo de todas as informações e então define o oracle
00:06:48que é a parte mais importante, o oracle para esta tarefa é direto: todos os testes devem passar com
00:06:53comportamento adequado, esse tipo de objetivo é específico porque pode ser avaliado
00:06:57programaticamente, ao contrário da sua história de cobertura ontem à noite que sua esposa não está acreditando, o Goal Buddy divide todo o fluxo de trabalho
00:07:03em pequenas tarefas executáveis, estas são chamadas de “fatias”, mas ao contrário do mundo real, o tamanho não importa aqui
00:07:08porque uma fatia pequena não significa uma tarefa pequena, significa algo que é seguro, pode ser verificado facilmente
00:07:14e pode ser executado individualmente, ele define explicitamente o tamanho seguro da fatia no documento também, ele cria
00:07:19o state.yaml, que rastreia o projeto e as tarefas e define como o loop do PM seria, o state.yaml consiste em
00:07:26todos os objetivos e regras com todas as tarefas divididas por seus IDs e o agente designado, ele contém
00:07:31um campo para rastrear a tarefa ativa também, ele também menciona o painel vinculado, lista todas as tarefas a fazer
00:07:36e as tarefas em progresso, no nosso caso, o agente scout está atualmente em progresso e está mapeando todos
00:07:42os arquivos e endpoints, então para iniciar o loop, basta copiar este comando e executá-lo, ele instrui o Claude a
00:07:47definir o objetivo de fazer tudo o que está no arquivo goal.md, a partir daí ele pegará a primeira tarefa
00:07:52ativa como um rei e então chamará seus agentes subordinados para realizá-la, assim que o scout completar
00:07:58o trabalho, ele atualiza o arquivo de progresso com todas as suas descobertas e as documenta em um diretório separado
00:08:03ele também atualiza o quadro de “ativo” para “concluído”, então o loop pega a próxima tarefa, marca como
00:08:08ativa e inicia o agente judge, o judge analisa criticamente as descobertas e sequencia o relatório
00:08:13nas menores fatias verticais possíveis, que é a divisão de tarefas para o worker realizar
00:08:18independentemente, ele então atualiza a contagem de fatias e atualiza o arquivo de estado adequadamente, cada tarefa
00:08:22lista explicitamente os arquivos permitidos, como verificá-los e quando parar, é assim que ele define cada fatia
00:08:28para que os agentes tenham uma saída esperada clara, verificações e todos os detalhes necessários, então, um por um, ele
00:08:33inicializa o agente worker e começa com a primeira fatia, o progresso de cada agente pode ser rastreado
00:08:39usando o painel, você saberá o que cada tarefa está fazendo, qual agente está ativo, quais tarefas estão na fila e
00:08:44quais estão concluídas, para que você não precise monitorar as coisas sozinho e possa realmente dar aos seus filhos
00:08:48o tempo que eles precisam, assim que todas as tarefas forem concluídas, ele realiza a última auditoria como PM
00:08:53garantindo que todos os testes tenham sido conduzidos adequadamente, uma vez concluída a auditoria, ele marca a tarefa de auditoria final do agente judge
00:08:58como concluída e então marca o objetivo como concluído, depois disso, você tem que começar
00:09:03as orações e esperar que esses agentes não tenham alucinado, no geral, isso funcionou consideravelmente bem, dada a
00:09:09complexidade e a escala do aplicativo que demos a ele, mas achamos que mais paralelização eficaz poderia ser
00:09:13adicionada, porque ele fez tudo sequencialmente, ele lidou com uma tarefa de cada vez e não fez uso de
00:09:18capacidades de paralelização do Claude Code, o Dario ficaria realmente desapontado ao ver isso
00:09:23mas, dado o quão bem ele planejou o fluxo de trabalho, funcionou muito bem, também, se você está gostando do nosso conteúdo
00:09:28considere apertar o botão “hype”, porque isso nos ajuda a criar mais conteúdo como este e alcançar mais
00:09:33pessoas, também queríamos testar o Gold Buddy em algo mais genérico, como projetar uma interface, para ver como ele
00:09:38lida com tarefas que não podem ser avaliadas programaticamente, o teste anterior foi em um fluxo de trabalho específico com
00:09:44critérios claros de aprovação e reprovação, mas assim como você recebendo aquele corte fresco do seu barbeiro, algumas tarefas
00:09:49simplesmente não têm isso, então primeiro demos ao comando usual “goal” um prompt vago, ele inicializou as tarefas
00:09:54do objetivo, consultou o orientador e criou um site rapidamente, sendo preguiçoso, ele apenas criou uma página HTML simples
00:10:00e não optou por nenhum framework, mas a landing page não parecia ruim, então demos exatamente o mesmo prompt para
00:10:05o Goal Buddy também, assim que começou, ele seguiu o mesmo fluxo e fez uma sessão de perguntas similar
00:10:10para esclarecer a intenção conosco, aqui o Goal Buddy realmente pediu a tech stack também, normalmente
00:10:14eu chamaria isso de beijação, mas como levo meus agentes de IA a sério, chamarei de “ser minucioso”, da mesma forma,
00:10:20ele criou o quadro e o arquivo goal.md e traduziu nosso pedido original para um objetivo adequado, também
00:10:26identificou adequadamente o oracle, mas o oracle na tarefa anterior era simples, só precisava passar em todos os
00:10:31testes, este tinha objetivos diferentes, ele definiu a tarefa como completa quando o servidor de desenvolvimento estivesse pronto e
00:10:36o passo a passo do navegador confirmasse que todas as seções funcionam conforme definido, é assim que ele transformou uma
00:10:41tarefa não quantificável em algo quantificável, ele também criou o state.yaml novamente com as regras do oracle,
00:10:47agentes e todas as tarefas listadas e então começou a trabalhar da mesma maneira, levou mais
00:10:52tempo do que o comando goal normal, mas acabou implementando o aplicativo corretamente, isso não será um
00:10:57problema para o Gary, o caracol, mas você deveria fazer algumas flexões enquanto isso, vejo que você engordou
00:11:02comparativamente, o site inteiro teve um desempenho significativamente melhor do que o que o comando goal simples criou
00:11:07se você realmente quer ser um fundador de SaaS B2B de IA que gosta de construir em vez de apenas assistir a tutoriais
00:11:12então você deveria ser um IA Labs Pro, você encontrará nerds que pensam da mesma forma que nossa equipe lá dentro com
00:11:17recursos dos vídeos e muitos outros mimos também, o link estará na descrição e
00:11:22você pode conferir, isso nos traz ao fim deste vídeo, se você gostaria de apoiar o canal
00:11:27e nos ajudar a continuar fazendo vídeos como este, você pode fazer isso usando o botão “super thanks” abaixo, como sempre
00:11:32obrigado por assistir e vejo você no próximo
Community Posts
No posts yet. Be the first to write about this video!
Write about this video