Code Velocity
Instrumente pentru Dezvoltatori

Dezvoltare bazată pe agenți: Supraalimentarea Copilot Applied Science

·7 min de citit·GitHub·Sursa originală
Distribuie
Captură de ecran care ilustrează interfața de dezvoltare bazată pe agenți a GitHub Copilot, prezentând sugestii de cod și fluxuri de lucru de codare colaborative.

Automatizarea muncii intelectuale repetitive cu agenți AI

În peisajul în rapidă evoluție al ingineriei software, căutarea eficienței duce adesea la inovații revoluționare. Tyler McGoffin, un cercetător AI, a detaliat recent o călătorie care exemplifică acest spirit: automatizarea muncii sale intelectuale repetitive prin dezvoltare bazată pe agenți cu GitHub Copilot. Nu este vorba doar despre o codare mai rapidă; este vorba despre schimbarea fundamentală a rolului dezvoltatorului de la analiza repetitivă la rezolvarea creativă a problemelor și supravegherea strategică. Experiența lui McGoffin subliniază un tipar familiar printre ingineri – construirea de instrumente pentru a elimina munca anevoioasă – dar o duce un pas mai departe prin încredințarea agenților AI cu sarcini analitice complexe care anterior erau imposibil de scalat manual.

Inspirația lui McGoffin a provenit dintr-un aspect critic, dar copleșitor, al muncii sale: analiza performanței agenților de codare în comparație cu benchmark-uri precum TerminalBench2 și SWEBench-Pro. Aceasta implica disecarea 'traiectoriilor' – jurnale JSON detaliate ale proceselor de gândire și acțiunilor unui agent – care puteau însuma sute de mii de linii de cod pe numeroase sarcini și rulări de benchmark. În timp ce GitHub Copilot ajuta deja la recunoașterea modelelor, natura repetitivă a acestui ciclu analitic cerea o automatizare completă. Acest lucru a dus la crearea 'eval-agents', un sistem conceput pentru a automatiza această povară intelectuală, împuternicind echipa sa din Copilot Applied Science să atingă eficiențe similare.

Planul pentru Dezvoltare bazată pe agenți

Conceperea 'eval-agents' a fost ghidată de un set clar de principii axate pe colaborare și scalabilitate. McGoffin a urmărit să facă acești agenți AI ușor de partajat, simplu de creat și principalul vehicul pentru contribuțiile echipei. Aceste obiective reflectă valorile fundamentale ale GitHub, în special cele cizelate în timpul experienței sale ca maintainer OSS pentru GitHub CLI. Cu toate acestea, cel de-al treilea obiectiv – transformarea agenților de codare în contributorul principal – a modelat cu adevărat direcția proiectului și a deblocat beneficii neașteptate pentru primele două.

Configurația de codare bazată pe agenți a valorificat mai multe instrumente puternice pentru a simplifica procesul de dezvoltare:

  • Agent de codare: Copilot CLI, oferind interacțiune și control direct.
  • Model utilizat: Claude Opus 4.6, oferind capacități avansate de raționament și generare de cod.
  • IDE: VSCode, servind ca spațiu de lucru central pentru dezvoltare.

În mod crucial, Copilot SDK a fost esențial, oferind acces la instrumente existente, servere MCP și mecanisme pentru înregistrarea de noi instrumente și abilități. Această fundație a eliminat necesitatea de a reinventa funcționalități agentice de bază, permițând echipei să se concentreze pe logica specifică aplicației. Acest mediu integrat a favorizat un ciclu de dezvoltare rapid, demonstrând că, cu o configurație potrivită, agenții AI ar putea nu doar să asiste, ci și să impulsioneze porțiuni semnificative ale efortului de dezvoltare.

Principii fundamentale pentru codarea bazată pe agenți eficientă

Trecerea la o paradigmă bazată pe agenți necesită mai mult decât simpla instrumentare; necesită o schimbare de metodologie. McGoffin a identificat trei principii fundamentale care s-au dovedit esențiale pentru accelerarea dezvoltării și încurajarea colaborării:

  1. Strategii de promptare: Interacțiunea eficientă cu agenții înseamnă a fi conversațional, verbal și a prioritiza planificarea.
  2. Strategii arhitecturale: O bază de cod curată, bine documentată și refactorizată este primordială pentru ca agenții să poată naviga și contribui eficient.
  3. Strategii de iterație: Adoptarea unei mentalități de "învinovățire a procesului, nu a agenților", similară unei culturi fără vină, permite experimentarea și învățarea rapidă.

Aceste strategii, aplicate consecvent, au condus la rezultate uimitoare. Drept dovadă a acestei eficacități, cinci noi contributori, în doar trei zile, au adăugat colectiv 11 agenți noi, patru abilități noi și au introdus conceptul de 'fluxuri de lucru eval-agent' în proiect. Această accelerare colaborativă a dus la o remarcabilă modificare de +28.858/-2.884 linii de cod în 345 de fișiere, demonstrând impactul profund al fluxurilor de lucru agentice GitHub în practică.

Iată un rezumat al principiilor fundamentale:

PrincipiuDescriereBeneficiu pentru Dezvoltarea bazată pe agenți
PromptareTratează agenții ca pe ingineri seniori: ghidează-le gândirea, supra-explică ipotezele, folosește moduri de planificare (/plan) înainte de execuție. Fii conversațional și detaliat.Duce la rezultate mai precise și relevante, ajutând agenții să rezolve probleme complexe în mod eficient.
ArhitecturalPrioritizează refactorizarea, documentația cuprinzătoare și testarea robustă. Păstrează baza de cod curată, lizibilă și bine structurată. Curăță activ codul nefolosit.Permite agenților să înțeleagă baza de cod, modelele și funcționalitățile existente, facilitând contribuții precise.
IterațieAdoptă o mentalitate de "învinovățire a procesului, nu a agenților". Implementează mecanisme de siguranță (tipare stricte, linters, teste extinse) pentru a preveni greșelile. Învață din erorile agenților prin îmbunătățirea proceselor și a mecanismelor de siguranță.Favorizează iterația rapidă, construiește încrederea în contribuțiile agenților și îmbunătățește continuu conductă de dezvoltare.

Accelerarea dezvoltării: Strategii în acțiune

Succesul acestei abordări bazate pe agenți se bazează pe aplicarea practică a acestor principii.

Strategii de promptare: Ghidarea inginerului AI

Agenții AI de codare, deși puternici, excelează la probleme bine delimitate. Pentru sarcini mai complexe, aceștia necesită îndrumare, la fel ca inginerii juniori. McGoffin a constatat că angajarea într-un stil conversațional, explicarea ipotezelor și valorificarea modurilor de planificare erau mult mai eficiente decât comenzile laconice. De exemplu, atunci când se adăugau teste de regresie robuste, un prompt precum /plan Am observat recent că Copilot actualizează cu bucurie testele pentru a se potrivi noilor sale paradigme, chiar dacă acele teste nu ar trebui actualizate. Cum pot crea un spațiu de testare rezervat pe care Copilot să nu-l poată atinge sau pe care trebuie să-l rezerve pentru a proteja împotriva regresiei? a inițiat un dialog productiv. Acest schimb, adesea cu puternicul model Claude Opus 4.6, a dus la soluții sofisticate, cum ar fi mecanismele de siguranță pentru testarea contractelor, pe care doar inginerii umani le puteau actualiza, asigurând că funcționalitatea critică rămânea protejată.

Strategii arhitecturale: Fundația calității asistate de AI

Pentru inginerii umani, menținerea unei baze de cod curate, scrierea testelor și documentarea funcționalităților sunt adesea deprioritizate sub presiunea implementării de noi funcționalități. În dezvoltarea bazată pe agenți, acestea devin primordiale. McGoffin a descoperit că petrecerea timpului cu refactorizarea, documentarea și adăugarea de cazuri de testare a îmbunătățit dramatic capacitatea Copilot de a naviga și de a contribui la baza de cod. Un repository bazat pe agenți prosperă prin claritate. Acest lucru permite dezvoltatorilor chiar să solicite Copilot cu întrebări precum "Știind ce știu acum, cum aș proiecta acest lucru diferit?", transformând refactorizările teoretice în proiecte realizabile cu asistență AI. Această concentrare continuă asupra sănătății arhitecturale asigură că noile funcționalități pot fi livrate în mod trivial.

Strategii de iterație: Încrederea în proces, nu doar în agent

Evoluția modelelor AI a schimbat mentalitatea de la "încredere, dar verificare" la o poziție mai încrezătoare, similară modului în care echipele eficiente operează cu o filozofie de "învinovățirea procesului, nu a oamenilor". Această "cultură fără vină" în dezvoltarea bazată pe agenți înseamnă că, atunci când un agent AI face o greșeală, răspunsul este de a îmbunătăți procesele și mecanismele de siguranță subiacente, mai degrabă decât de a învinovăți agentul în sine. Aceasta implică implementarea de practici riguroase CI/CD: tipare stricte pentru a asigura conformitatea interfețelor, linters robusti pentru calitatea codului și teste extinse de integrare, end-to-end și de contract. În timp ce construirea manuală a acestor teste poate fi costisitoare, asistența agenților le face mult mai ieftin de implementat, oferind încredere critică în noile modificări. Prin configurarea acestor sisteme, dezvoltatorii împuternicesc Copilot să-și verifice propria muncă, oglindind modul în care un inginer junior este pregătit pentru succes.

Stăpânirea ciclului de dezvoltare bazată pe agenți

Integrarea acestor principii într-un flux de lucru practic creează un ciclu de dezvoltare puternic și accelerat:

  1. Planifică cu Copilot: Inițiază noi funcționalități folosind /plan. Itrează planul, asigurându-te că testele și actualizările documentației sunt incluse și finalizate înainte de implementarea codului. Documentația poate servi ca un set suplimentar de ghiduri pentru agent.
  2. Implementează cu Autopilot: Permite Copilot să implementeze funcționalitatea folosind /autopilot, valorificând capacitățile sale de generare de cod.
  3. Revizuiește cu Copilot Code Review: Solicită Copilot să inițieze un ciclu de revizuire. Aceasta implică solicitarea agentului Copilot Code Review, abordarea comentariilor sale și solicitarea repetată a revizuirilor până când problemele sunt rezolvate.
  4. Revizuire Umană: Efectuează o revizuire umană finală pentru a te asigura că modelele sunt impuse și deciziile complexe se aliniază cu intenția strategică.

Dincolo de ciclul funcționalităților, optimizarea continuă este cheia. McGoffin solicită periodic Copilot cu comenzi precum /plan Revizuiește codul pentru orice teste lipsă, orice teste care ar putea fi defecte și cod nefolosit sau /plan Revizuiește documentația și codul pentru a identifica orice lacune în documentație. Aceste verificări, rulate săptămânal sau pe măsură ce noi funcționalități sunt integrate, asigură că mediul de dezvoltare bazată pe agenți rămâne sănătos și eficient.

Viitorul ingineriei software cu AI

Ceea ce a început ca o căutare personală pentru a automatiza o sarcină de analiză frustrantă a evoluat într-o nouă paradigmă pentru dezvoltarea software. Dezvoltarea bazată pe agenți, alimentată de instrumente precum GitHub Copilot și modele avansate precum Claude Opus, nu se referă doar la a-i face pe dezvoltatori mai rapizi; este vorba despre alterarea fundamentală a naturii muncii atât pentru cercetătorii AI, cât și pentru inginerii software. Prin transferul muncii intelectuale anevoioase către agenți inteligenți, echipele pot atinge niveluri fără precedent de productivitate, colaborare și inovare, concentrându-se în cele din urmă pe provocările creative și strategice care propulsează cu adevărat progresul. Această abordare prevestește un viitor interesant în care agenții AI nu sunt doar instrumente, ci membri integrali ai echipei de dezvoltare, transformând modul în care construim și întreținem software.

Întrebări frecvente

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.

Rămâi la curent

Primește ultimele știri AI în inbox-ul tău.

Distribuie