Code Velocity
Strumenti per Sviluppatori

Sviluppo guidato da agenti: potenziamento della scienza applicata di Copilot

·7 min di lettura·GitHub·Fonte originale
Condividi
Screenshot che raffigura l'interfaccia di sviluppo guidato da agenti di GitHub Copilot, mostrando suggerimenti di codice e workflow di codifica collaborativi.

Automatizzare il 'lavoro intellettuale' con gli agenti AI

Nel panorama in rapida evoluzione dell'ingegneria del software, la ricerca dell'efficienza porta spesso a innovazioni rivoluzionarie. Tyler McGoffin, un ricercatore AI, ha recentemente raccontato un percorso che incarna questo spirito: automatizzare il suo 'lavoro intellettuale' attraverso lo sviluppo guidato da agenti con GitHub Copilot. Non si tratta solo di una codifica più veloce; si tratta di un cambiamento fondamentale nel ruolo dello sviluppatore, passando dall'analisi ripetitiva alla risoluzione creativa dei problemi e alla supervisione strategica. L'esperienza di McGoffin evidenzia un modello familiare tra gli ingegneri—costruire strumenti per eliminare la fatica—ma va oltre, affidando agli agenti AI compiti analitici complessi che prima erano impossibili da scalare manualmente.

L'ispirazione di McGoffin è nata da un aspetto critico, ma travolgente, del suo lavoro: analizzare le prestazioni degli agenti di codifica rispetto a benchmark come TerminalBench2 e SWEBench-Pro. Ciò implicava la dissezione di 'traiettorie'—registri JSON dettagliati dei processi di pensiero e delle azioni di un agente—che potevano ammontare a centinaia di migliaia di righe di codice attraverso numerosi compiti e cicli di benchmark. Sebbene GitHub Copilot assistesse già nel riconoscimento dei modelli, la natura ripetitiva di questo ciclo analitico invocava un'automazione completa. Ciò ha portato alla creazione di 'eval-agents', un sistema progettato per automatizzare questo onere intellettuale, consentendo al suo team in Copilot Applied Science di raggiungere efficienze simili.

Il progetto per lo sviluppo guidato da agenti

La nascita di 'eval-agents' è stata guidata da un chiaro insieme di principi incentrati sulla collaborazione e la scalabilità. McGoffin mirava a rendere questi agenti AI facili da condividere, semplici da creare e il veicolo principale per i contributi del team. Questi obiettivi riflettono i valori fondamentali di GitHub, in particolare quelli affinati durante la sua esperienza come manutentore OSS per la GitHub CLI. Tuttavia, è stato il terzo obiettivo—rendere gli agenti di codifica il principale contributore—a plasmare veramente la direzione del progetto e a sbloccare benefici inaspettati per i primi due.

Il setup di codifica agentica ha sfruttato diversi potenti strumenti per ottimizzare il processo di sviluppo:

  • Agente di codifica: Copilot CLI, che fornisce interazione e controllo diretti.
  • Modello utilizzato: Claude Opus 4.6, che offre capacità avanzate di ragionamento e generazione di codice.
  • IDE: VSCode, che funge da spazio di lavoro centrale per lo sviluppo.

Fondamentalmente, il Copilot SDK è stato determinante, fornendo accesso a strumenti esistenti, server MCP e meccanismi per registrare nuovi strumenti e 'skill'. Questa base ha eliminato la necessità di reinventare le funzionalità agentiche principali, consentendo al team di concentrarsi sulla logica specifica dell'applicazione. Questo ambiente integrato ha favorito un ciclo di sviluppo rapido, dimostrando che, con la giusta configurazione, gli agenti AI potevano non solo assistere ma anche guidare parti significative dello sforzo di sviluppo.

Principi fondamentali per una codifica agentica efficace

La transizione a un paradigma guidato da agenti richiede più che semplici strumenti; richiede un cambiamento nella metodologia. McGoffin ha identificato tre principi fondamentali che si sono rivelati essenziali per accelerare lo sviluppo e favorire la collaborazione:

  1. Strategie di prompting: Interagire con gli agenti in modo efficace significa essere conversazionali, prolissi e dare priorità alla pianificazione.
  2. Strategie Architettoniche: Una codebase pulita, ben documentata e refactorizzata è fondamentale affinché gli agenti possano navigarla e contribuirvi efficacemente.
  3. Strategie di Iterazione: Abbracciare una mentalità di "incolpare il processo, non gli agenti", simile a una cultura senza colpe, consente una rapida sperimentazione e apprendimento.

Queste strategie, se applicate costantemente, hanno portato a risultati sorprendenti. A testimonianza di questa efficacia, cinque nuovi contributori, in soli tre giorni, hanno aggiunto collettivamente 11 nuovi agenti, quattro nuove 'skill' e introdotto il concetto di 'workflow di eval-agent' nel progetto. Questa sprint collaborativa ha portato a un notevole cambiamento di +28.858/-2.884 linee di codice in 345 file, dimostrando il profondo impatto di github-agentic-workflows nella pratica.

Ecco un riepilogo dei principi fondamentali:

PrincipioDescrizioneBenefici per lo Sviluppo Guidato da Agenti
PromptingTratta gli agenti come ingegneri senior: guida il loro pensiero, sovra-spiega le assunzioni, sfrutta le modalità di pianificazione (/plan) prima dell'esecuzione. Sii conversazionale e dettagliato.Porta a output più accurati e pertinenti, aiutando gli agenti a risolvere problemi complessi in modo efficace.
ArchitetturaleDai priorità al refactoring, alla documentazione completa e ai test robusti. Mantieni la codebase pulita, leggibile e ben strutturata. Pulisci attivamente il codice morto.Consente agli agenti di comprendere la codebase, i modelli e le funzionalità esistenti, facilitando contributi accurati.
IterazioneAdotta una mentalità di "incolpa il processo, non gli agenti". Implementa 'guardrail' (tipizzazione rigorosa, linter, test estesi) per prevenire errori. Impara dagli errori degli agenti migliorando processi e 'guardrail'.Favorisce un'iterazione rapida, costruisce fiducia nei contributi degli agenti e migliora continuamente la pipeline di sviluppo.

Accelerare lo sviluppo: strategie in azione

Il successo di questo approccio guidato da agenti è radicato nell'applicazione pratica di questi principi.

Strategie di Prompting: Guidare l'Ingegnere AI

Gli agenti AI di codifica, sebbene potenti, eccellono nei problemi ben definiti. Per compiti più complessi, richiedono guida, proprio come gli ingegneri junior. McGoffin ha scoperto che impegnarsi in uno stile conversazionale, spiegare le assunzioni e sfruttare le modalità di pianificazione erano molto più efficaci di comandi concisi. Ad esempio, quando si aggiungevano robusti test di regressione, un prompt come /plan Ho recentemente osservato Copilot aggiornare felicemente i test per adattarli ai suoi nuovi paradigmi, anche se quei test non dovrebbero essere aggiornati. Come posso creare uno spazio di test riservato che Copilot non possa toccare o debba riservare per proteggere dalle regressioni? ha avviato un dialogo produttivo. Questo scambio, spesso con il potente modello claude-opus-4-6, ha portato a soluzioni sofisticate come i 'guardrail' per i test contrattuali, che solo gli ingegneri umani potevano aggiornare, garantendo che la funzionalità critica rimanesse protetta.

Strategie Architettoniche: Le fondamenta della qualità assistita dall'AI

Per gli ingegneri umani, mantenere una codebase pulita, scrivere test e documentare le funzionalità sono spesso deprioritizzati sotto la pressione delle funzionalità. Nello sviluppo guidato da agenti, questi aspetti diventano fondamentali. McGoffin ha scoperto che dedicare tempo al refactoring, alla documentazione e all'aggiunta di casi di test ha migliorato drasticamente la capacità di Copilot di navigare e contribuire alla codebase. Un repository "agent-first" prospera sulla chiarezza. Ciò consente agli sviluppatori di chiedere a Copilot con domande come "Sapendo quello che so ora, come lo progetterei diversamente?", trasformando i refactoring teorici in progetti realizzabili con l'assistenza AI. Questo focus continuo sulla salute architettonica assicura che le nuove funzionalità possano essere consegnate in modo banale.

Strategie di Iterazione: Fidarsi del processo, non solo dell'agente

L'evoluzione dei modelli AI ha spostato la mentalità da "fidati ma verifica" a una posizione più fiduciosa, analoga a come i team efficaci operano con una filosofia di "incolpa il processo, non le persone". Questa "cultura senza colpe" nello sviluppo guidato da agenti significa che quando un agente AI commette un errore, la risposta è migliorare i processi e i 'guardrail' sottostanti, piuttosto che incolpare l'agente stesso. Ciò implica l'implementazione di pratiche CI/CD rigorose: tipizzazione rigorosa per garantire la conformità dell'interfaccia, linter robusti per la qualità del codice e test di integrazione, end-to-end e contrattuali estesi. Sebbene la creazione manuale di questi test possa essere costosa, l'assistenza dell'agente li rende molto più economici da implementare, fornendo una fiducia fondamentale nelle nuove modifiche. Impostando questi sistemi, gli sviluppatori consentono a Copilot di controllare il proprio lavoro, rispecchiando come un ingegnere junior viene preparato al successo.

Padroneggiare il ciclo di sviluppo guidato da agenti

L'integrazione di questi principi in un workflow pratico crea un ciclo di sviluppo potente e accelerato:

  1. Pianifica con Copilot: Avvia nuove funzionalità utilizzando /plan. Itera sul piano, assicurandoti che test e aggiornamenti della documentazione siano inclusi e completati prima dell'implementazione del codice. La documentazione può servire come ulteriore insieme di linee guida per l'agente.
  2. Implementa con Autopilot: Consenti a Copilot di implementare la funzionalità utilizzando /autopilot, sfruttando le sue capacità di generazione del codice.
  3. Revisiona con Copilot Code Review: Chiedi a Copilot di avviare un ciclo di revisione. Ciò implica richiedere l'agente Copilot Code Review, affrontare i suoi commenti e richiedere nuovamente le revisioni fino alla risoluzione dei problemi.
  4. Revisione Umana: Conduci una revisione umana finale per assicurarti che i modelli siano applicati e che le decisioni complesse si allineino all'intento strategico.

Oltre il ciclo delle funzionalità, l'ottimizzazione continua è fondamentale. McGoffin chiede regolarmente a Copilot con comandi come /plan Rivedi il codice per eventuali test mancanti, test che potrebbero essere interrotti e codice morto o /plan Rivedi la documentazione e il codice per identificare eventuali lacune nella documentazione. Questi controlli, eseguiti settimanalmente o quando nuove funzionalità vengono integrate, assicurano che l'ambiente di sviluppo guidato da agenti rimanga sano ed efficiente.

Il futuro dell'ingegneria del software con l'AI

Quella che era iniziata come una ricerca personale per automatizzare un compito di analisi frustrante si è evoluta in un nuovo paradigma per lo sviluppo software. Lo sviluppo guidato da agenti, alimentato da strumenti come GitHub Copilot e modelli avanzati come Claude Opus, non riguarda solo rendere gli sviluppatori più veloci; si tratta di alterare fondamentalmente la natura del lavoro sia per i ricercatori AI che per gli ingegneri software. Affidando il 'lavoro intellettuale' ad agenti intelligenti, i team possono raggiungere livelli senza precedenti di produttività, collaborazione e innovazione, concentrandosi in ultima analisi sulle sfide creative e strategiche che guidano veramente il progresso. Questo approccio annuncia un futuro entusiasmante in cui gli agenti AI non sono solo strumenti, ma membri integrali del team di sviluppo, trasformando il modo in cui costruiamo e manteniamo il software.

Domande Frequenti

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.

Resta aggiornato

Ricevi le ultime notizie sull'IA nella tua casella.

Condividi