Code Velocity
Alati za programere

Razvoj vođen agentima: Snažno unapređenje primenjene nauke uz Copilot

·7 min čitanja·GitHub·Originalni izvor
Podeli
Snimak ekrana koji prikazuje interfejs GitHub Copilot-ovog razvoja vođenog agentima, pokazujući predloge koda i kolaborativne tokove kodiranja.

Automatizacija intelektualnog napora pomoću AI agenata

U brzoj evoluciji softverskog inženjerstva, potraga za efikasnošću često dovodi do revolucionarnih inovacija. Tyler McGoffin, AI istraživač, nedavno je detaljno opisao putovanje koje oličava ovaj duh: automatizaciju svog intelektualnog napora kroz razvoj vođen agentima sa GitHub Copilotom. Ovo nije samo brže kodiranje; radi se o fundamentalnoj promeni uloge programera sa repetitivne analize na kreativno rešavanje problema i strateški nadzor. McGoffinovo iskustvo ističe poznati obrazac među inženjerima – izgradnja alata za eliminisanje mukotrpnog rada – ali ide korak dalje poveravajući AI agentima složene analitičke zadatke koji su ranije bili nemogući za ručno skaliranje.

McGoffinova inspiracija potekla je iz kritičnog, ali preopterećujućeg aspekta njegovog posla: analize performansi agenata za kodiranje u odnosu na benchmarkove kao što su TerminalBench2 i SWEBench-Pro. To je uključivalo seciranje 'trajektorija' – detaljnih JSON zapisa procesa razmišljanja i akcija agenta – što je moglo da iznosi stotine hiljada linija koda kroz brojne zadatke i pokretanja benchmarkova. Iako je GitHub Copilot već pomagao u prepoznavanju obrazaca, repetitivna priroda ove analitičke petlje vapila je za potpunom automatizacijom. To je dovelo do stvaranja 'eval-agenata', sistema dizajniranog da automatizuje ovaj intelektualni teret, osnažujući njegov tim u Copilot Applied Science da postigne sličnu efikasnost.

Nacrt za razvoj vođen agentima

Nastanak 'eval-agenata' vođen je jasnim skupom principa fokusiranih na saradnju i skalabilnost. McGoffin je težio da ovi AI agenti budu laki za deljenje, jednostavni za kreiranje i primarno sredstvo za timski doprinos. Ovi ciljevi odražavaju osnovne vrednosti GitHub-a, posebno one usavršene tokom njegovog iskustva kao OSS održavaoca za GitHub CLI. Međutim, treći cilj – da agenti za kodiranje postanu primarni saradnici – je ono što je zaista oblikovalo smer projekta i otključalo neočekivane koristi za prva dva cilja.

Agentsko okruženje za kodiranje koristilo je nekoliko moćnih alata za pojednostavljivanje razvojnog procesa:

  • Agent za kodiranje: Copilot CLI, pružajući direktnu interakciju i kontrolu.
  • Korišćeni model: Claude Opus 4.6, nudeći napredne mogućnosti rasuđivanja i generisanja koda.
  • IDE: VSCode, služi kao centralni radni prostor za razvoj.

Ključno, Copilot SDK je bio ključan, pružajući pristup postojećim alatima, MCP serverima i mehanizmima za registraciju novih alata i veština. Ova osnova je eliminisala potrebu za ponovnim izmišljanjem osnovnih agentskih funkcionalnosti, omogućavajući timu da se fokusira na logiku specifičnu za aplikaciju. Ovo integrisano okruženje podstaklo je brzu razvojnu petlju, dokazujući da sa pravim podešavanjem, AI agenti mogu ne samo da pomažu, već i da vode značajne delove razvojnog napora.

Osnovni principi za efikasno agentsko kodiranje

Prelazak na paradigmu vođenu agentima zahteva više od samo alata; zahteva promenu metodologije. McGoffin je identifikovao tri osnovna principa koja su se pokazala fundamentalnim za ubrzavanje razvoja i podsticanje saradnje:

  1. Strategije upita: Efikasna interakcija sa agentima znači biti konverzacijski, opširan i prioritetizovati planiranje.
  2. Arhitektonske strategije: Čist, dobro dokumentovan i refaktorisan kod je od suštinskog značaja da bi agenti mogli efikasno da se snalaze i doprinose kodu.
  3. Strategije iteracije: Prihvatanje načina razmišljanja "krivi proces, ne agente", slično kulturi bez krivice, omogućava brzu eksperimentaciju i učenje.

Ove strategije, kada se dosledno primenjuju, dovele su do neverovatnih rezultata. Kao dokaz ove efikasnosti, pet novih saradnika je, u samo tri dana, kolektivno dodalo 11 novih agenata, četiri nove veštine i uvelo koncept 'eval-agent tokova posla' u projekat. Ovaj kolaborativni sprint rezultirao je izvanrednom promenom od +28,858/-2,884 linija koda u 345 datoteka, demonstrirajući dubok uticaj github-agentic-workflows u praksi.

Evo rezimea osnovnih principa:

PrincipOpisKorist za razvoj vođen agentima
UpitiTretirajte agente kao iskusne inženjere: vodite njihovo razmišljanje, preterano objašnjavajte pretpostavke, koristite režime planiranja (/plan) pre izvršenja. Budite konverzacijski i detaljni.Dovodi do preciznijih i relevantnijih rezultata, pomažući agentima da efikasno rešavaju složene probleme.
ArhitekturaPrioritetizujte refaktorisanje, sveobuhvatnu dokumentaciju i robusno testiranje. Održavajte kod čistim, čitljivim i dobro strukturisanim. Aktivno čistite mrtav kod.Omogućava agentima da razumeju kod, obrasce i postojeću funkcionalnost, olakšavajući tačne doprinose.
IteracijaPrihvatite način razmišljanja "krivi proces, ne agente". Implementirajte zaštitne mere (strogo tipiziranje, linteri, opsežni testovi) kako biste sprečili greške. Učite iz grešaka agenata poboljšanjem procesa i zaštitnih mera.Podstiče brzu iteraciju, gradi poverenje u doprinose agenata i kontinuirano poboljšava razvojni cevovod.

Ubrzavanje razvoja: strategije u akciji

Uspeh ovog pristupa vođenog agentima ukorenjen je u praktičnoj primeni ovih principa.

Strategije upita: Vođenje AI inženjera

AI agenti za kodiranje, iako moćni, briljiraju u dobro definisanim problemima. Za složenije zadatke, oni zahtevaju vođenje, slično mlađim inženjerima. McGoffin je otkrio da su konverzacijski stil, objašnjavanje pretpostavki i korišćenje režima planiranja bili daleko efikasniji od kratkih komandi. Na primer, kada se dodaju robusni regresioni testovi, upit poput /plan Nedavno sam primetio da Copilot svesrdno ažurira testove kako bi odgovarali njegovim novim paradigmama, iako ti testovi ne bi trebalo da se ažuriraju. Kako mogu da kreiram rezervisan testni prostor koji Copilot ne može da dotakne ili mora da rezerviše da bi se zaštitio od regresija? inicirao je produktivan dijalog. Ovo uzajamno delovanje, često sa moćnim modelom claude-opus-4-6, dovelo je do sofisticiranih rešenja kao što su zaštitne mere za testiranje ugovora, koje su samo ljudski inženjeri mogli da ažuriraju, obezbeđujući zaštitu kritične funkcionalnosti.

Arhitektonske strategije: Temelj AI-potpomognutog kvaliteta

Za ljudske inženjere, održavanje čistog koda, pisanje testova i dokumentovanje funkcija često se zanemaruje pod pritiskom isporuke funkcija. U razvoju vođenom agentima, ovo postaje od najveće važnosti. McGoffin je otkrio da je trošenje vremena na refaktorisanje, dokumentovanje i dodavanje test slučajeva dramatično poboljšalo Copilotovu sposobnost da se snalazi i doprinosi kodu. Repozitorijum zasnovan na agentima napreduje na jasnoći. Ovo omogućava programerima da čak pitaju Copilot pitanja poput "Znajući ono što znam sada, kako bih ovo drugačije dizajnirao?", pretvarajući teoretske refaktorizacije u ostvarive projekte uz pomoć AI-a. Ovaj kontinuirani fokus na arhitektonsko zdravlje osigurava da se nove funkcije mogu isporučiti trivijalno.

Strategije iteracije: Poverenje u proces, a ne samo u agenta

Evolucija AI modela promenila je način razmišljanja sa "veruj ali proveri" na poverljiviji stav, analogno tome kako efikasni timovi rade sa filozofijom "krivi proces, ne ljude". Ova "kultura bez krivice" u razvoju vođenom agentima znači da kada AI agent napravi grešku, odgovor je da se poboljšaju osnovni procesi i zaštitne mere, umesto da se krivi sam agent. To uključuje implementaciju rigoroznih CI/CD praksi: strogo tipiziranje kako bi se osigurala usklađenost interfejsa, robusni linteri za kvalitet koda i opsežni integracioni, end-to-end i ugovorni testovi. Iako izgradnja ovih testova ručno može biti skupa, pomoć agenta čini ih mnogo jeftinijim za implementaciju, pružajući kritično poverenje u nove promene. Postavljanjem ovih sistema, programeri osnažuju Copilot da proveri sopstveni rad, odražavajući kako se mlađi inženjer postavlja za uspeh.

Ovladavanje petljom razvoja vođenog agentima

Integrisanje ovih principa u praktičan radni tok stvara moćnu, ubrzanu razvojnu petlju:

  1. Planirajte sa Copilotom: Inicirajte nove funkcije koristeći /plan. Iterirajte na planu, osiguravajući da su testovi i ažuriranja dokumentacije uključeni i završeni pre implementacije koda. Dokumentacija može poslužiti kao dodatni skup smernica za agenta.
  2. Implementirajte sa Autopilotom: Dozvolite Copilotu da implementira funkciju koristeći /autopilot, koristeći njegove mogućnosti generisanja koda.
  3. Pregledajte sa Copilot Code Review: Uputite Copilota da inicira petlju pregleda. Ovo uključuje traženje Copilot Code Review agenta, rešavanje njegovih komentara i ponovno traženje pregleda dok se problemi ne reše.
  4. Ljudski pregled: Izvršite konačni ljudski pregled kako biste osigurali da se obrasci sprovode i da su složene odluke usklađene sa strateškom namerom.

Pored petlje funkcija, ključna je kontinuirana optimizacija. McGoffin rutinski upućuje Copilota komandama kao što su /plan Pregledaj kod za sve nedostajuće testove, sve testove koji su možda pokvareni i mrtav kod ili /plan Pregledaj dokumentaciju i kod kako bi identifikovao sve nedostatke u dokumentaciji. Ove provere, koje se pokreću nedeljno ili kako se integrišu nove funkcije, osiguravaju da okruženje za razvoj vođeno agentima ostaje zdravo i efikasno.

Budućnost softverskog inženjerstva sa AI

Ono što je počelo kao lična potraga za automatizacijom frustrirajućeg zadatka analize razvilo se u novu paradigmu za razvoj softvera. Razvoj vođen agentima, pokretan alatima kao što su GitHub Copilot i napredni modeli poput Claude Opus-a, ne odnosi se samo na to da programeri budu brži; radi se o fundamentalnoj promeni prirode posla za AI istraživače i softverske inženjere podjednako. Prenoseći intelektualni napor na inteligentne agente, timovi mogu postići neviđene nivoe produktivnosti, saradnje i inovacija, u konačnici se fokusirajući na kreativne i strateške izazove koji zaista pokreću napredak. Ovaj pristup najavljuje uzbudljivu budućnost u kojoj AI agenti nisu samo alati, već integralni članovi razvojnog tima, transformišući način na koji gradimo i održavamo softver.

Često postavljana pitanja

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.

Будите у току

Примајте најновије AI вести на имејл.

Podeli