00:00:00Existem diversos editores de código com IA, cada um com seu próprio conjunto de ferramentas e recursos exclusivos.
00:00:04O Claude Code é possivelmente o melhor, especialmente com o modelo Opus, mas também é caro.
00:00:09Por outro lado, o Cursor é outro favorito entre desenvolvedores que gostam de ver o código lado a lado com as ações do agente, mas ele tem seus próprios problemas.
00:00:16O Google também lançou o Anti-Gravity com o Gemini 3, que se tornou popular rapidamente entre desenvolvedores por causa do modelo e de ser gratuito.
00:00:23Ele é mais recente que o Claude Code e o Cursor, mas implementou muita coisa melhor do que o Cursor.
00:00:28Desde que a codificação por IA se tornou poderosa, muita gente tem criado seus próprios fluxos de trabalho com essas ferramentas.
00:00:35Mas o segredo de qualquer bom fluxo de trabalho é a eficiência na gestão do seu contexto.
00:00:39Recentemente, a Anthropic lançou um suporte de agentes para tarefas longas e, desta vez, o Cursor lançou seu próprio suporte para melhorar significativamente o uso da ferramenta, explorando ao máximo suas capacidades.
00:00:50Os princípios mencionados no artigo são aplicáveis a quase todos os agentes, então estou levando esses princípios para o Anti-Gravity do Google.
00:00:57Pode não ser o melhor ainda, mas tem recursos que o destacam dos demais.
00:01:01Temos muito o que conversar hoje porque, com a adição desse suporte, o desempenho do Anti-Gravity melhorou significativamente.
00:01:28Por fim, há a forma como você, usuário, interage com ele, como cria os prompts e como acompanha as respostas.
00:01:38O suporte é importante porque modelos diferentes reagem ao mesmo prompt de formas distintas, já que cada um tem seus pontos fortes e funciona melhor no ambiente em que foi treinado.
00:01:48Por exemplo, um modelo treinado em ambiente de terminal pode preferir naturalmente usar o GREP em vez de uma ferramenta de busca dedicada.
00:01:54Isso importa porque sabemos que modelos como o Claude se destacam com prompts em XML, enquanto outros funcionam melhor com Markdown.
00:02:00Portanto, é crucial que o suporte que usamos seja adaptado ao modelo específico com o qual estamos trabalhando.
00:02:04Planejar antes da implementação é essencial para garantir que o código atenda às suas expectativas.
00:02:10Desenvolvedores experientes tendem a planejar antes de gerar código, pois isso força um pensamento claro sobre o que está sendo construído e dá ao agente objetivos concretos.
00:02:18O recurso de planejamento do Anti-Gravity é o meu favorito, pois revisar o plano é muito fácil através de comentários.
00:02:24Quando comecei no modo de planejamento, ele analisou minuciosamente minhas instruções e a base de código existente para gerar um plano detalhado.
00:02:30Embora ler o plano tenha sido cansativo, é essencial revisá-lo com cuidado para garantir que a implementação siga a visão original; portanto, leia tudo atentamente.
00:02:38Para fazer alterações, eu só precisei comentar em qualquer linha que não estivesse de acordo com meu objetivo, e ele incorporou a mudança no plano revisado.
00:02:46É fundamental continuar refinando até que o plano esteja perfeito.
00:02:49Depois de pronto, o agente pode implementar tudo de forma autônoma.
00:02:52Mesmo que a implementação não seja o que você queria, é melhor voltar ao modo de planejamento e editar o plano do que usar prompts de acompanhamento.
00:03:00Depois disso, o agente precisa trabalhar com o contexto correto.
00:03:03Mas antes disso, uma palavra do nosso patrocinador.
00:03:05A Luma AI e sua nova ferramenta Dream Machine, Ray3 Modify.
00:03:08Se você já trabalhou com vídeo por IA, conhece a frustração: você gera algo legal, mas ao tentar mudar o estilo ou a cena, o personagem quebra, o movimento fica estranho e você trava na regeneração.
00:03:18O Ray3 Modify resolve isso.
00:03:20Pela primeira vez, o vídeo por IA parece realmente direcionado, não apenas um palpite.
00:03:23Você pode pegar um clipe existente, até uma gravação real, e transformar o mundo, a iluminação ou o estilo cinematográfico, mantendo intactos a identidade do personagem, o movimento e a emoção.
00:03:33A atuação permanece travada, mas o visual evolui exatamente como você deseja.
00:03:36Com referência de personagem e keyframes modificáveis, você controla o que fica consistente e o que muda entre as cenas.
00:03:42Perfeito para fluxos de trabalho híbridos, curtas-metragens, videoclipes e conceitos cinematográficos.
00:03:47Até para produções menores.
00:03:48Sinceramente, isso parece pós-produção real com IA.
00:03:51Pare de adivinhar. Comece a dirigir.
00:03:53Confira o Ray3 Modify no comentário fixado ou escaneie o código QR para ver o que é possível.
00:03:58Depois de aperfeiçoar seu planejamento, seu trabalho é fornecer a cada agente o contexto necessário para concluir a tarefa.
00:04:04Outro erro comum das pessoas é tentar marcar cada arquivo manualmente.
00:04:08Você não precisa fazer isso manualmente, pois os agentes possuem ferramentas de busca poderosas que extraem o contexto sob demanda.
00:04:13Marcar arquivos manualmente carrega tudo para o contexto, mesmo que nem todas as linhas sejam necessárias.
00:04:18Os agentes podem usar o grep para carregar os segmentos específicos que solicitam.
00:04:21Por exemplo, se eu quiser mudar a página de cadastro, marcar o arquivo carregaria todo o componente de mais de 200 linhas, inchando o contexto sem necessidade.
00:04:30Embora as linhas realmente necessárias sejam apenas uma função de cerca de 50 linhas, o restante, que é totalmente desnecessário, ainda seria incluído.
00:04:38Em vez de marcar o arquivo manualmente, confie na ferramenta de busca do agente para dar um grep na função que ele precisa.
00:04:43Você não precisa fazer tudo em uma única conversa.
00:04:45Inicie um novo chat para cada tarefa nova, ou sempre que o desempenho do agente ficar confuso ou ele começar a repetir os mesmos erros.
00:04:52Basicamente, comece uma nova conversa assim que concluir uma unidade lógica de trabalho.
00:04:57Por exemplo, eu abro um novo chat para cada funcionalidade que quero implementar e começo com o planejamento daquela função.
00:05:04Dessa forma, todas as tarefas ficam isoladas e exatamente como eu preciso.
00:05:07A única vez que você não precisa iniciar uma nova conversa é quando está trabalhando na mesma função, precisa do contexto da discussão ou está depurando algo que o agente implementou.
00:05:16Fora esses casos, é melhor reduzir o ruído começando um novo chat.
00:05:21A eficácia das respostas do agente serve como um guia para saber quando você deve iniciar uma nova conversa.
00:05:26Se quiser retomar detalhes de chats anteriores, você pode fazer isso referenciando-os diretamente no chat, em vez de guiar o agente por tudo de novo.
00:05:35Isso permite que o agente identifique o contexto de forma inteligente, lendo seletivamente o histórico e pegando apenas o que for necessário.
00:05:43As capacidades do agente podem ser estendidas usando um conjunto de regras e habilidades.
00:05:47Você pode personalizar o comportamento dele definindo regras para o seu projeto, que são diretrizes específicas ou boas práticas que você quer que o agente siga consistentemente.
00:05:55O Anti-Gravity facilita a adição dessas personalizações tanto no escopo local quanto no global.
00:06:00Para adicionar uma diretriz, basta incluir a regra no escopo do projeto.
00:06:03Essas regras ficam na pasta .agent, que contém uma pasta de regras com arquivos markdown para as instruções.
00:06:09Por exemplo, adicionei uma regra neste projeto para tornar o front-end compatível com o VCAG.
00:06:13Uma vez que a regra é adicionada e uma tarefa é atribuída ao Anti-Gravity, o agente gera um plano que incorpora a regra, incluindo tags de rótulo e outros detalhes para tornar a página compatível.
00:06:24Você pode adicionar quantas regras seu espaço de trabalho precisar para guiar e ampliar as habilidades do agente.
00:06:29Da mesma forma, as habilidades (skills) do agente foram adicionadas ao Anti-Gravity seguindo o padrão aberto da Anthropic, contendo instruções, scripts e conhecimento de domínio.
00:06:38As habilidades são carregadas dinamicamente quando o agente decide que são relevantes, o que mantém o contexto organizado.
00:06:43Todas as habilidades residem na pasta .agent do Anti-Gravity.
00:06:47Cada habilidade contém um arquivo .md especializado com o nome, descrição do que vai para o contexto e detalhes de como usá-la.
00:06:55O acesso a outras referências e scripts fica armazenado em suas respectivas pastas.
00:06:59Usar habilidades no Anti-Gravity é tão simples quanto especificar qual habilidade você quer e qual tarefa ela deve realizar.
00:07:05Pedi ao Anti-Gravity para usar a habilidade de especialista em testes para criar casos de teste, e ele levou um tempo criando um plano completo baseado nas diretrizes da habilidade.
00:07:14Ele também usou todas as bibliotecas mencionadas nas referências, junto com os scripts e diretrizes definidos na habilidade para realizar a tarefa.
00:07:21Os modelos estão ficando melhores em analisar imagens, então devemos confiar mais nessa capacidade e incluí-las em nossos prompts.
00:07:29Em vez de explicar com palavras o design que deseja, você pode apenas tirar um print da seção que quer implementar.
00:07:35Vá ao Anti-Gravity, cole a captura de tela e peça para ele implementar aquela seção exatamente como na imagem.
00:07:41Usando a análise de imagem, ele consegue entender perfeitamente o visual e implementá-lo.
00:07:45Outra coisa para a qual uso muito imagens é a depuração de erros, pois é mais fácil mostrar problemas de UI com um print do que descrevê-los por escrito.
00:07:54Sempre que tenho problemas de interface, tiro um print, mando para o Anti-Gravity e ele resolve para mim.
00:08:00Em vez de mergulhar às cegas no código, precisamos seguir as boas práticas de engenharia de software também no desenvolvimento com IA.
00:08:06Alguns fluxos funcionam muito bem. O primeiro é o desenvolvimento orientado a testes (TDD), onde o agente escreve os testes primeiro e depois o código.
00:08:15O TDD com agentes de IA funciona porque eles passam a ter um alvo claro para otimizar, conhecem os critérios de sucesso e conseguem melhorar incrementalmente.
00:08:26Ao configurar o backend, eu não tinha escrito nada; apenas pedi ao agente para criar os testes para a rota de autenticação, descrevendo entradas e saídas, pedindo explicitamente para não codar a lógica ainda.
00:08:40Quando o agente terminou os casos de teste e eu aprovei, pedi para ele rodar os testes.
00:08:45Obviamente, os testes falharam de início, pois não havia implementação alguma.
00:08:49Após a conclusão dos testes, eu os enviei para o Git para manter um registro, caso o agente tentasse modificar os próprios testes depois.
00:08:55Então, pedi ao agente para escrever o código do endpoint, instruindo-o claramente a não mexer nos testes.
00:09:01Ficamos iterando até que todos os testes passassem, pedindo verificações repetidas até o sucesso total.
00:09:07Dessa forma, os agentes têm um objetivo claro para perseguir.
00:09:10Ao começar em uma base de código nova com um agente, você deve fazer o mesmo tipo de perguntas que faria a um colega de equipe.
00:09:16Isso permite que o agente explore o código via grep e busca semântica, encontrando respostas e entendendo o projeto enquanto tenta te responder.
00:09:24Eu faço perguntas sobre detalhes do código e das rotas para que o agente entenda a estrutura e a funcionalidade do projeto.
00:09:30Assim, quando eu peço uma nova função, ele já conhece a estrutura do projeto, o que facilita a implementação.
00:09:37O Git é importante não só pelo controle de versão, mas como uma base de conhecimento para o agente de codificação.
00:09:43Já enfatizamos a importância do Git em vídeos anteriores.
00:09:47Commits claros ajudam o agente, auxiliam na gestão de recursos, rastreiam versões estáveis e permitem reverter mudanças indesejadas feitas pela IA.
00:09:58Para facilitar meu trabalho com Git, uso comandos reutilizáveis que chamamos de fluxos de trabalho no Anti-Gravity.
00:10:04Eu prefiro um formato estruturado de commit, então garanto que o fluxo de trabalho force essa estrutura, incluindo até exemplos para o agente seguir.
00:10:13Antes de commitar, certas verificações de segurança e revisão de código são feitas para garantir que meus commits estejam limpos e padronizados.
00:10:20Você também pode criar comandos para gerenciar pull requests, branches e muito mais, tornando todo o fluxo do Git mais consistente.
00:10:28Acionar esses fluxos é tão simples quanto escrever o nome do workflow, que executa todos os passos automaticamente.
00:10:34Você pode usar outros comandos para corrigir problemas ou revisar código e atualizar dependências, conforme a necessidade do projeto.
00:10:43Pode parecer básico, mas o código gerado por IA definitivamente precisa de revisão; ele não é perfeito.
00:10:48Uma prática importante é observar o agente enquanto ele trabalha.
00:10:51Se vir que ele está indo pelo caminho errado, interrompa-o imediatamente e redirecione-o ao seu objetivo.
00:10:56Depois que o agente termina, você precisa realizar uma revisão usando o próprio agente.
00:11:00Nos meus projetos, uso um fluxo customizado de code review que incorpora todas as boas práticas do Git.
00:11:06Ele destaca problemas por severidade, lista verificações necessárias e pode incluir linters e testes para rodar após a revisão.
00:11:15Isso garante que o código tenha alta qualidade e seja confiável.
00:11:18Como quase todos os projetos usam controle de versão como o GitHub, usamos BugBots para análise avançada de IA para captar problemas em cada pull request.
00:11:28Existem muitas ferramentas de revisão com IA, como CodeRabbit, Sentry e outras.
00:11:33O próprio GitHub tem recursos integrados de revisão para cada pull request, o que ajuda na gestão da equipe.
00:11:38Para identificar problemas de arquitetura, podemos pedir ao agente para criar um diagrama Mermaid.
00:11:43Com esses diagramas, podemos analisar visualmente e identificar problemas centrais.
00:11:47Eles são úteis porque o visual é mais fácil de entender e serve como documentação clara da arquitetura do projeto.
00:11:54Rodar agentes em paralelo é vital, pois melhora o desempenho dos modelos e economiza muito tempo em comparação a esperar um único agente.
00:12:05Essa abordagem pode melhorar significativamente os resultados entregues.
00:12:07Eu costumo usar vários agentes ao mesmo tempo, cada um com uma tarefa, e também modelos diferentes, já que cada um brilha em algo.
00:12:16Os agentes trabalham de forma independente e só te avisam se precisarem de ajuda, permitindo que operem simultaneamente.
00:12:22Como os agentes do Anti-Gravity compartilham o mesmo espaço e não são isolados, eu os deixo trabalhar em branches separadas.
00:12:28Assim que terminam as tarefas e passam nos testes, eu mesclo as funcionalidades na branch principal.
00:12:34Muitas vezes encontramos bugs que não conseguimos resolver de jeito nenhum.
00:12:38Nesses casos, o modo de depuração (debug mode) é a melhor solução.
00:12:40Em vez de apenas chutar soluções, o modo de depuração tenta entender o que pode estar errado e gera logs, tornando o processo mais sistemático.
00:12:50Embora não haja um modo de depuração nativo no Anti-Gravity, podemos implementar um usando uma habilidade específica para isso.
00:12:56Essa skill contém todas as instruções para depurar comportamentos inesperados no código.
00:13:00Ela segue uma abordagem baseada em evidências, gera hipóteses e fornece um plano detalhado em várias fases para resolver o problema.
00:13:08É guiada por scripts e referências para ser mais eficaz, tornando o debug muito mais confiável.
00:13:14Sempre que encontro um bug, uso esse modo e deixo o agente descobrir o erro seguindo os guias do skill.md, facilitando muito o processo.
00:13:25Isso nos traz ao final deste vídeo.
00:13:27Se quiser apoiar o canal e nos ajudar a continuar produzindo vídeos como este, você pode usar o botão 'Valeu demais' abaixo.
00:13:33Como sempre, obrigado por assistir e nos vemos no próximo vídeo.