Code Velocity
Ferramentas de Desenvolvedor

Desenvolvimento Orientado por Agentes: Potencializando a Ciência Aplicada do Copilot

·7 min de leitura·GitHub·Fonte original
Compartilhar
Captura de tela que ilustra a interface de desenvolvimento orientado por agentes do GitHub Copilot, mostrando sugestões de código e fluxos de trabalho de codificação colaborativa.

Automatizando o Trabalho Intelectual com Agentes de IA

No cenário em rápida evolução da engenharia de software, a busca pela eficiência frequentemente leva a inovações revolucionárias. Tyler McGoffin, um pesquisador de IA, detalhou recentemente uma jornada que personifica esse espírito: automatizar seu trabalho intelectual por meio do desenvolvimento orientado por agentes com o GitHub Copilot. Isso não se trata apenas de codificar mais rápido; trata-se de mudar fundamentalmente o papel do desenvolvedor de análises repetitivas para a resolução criativa de problemas e supervisão estratégica. A experiência de McGoffin destaca um padrão familiar entre engenheiros — construir ferramentas para eliminar o trabalho árduo — mas vai um passo além ao confiar aos agentes de IA tarefas analíticas complexas que antes eram impossíveis de escalar manualmente.

A inspiração de McGoffin surgiu de um aspecto crítico, porém avassalador, de seu trabalho: analisar o desempenho de agentes de codificação em relação a benchmarks como TerminalBench2 e SWEBench-Pro. Isso envolvia dissecar 'trajetórias' — logs JSON detalhados dos processos de pensamento e ações de um agente — que poderiam totalizar centenas de milhares de linhas de código em inúmeras tarefas e execuções de benchmark. Embora o GitHub Copilot já auxiliasse no reconhecimento de padrões, a natureza repetitiva desse ciclo analítico clamava por automação total. Isso levou à criação de 'eval-agents', um sistema projetado para automatizar essa carga intelectual, capacitando sua equipe na Copilot Applied Science a alcançar eficiências semelhantes.

O Projeto para o Desenvolvimento Orientado por Agentes

A concepção de 'eval-agents' foi guiada por um conjunto claro de princípios focados na colaboração e escalabilidade. McGoffin tinha como objetivo tornar esses agentes de IA fáceis de compartilhar, simples de criar e o principal veículo para as contribuições da equipe. Esses objetivos refletem os valores centrais do GitHub, particularmente aqueles aprimorados durante sua experiência como mantenedor de OSS para o GitHub CLI. No entanto, foi o terceiro objetivo — tornar os agentes de codificação os principais contribuintes — que realmente moldou a direção do projeto e desbloqueou benefícios inesperados para os dois primeiros.

A configuração de codificação agêntica aproveitou várias ferramentas poderosas para otimizar o processo de desenvolvimento:

  • Agente de codificação: Copilot CLI, fornecendo interação e controle diretos.
  • Modelo usado: Claude Opus 4.6, oferecendo raciocínio avançado e capacidades de geração de código.
  • IDE: VSCode, servindo como o espaço de trabalho central para o desenvolvimento.

Crucialmente, o Copilot SDK foi fundamental, fornecendo acesso a ferramentas existentes, servidores MCP e mecanismos para registrar novas ferramentas e habilidades. Essa base eliminou a necessidade de reinventar funcionalidades agênticas centrais, permitindo que a equipe se concentrasse na lógica específica da aplicação. Este ambiente integrado fomentou um ciclo de desenvolvimento rápido, provando que, com a configuração certa, os agentes de IA poderiam não apenas auxiliar, mas também impulsionar partes significativas do esforço de desenvolvimento.

Princípios Essenciais para Codificação Agêntica Eficaz

A transição para um paradigma orientado por agentes exige mais do que apenas ferramentas; ela exige uma mudança na metodologia. McGoffin identificou três princípios centrais que se mostraram fundamentais para acelerar o desenvolvimento e fomentar a colaboração:

  1. Estratégias de Prompt: Interagir com agentes de forma eficaz significa ser conversacional, prolixo e priorizar o planejamento.
  2. Estratégias Arquitetônicas: Uma base de código limpa, bem documentada e refatorada é primordial para que os agentes possam navegar e contribuir eficazmente.
  3. Estratégias de Iteração: Adotar uma mentalidade de "culpar o processo, não os agentes", semelhante a uma cultura sem culpa, permite experimentação e aprendizado rápidos.

Essas estratégias, quando aplicadas consistentemente, levaram a resultados surpreendentes. Como testemunho dessa eficácia, cinco novos colaboradores, em apenas três dias, adicionaram coletivamente 11 novos agentes, quatro novas habilidades e introduziram o conceito de 'fluxos de trabalho de eval-agent' ao projeto. Este sprint colaborativo resultou em uma notável mudança de +28.858/-2.884 linhas de código em 345 arquivos, demonstrando o profundo impacto dos fluxos de trabalho agênticos do GitHub na prática.

Aqui está um resumo dos princípios centrais:

PrincípioDescriçãoBenefício para o Desenvolvimento Orientado por Agentes
PromptingTrate os agentes como engenheiros seniores: guie seu pensamento, explique excessivamente as suposições, aproveite os modos de planejamento (/plan) antes da execução. Seja conversacional e detalhado.Leva a saídas mais precisas e relevantes, ajudando os agentes a resolver problemas complexos de forma eficaz.
ArquiteturalPriorize a refatoração, documentação abrangente e testes robustos. Mantenha a base de código limpa, legível e bem estruturada. Limpe ativamente o código morto.Permite que os agentes compreendam a base de código, padrões e funcionalidades existentes, facilitando contribuições precisas.
IteraçãoAdote uma mentalidade de "culpar o processo, não os agentes". Implemente salvaguardas (tipagem estrita, linters, testes extensivos) para prevenir erros. Aprenda com os erros dos agentes aprimorando processos e salvaguardas.Fomenta a iteração rápida, constrói confiança nas contribuições dos agentes e melhora continuamente o pipeline de desenvolvimento.

Acelerando o Desenvolvimento: Estratégias em Ação

O sucesso desta abordagem orientada por agentes está enraizado na aplicação prática desses princípios.

Estratégias de Prompt: Guiando o Engenheiro de IA

Agentes de codificação de IA, embora poderosos, se destacam em problemas bem delimitados. Para tarefas mais complexas, eles exigem orientação, muito parecido com engenheiros juniores. McGoffin descobriu que engajar-se em um estilo conversacional, explicar suposições e aproveitar os modos de planejamento era muito mais eficaz do que comandos concisos. Por exemplo, ao adicionar testes de regressão robustos, um prompt como /plan Recentemente observei o Copilot atualizando alegremente os testes para se adequar aos seus novos paradigmas, embora esses testes não devessem ser atualizados. Como posso criar um espaço de teste reservado que o Copilot não possa tocar ou que deva reservar para proteger contra regressões? iniciou um diálogo produtivo. Esse intercâmbio, frequentemente com o poderoso modelo claude-opus-4-6, levou a soluções sofisticadas como salvaguardas de teste de contrato, que apenas engenheiros humanos poderiam atualizar, garantindo que a funcionalidade crítica permanecesse protegida.

Estratégias Arquitetônicas: A Base da Qualidade Assistida por IA

Para engenheiros humanos, manter uma base de código limpa, escrever testes e documentar recursos são frequentemente despriorizados sob a pressão de recursos. No desenvolvimento orientado por agentes, estes se tornam primordiais. McGoffin descobriu que dedicar tempo à refatoração, documentação e adição de casos de teste melhorava dramaticamente a capacidade do Copilot de navegar e contribuir para a base de código. Um repositório 'agent-first' prospera na clareza. Isso permite que os desenvolvedores até mesmo perguntem ao Copilot: "Sabendo o que sei agora, como eu projetaria isso de forma diferente?", transformando refatorações teóricas em projetos realizáveis com a assistência da IA. Esse foco contínuo na saúde arquitetônica garante que novos recursos possam ser entregues trivialmente.

Estratégias de Iteração: Confiando no Processo, Não Apenas no Agente

A evolução dos modelos de IA mudou a mentalidade de "confiar, mas verificar" para uma postura mais confiante, análoga a como equipes eficazes operam com uma filosofia de "culpar o processo, não as pessoas". Essa "cultura sem culpa" no desenvolvimento orientado por agentes significa que, quando um agente de IA comete um erro, a resposta é melhorar os processos e as salvaguardas subjacentes, em vez de culpar o próprio agente. Isso envolve a implementação de práticas rigorosas de CI/CD: tipagem estrita para garantir a conformidade da interface, linters robustos para a qualidade do código e testes extensivos de integração, ponta a ponta e de contrato. Embora a construção manual desses testes possa ser cara, a assistência do agente os torna muito mais baratos de implementar, proporcionando confiança crítica em novas mudanças. Ao configurar esses sistemas, os desenvolvedores capacitam o Copilot a verificar seu próprio trabalho, espelhando como um engenheiro júnior é preparado para o sucesso.

Dominando o Ciclo de Desenvolvimento Orientado por Agentes

A integração desses princípios em um fluxo de trabalho prático cria um ciclo de desenvolvimento poderoso e acelerado:

  1. Planejar com o Copilot: Inicie novos recursos usando /plan. Itere no plano, garantindo que os testes e as atualizações de documentação sejam incluídos e concluídos antes da implementação do código. A documentação pode servir como um conjunto adicional de diretrizes para o agente.
  2. Implementar com Autopilot: Permita que o Copilot implemente o recurso usando /autopilot, aproveitando suas capacidades de geração de código.
  3. Revisar com a Revisão de Código do Copilot: Solicite ao Copilot que inicie um ciclo de revisão. Isso envolve solicitar ao agente de Revisão de Código do Copilot, abordar seus comentários e solicitar novamente revisões até que os problemas sejam resolvidos.
  4. Revisão Humana: Conduza uma revisão humana final para garantir que os padrões sejam aplicados e que as decisões complexas estejam alinhadas com a intenção estratégica.

Além do ciclo de recursos, a otimização contínua é fundamental. McGoffin rotineiramente solicita ao Copilot comandos como /plan Revise o código para quaisquer testes ausentes, testes que possam estar quebrados e código morto ou /plan Revise a documentação e o código para identificar quaisquer lacunas na documentação. Essas verificações, executadas semanalmente ou conforme novos recursos são integrados, garantem que o ambiente de desenvolvimento orientado por agentes permaneça saudável e eficiente.

O Futuro da Engenharia de Software com IA

O que começou como uma busca pessoal para automatizar uma tarefa de análise frustrante evoluiu para um novo paradigma para o desenvolvimento de software. O desenvolvimento orientado por agentes, potencializado por ferramentas como GitHub Copilot e modelos avançados como Claude Opus, não se trata apenas de tornar os desenvolvedores mais rápidos; trata-se de alterar fundamentalmente a natureza do trabalho para pesquisadores de IA e engenheiros de software. Ao transferir o trabalho intelectual para agentes inteligentes, as equipes podem alcançar níveis sem precedentes de produtividade, colaboração e inovação, concentrando-se, em última análise, nos desafios criativos e estratégicos que realmente impulsionam o progresso. Essa abordagem prenuncia um futuro empolgante onde os agentes de IA não são apenas ferramentas, mas membros integrantes da equipe de desenvolvimento, transformando a forma como construímos e mantemos software.

Perguntas Frequentes

What is agent-driven development in the context of GitHub Copilot?
Agent-driven development refers to a software engineering paradigm where AI agents, such as those powered by GitHub Copilot, become primary contributors and collaborators in the development process. Instead of merely suggesting code, these agents actively participate in planning, implementing, refactoring, testing, and documenting software. This approach leverages the AI's ability to automate repetitive intellectual tasks, allowing human engineers to focus on higher-level problem-solving, strategic design, and creative work, thereby accelerating development cycles and improving code quality through structured AI assistance and rigorous guardrails.
How did the 'eval-agents' project originate?
The 'eval-agents' project was born out of a common challenge faced by AI researchers: analyzing vast quantities of data. Tyler McGoffin, an AI researcher, found himself repeatedly poring over hundreds of thousands of lines of 'trajectories'—detailed logs of AI agent thought processes and actions during benchmark evaluations. Recognizing this as an intellectually toilsome and repetitive task, he sought to automate it. By applying agent-driven development principles with GitHub Copilot, he created 'eval-agents' to analyze these trajectories, significantly reducing the manual effort required and transforming a tedious analytical chore into an automated process.
What are the key components of an agentic coding setup for this approach?
An effective agentic coding setup, as demonstrated in this approach, typically includes a powerful AI coding agent like Copilot CLI, a robust underlying large language model such as Claude Opus 4.6, and a feature-rich Integrated Development Environment (IDE) like VSCode. Crucially, leveraging an SDK, such as the Copilot SDK, provides access to essential tools, servers, and mechanisms for registering new tools and skills, offering a foundational infrastructure for building and deploying agents without reinventing core functionalities. This integrated environment enables seamless interaction between the developer and the AI agent throughout the development lifecycle.
What prompting strategies are most effective when working with AI coding agents?
Effective prompting strategies for AI coding agents emphasize conversational, verbose, and planning-oriented interactions. Rather than terse problem statements, developers achieve better results by engaging agents in a dialogue, over-explaining assumptions, and leveraging the AI's speed for initial planning before committing to code changes. This involves using planning modes (e.g., '/plan') to collaboratively brainstorm solutions and refine ideas. Treating the AI agent like a junior engineer who benefits from clear guidance, context, and iterative feedback helps it to produce more accurate and relevant outputs, leading to superior problem-solving and feature implementation.
Why are architectural strategies like refactoring and documentation crucial for agent-driven development?
Architectural strategies like frequent refactoring, comprehensive documentation, and robust testing are paramount in agent-driven development because they create a clean, navigable codebase that AI agents can effectively understand and interact with. A well-maintained codebase, much like for human engineers, allows AI agents to contribute features more accurately and efficiently. By prioritizing readability, consistent patterns, and up-to-date documentation, developers ensure that Copilot can interpret the codebase's intent, identify opportunities for improvement, and implement changes with minimal errors, making feature delivery trivial and facilitating continuous re-architecture.
How does a 'blameless culture' apply to iteration strategies in agent-driven development?
Applying a 'blameless culture' to agent-driven development means shifting from a 'trust but verify' mindset to one that prioritizes 'blame process, not agents.' This philosophy acknowledges that AI agents, like human engineers, can make mistakes. The focus then shifts to implementing robust processes and guardrails—such as strict typing, comprehensive linters, and extensive integration and end-to-end tests—to prevent errors. When an agent does make a mistake, the response is to learn from it and introduce additional guardrails, refining the processes and prompts to ensure the same error isn't repeated, fostering a rapid and psychologically safe iteration pipeline.
What is the typical development loop when using agent-driven development?
The typical development loop in agent-driven development begins with planning a new feature collaboratively with Copilot using a '/plan' prompt, ensuring testing and documentation updates are integrated early. Next, Copilot implements the feature, often using an '/autopilot' command. Following implementation, a review loop is initiated with a Copilot Code Review agent, addressing comments iteratively. The final stage involves a human review to enforce patterns and standards. Outside this feature loop, Copilot is periodically prompted to review for missing tests, code duplication, or documentation gaps, maintaining a continuously optimized agent-driven environment.
What kind of impact did agent-driven development have on team productivity and collaboration?
The impact of agent-driven development on team productivity and collaboration was transformative, leading to an incredibly rapid iteration pipeline. In one instance, a team of five new contributors, using this methodology, created 11 new agents, four new skills, and implemented complex workflows in less than three days. This amounted to a staggering change of +28,858/-2,884 lines of code across 345 files. This dramatic increase in output highlights how agent-driven development, by automating routine tasks and providing intelligent assistance, significantly accelerates feature delivery, fosters deeper collaboration, and enables teams to achieve unprecedented levels of innovation and efficiency.

Fique Atualizado

Receba as últimas novidades de IA no seu e-mail.

Compartilhar