Code Velocity
Razvojni alati

Razvoj vođen agentima: Unapređivanje Copilot primijenjene znanosti

·7 min čitanja·GitHub·Izvorni izvor
Podijeli
Snimka zaslona koja prikazuje sučelje GitHub Copilota za razvoj vođen agentima, s prikazom prijedloga koda i kolaborativnih radnih tokova kodiranja.

Automatizacija 'intelektualnog napora' pomoću AI agenata

U brzo razvijajućem krajoliku softverskog inženjerstva, potraga za učinkovitošću često dovodi do revolucionarnih inovacija. Tyler McGoffin, AI istraživač, nedavno je detaljno opisao putovanje koje utjelovljuje ovaj duh: automatizaciju svog 'intelektualnog napora' kroz razvoj vođen agentima s GitHub Copilotom. Ovdje se ne radi samo o bržem kodiranju; radi se o temeljnom pomicanju uloge programera s repetitivne analize na kreativno rješavanje problema i strateški nadzor. McGoffinovo iskustvo ističe poznati obrazac među inženjerima – izgradnju alata za uklanjanje mukotrpnog rada – ali ide korak dalje povjeravajući AI agentima složene analitičke zadatke koji su prije bili nemogući ručno skalirati.

McGoffinova inspiracija proizašla je iz kritičnog, ali preopterećujućeg aspekta njegovog posla: analize performansi agenata za kodiranje u odnosu na 'benchmark' testove poput TerminalBench2 i SWEBench-Pro. To je uključivalo seciranje 'trajektorija' — detaljnih JSON zapisa procesa razmišljanja i radnji agenta — koje su mogle iznositi stotine tisuća redaka koda kroz brojne zadatke i 'benchmark' izvođenja. 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-agents', sustava dizajniranog za automatizaciju ovog 'intelektualnog tereta', osnažujući njegov tim u Copilot Applied Science da postigne slične učinkovitosti.

Nacrt za razvoj vođen agentima

Pokretanje 'eval-agents' bilo je vođeno jasnim skupom principa usmjerenih na suradnju i skalabilnost. McGoffin je želio učiniti te AI agente lakima za dijeljenje, jednostavnima za kreiranje i primarnim sredstvom za timske doprinose. Ovi ciljevi odražavaju temeljne vrijednosti GitHub-a, posebno one usavršene tijekom njegovog iskustva kao održavatelja OSS-a za GitHub CLI. Međutim, treći cilj — učiniti agente za kodiranje primarnim suradnikom — doista je oblikovao smjer projekta i otključao neočekivane koristi za prva dva.

'Agentsko' okruženje za kodiranje iskoristilo je nekoliko moćnih alata za pojednostavljenje razvojnog procesa:

  • Agent za kodiranje: Copilot CLI, pružajući izravnu interakciju i kontrolu.
  • Korišteni model: Claude Opus 4.6, nudeći napredne mogućnosti rasuđivanja i generiranja koda.
  • IDE: VSCode, služeći kao središnji radni prostor za razvoj.

Ključno je da je Copilot SDK bio ključan, pružajući pristup postojećim alatima, MCP poslužiteljima i mehanizmima za registraciju novih alata i vještina. Ovaj temelj eliminirao je potrebu za ponovnim izmišljanjem temeljnih 'agentskih' funkcionalnosti, omogućujući timu da se usredotoči na logiku specifičnu za aplikaciju. Ovo integrirano okruženje potaknulo je brzu razvojnu petlju, dokazujući da uz pravu postavku, AI agenti ne samo da mogu pomagati već i pokretati značajne dijelove razvojnog napora.

Temeljni principi za učinkovito 'agentsko' kodiranje

Prijelaz na paradigmu vođenu agentima zahtijeva više od samih alata; zahtijeva pomak u metodologiji. McGoffin je identificirao tri temeljna principa koja su se pokazala ključnima za ubrzavanje razvoja i poticanje suradnje:

  1. Strategije promptiranja: Učinkovita interakcija s agentima znači biti konverzacijski, opširan i prioritetno planirati.
  2. Arhitektonske strategije: Čista, dobro dokumentirana i refaktorirana baza koda ključna je da bi agenti učinkovito navigirali i doprinosili.
  3. Strategije iteracije: Prihvaćanje načina razmišljanja 'krivi proces, ne agente', slično 'kulturi bez krivnje', omogućuje brze eksperimente i učenje.

Ove strategije, kada se dosljedno primjenjuju, dovele su do zapanjujućih rezultata. Kao dokaz ove učinkovitosti, pet novih suradnika, u samo tri dana, kolektivno je dodalo 11 novih agenata, četiri nove vještine i uvelo koncept 'radnih tokova eval-agenata' u projekt. Ovaj kolaborativni sprint rezultirao je izvanrednom promjenom od +28,858/-2,884 redaka koda u 345 datoteka, demonstrirajući dubok utjecaj github-agentic-workflows u praksi.

Evo sažetka temeljnih principa:

PrincipOpisKorist za razvoj vođen agentima
PromptiranjeTretirajte agente kao 'starije inženjere': vodite njihovo razmišljanje, prekomjerno objašnjavajte pretpostavke, koristite načine planiranja (/plan) prije izvršenja. Budite konverzacijski i detaljni.Dovodi do točnijih i relevantnijih rezultata, pomažući agentima da učinkovito rješavaju složene probleme.
ArhitektonskiDajte prioritet refaktoriranju, sveobuhvatnoj dokumentaciji i robusnom testiranju. Održavajte bazu koda čistom, čitljivom i dobro strukturiranom. Aktivno čistite 'mrtvi' kod.Omogućuje agentima da razumiju bazu koda, obrasce i postojeće funkcionalnosti, olakšavajući točne doprinose.
IteracijaUsvojite način razmišljanja 'krivi proces, ne agente'. Implementirajte zaštitne mehanizme (strogo tipiziranje, 'lintere', opsežna testiranja) kako biste spriječili pogreške. Učite iz pogrešaka agenata poboljšavajući procese i zaštitne mehanizme.Potiče brzu iteraciju, gradi povjerenje u doprinose agenata i kontinuirano poboljšava razvojnu 'pipeline'.

Ubrzavanje razvoja: Strategije u akciji

Uspjeh ovog pristupa vođenog agentima temelji se na praktičnoj primjeni ovih principa.

Strategije promptiranja: Vođenje AI inženjera

AI agenti za kodiranje, iako moćni, izvrsni su u dobro definiranom opsegu problema. Za složenije zadatke, zahtijevaju vodstvo, slično 'mlađim inženjerima'. McGoffin je otkrio da su uključivanje u konverzacijski stil, objašnjavanje pretpostavki i korištenje načina planiranja mnogo učinkovitiji od šturo formuliranih naredbi. Na primjer, prilikom dodavanja robusnih regresijskih testova, prompt poput /plan I've recently observed Copilot happily updating tests to fit its new paradigms even though those tests shouldn't be updated. How can I create a reserved test space that Copilot can't touch or must reserve to protect against regressions? pokrenuo je produktivan dijalog. Ovo uzajamno razjašnjavanje, često s moćnim modelom claude-opus-4-6, dovelo je do sofisticiranih rješenja poput 'guardraila' za testiranje ugovora, koje su samo ljudski inženjeri mogli ažurirati, osiguravajući da kritična funkcionalnost ostane zaštićena.

Arhitektonske strategije: Temelj kvalitete potpomognute AI-jem

Za ljudske inženjere, održavanje čiste baze koda, pisanje testova i dokumentiranje značajki često su zanemareni pod pritiskom značajki. U razvoju vođenom agentima, to postaje najvažnije. McGoffin je otkrio da ulaganje vremena u refaktoriranje, dokumentiranje i dodavanje testnih slučajeva dramatično poboljšava Copilotovu sposobnost navigacije i doprinosa bazi koda. Repozitorij koji je 'agent-first' uspijeva na jasnoći. To omogućuje programerima da čak i promptiraju Copilota pitanjima poput 'Knowing what I know now, how would I design this differently?', pretvarajući teoretske refaktore u ostvarive projekte uz pomoć AI-ja. Ovaj kontinuirani fokus na arhitektonsko zdravlje osigurava da se nove značajke mogu isporučiti 'trivijalno'.

Strategije iteracije: Povjerenje u proces, ne samo u agenta

Evolucija AI modela pomaknula je način razmišljanja s 'vjeruj, ali provjeri' na povjerljiviji stav, analogno načinu na koji učinkoviti timovi rade s filozofijom 'krivi proces, ne ljude'. Ova 'kultura bez krivnje' u razvoju vođenom agentima znači da kada AI agent pogriješi, odgovor je poboljšati temeljne procese i zaštitne mehanizme, umjesto da se krivi sam agent. To uključuje implementaciju rigoroznih CI/CD praksi: strogo tipiziranje za osiguravanje usklađenosti sučelja, robusne 'lintere' za kvalitetu koda i opsežna integracijska, 'end-to-end' i ugovorna testiranja. Iako ručna izgradnja ovih testova može biti skupa, pomoć agenta čini ih mnogo jeftinijima za implementaciju, pružajući kritično povjerenje u nove promjene. Postavljanjem ovih sustava, programeri osnažuju Copilota da provjeri svoj rad, odražavajući kako je 'mlađi inženjer' postavljen za uspjeh.

Ovladavanje razvojnom petljom vođenom agentima

Integriranje ovih principa u praktičan radni tok stvara snažnu, ubrzanu razvojnu petlju:

  1. Planirajte s Copilotom: Pokrenite nove značajke koristeći /plan. Iterirajte na planu, osiguravajući da su testovi i ažuriranja dokumentacije uključeni i dovršeni prije implementacije koda. Dokumentacija može poslužiti kao dodatni skup smjernica za agenta.
  2. Implementirajte s Autopilotom: Dopustite Copilotu da implementira značajku koristeći /autopilot, koristeći njegove mogućnosti generiranja koda.
  3. Pregledajte s Copilot Code Reviewom: Promptirajte Copilota da pokrene petlju pregleda. To uključuje zahtijevanje Copilot Code Review agenta, rješavanje njegovih komentara i ponovno zahtijevanje pregleda dok se problemi ne riješe.
  4. Ljudski pregled: Provedite završni ljudski pregled kako biste osigurali provedbu obrazaca i usklađenost složenih odluka sa strateškim namjerama.

Izvan petlje značajki, kontinuirana optimizacija je ključna. McGoffin rutinski promptira Copilota naredbama poput /plan Review the code for any missing tests, any tests that may be broken, and dead code ili /plan Review the documentation and code to identify any documentation gaps. Ove provjere, koje se provode tjedno ili kako se integriraju nove značajke, osiguravaju da razvojno okruženje vođeno agentima ostaje zdravo i učinkovito.

Budućnost softverskog inženjerstva s AI-jem

Ono što je započelo kao osobna potraga za automatizacijom frustrirajućeg analitičkog zadatka, razvilo se u novu paradigmu za razvoj softvera. Razvoj vođen agentima, potpomognut alatima poput GitHub Copilota i naprednim modelima kao što je Claude Opus, nije samo o ubrzavanju programera; radi se o temeljnoj promjeni prirode posla za AI istraživače i softverske inženjere. Prepuštanjem 'intelektualnog napora' inteligentnim agentima, timovi mogu postići neviđene razine produktivnosti, suradnje i inovacija, u konačnici se fokusirajući na kreativne i strateške izazove koji doista pokreću napredak. Ovaj pristup najavljuje uzbudljivu budućnost u kojoj AI agenti nisu samo alati, već sastavni članovi razvojnog tima, transformirajuć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.

Budite u toku

Primajte najnovije AI vijesti na e-mail.

Podijeli