Code Velocity
Arendaja tööriistad

Agendipõhine arendus: Copilot'i rakendusteaduse võimendamine

·7 min lugemist·GitHub·Algallikas
Jaga
Ekraanipilt GitHub Copiloti agendipõhise arendusliidese kohta, mis näitab koodisoovitusi ja koostööks mõeldud kodeerimisvooge.

Intellektuaalse rutiintöö automatiseerimine AI agentidega

Kiiresti areneval tarkvaratehnika maastikul viib tõhususe tagaajamine sageli murranguliste uuendusteni. AI teadlane Tyler McGoffin kirjeldas hiljuti teekonda, mis iseloomustab seda vaimu: oma intellektuaalse rutiintöö automatiseerimine agendipõhise arenduse kaudu GitHub Copiloti abil. See ei tähenda ainult kiiremat kodeerimist; see tähendab arendaja rolli põhimõttelist muutmist korduvast analüüsist loovaks probleemilahenduseks ja strateegiliseks järelevalveks. McGoffini kogemus rõhutab inseneride seas tuttavat mustrit – tööriistade loomine tüütu töö kõrvaldamiseks –, kuid viib selle sammu edasi, usaldades AI agentidele keerulised analüütilised ülesanded, mida varem oli käsitsi võimatu skaleerida.

McGoffini inspiratsioon tulenes tema töö kriitilisest, kuid ületamatust aspektist: kodeerimisagentide toimivuse analüüsimisest TerminalBench2 ja SWEBench-Pro taoliste võrdlusuuringute vastu. See hõlmas "trajektooride" – agendi mõtteprotsesside ja tegevuste üksikasjalike JSON-logide – lahkamist, mis võis moodustada sadu tuhandeid ridu koodi paljude ülesannete ja võrdlusuuringute käigus. Kuigi GitHub Copilot aitas juba mustrite tuvastamisel, nõudis selle analüütilise tsükli korduv iseloom täielikku automatiseerimist. See viis 'eval-agents' loomiseni – süsteemi, mis on loodud selle intellektuaalse koormuse automatiseerimiseks, andes tema meeskonnale Copilot Applied Science'is sarnase tõhususe saavutamiseks võimaluse.

Agendipõhise arenduse plaan

'eval-agents' loomist juhendas selge põhimõtete kogum, mis keskendus koostööle ja skaleeritavusele. McGoffin soovis muuta need AI agendid hõlpsasti jagatavaks, lihtsasti autoritavaks ja meeskonnatöö põhiliseks vahendiks. Need eesmärgid peegeldavad GitHubi põhiväärtusi, eriti neid, mis lihviti tema kogemuse käigus GitHub CLI OSS-i haldajana. Kuid just kolmas eesmärk – kodeerimisagentide muutmine peamisteks panustajateks – kujundas tõeliselt projekti suunda ja avas ootamatuid eeliseid kahele esimesele.

Agendipõhine kodeerimisseadistus kasutas mitmeid võimsaid tööriistu arendusprotsessi sujuvamaks muutmiseks:

  • Kodeerimisagent: Copilot CLI, pakkudes otsest suhtlust ja kontrolli.
  • Kasutatud mudel: Claude Opus 4.6, pakkudes täiustatud arutlus- ja koodigeneratsiooni võimeid.
  • IDE: VSCode, mis teenis arenduse keskse tööruumina.

Kriitilise tähtsusega oli Copilot SDK, pakkudes juurdepääsu olemasolevatele tööriistadele, MCP serveritele ja mehhanismidele uute tööriistade ja oskuste registreerimiseks. See alus kõrvaldas vajaduse leiutada uuesti agendipõhiseid põhifunktsioone, võimaldades meeskonnal keskenduda rakenduspõhisele loogikale. See integreeritud keskkond soodustas kiiret arendustsükli, tõestades, et õige seadistusega suudavad AI agendid mitte ainult aidata, vaid ka juhtida märkimisväärset osa arendustööst.

Agendipõhise kodeerimise põhiprintsiibid

Üleminek agendipõhisele paradigmale nõuab enamat kui lihtsalt tööriistu; see nõuab metoodika muutust. McGoffin tuvastas kolm põhiprintsiipi, mis osutusid arenduse kiirendamisel ja koostöö edendamisel fundamentaalseteks:

  1. Juhendamisstrateegiad: Agentidega tõhusalt suhtlemine tähendab vestluslikkust, üksikasjalikkust ja planeerimise eelistamist.
  2. Arhitektuursed strateegiad: Puhas, hästi dokumenteeritud ja refaktoriseeritud koodibaas on agentidele ülimalt oluline, et nad saaksid tõhusalt navigeerida ja sellesse panustada.
  3. Iteratsioonistrateegiad: "Süüdistage protsessi, mitte agente" mõtteviisi omaksvõtmine, sarnaselt vigadest õppimise kultuurile, võimaldab kiiret eksperimenteerimist ja õppimist.

Need strateegiad, järjekindlalt rakendades, viisid hämmastavate tulemusteni. Tõendina selle tõhususe kohta lisasid viis uut panustajat vaid kolme päeva jooksul kollektiivselt 11 uut agenti, neli uut oskust ja tutvustasid projektile 'eval-agent töövoogude' kontseptsiooni. See koostöö intensiivsus tõi kaasa märkimisväärse +28,858/-2,884 koodirea muudatuse 345 failis, demonstreerides github-agentic-workflows sügavat mõju praktikas.

Siin on põhiprintsiipide kokkuvõte:

PrintsiipKirjeldusKasu agendipõhisele arendusele
JuhendamineKohelge agente nagu vaneminseneri: juhendage nende mõtlemist, selgitage üle eeldusi, kasutage planeerimisrežiime (/plan) enne täitmist. Olge vestluslik ja üksikasjalik.Viib täpsemate ja asjakohasemate tulemusteni, aidates agentidel keerulisi probleeme tõhusalt lahendada.
ArhitektuurilineEelistage refaktoriseerimist, põhjalikku dokumentatsiooni ja robustset testimist. Hoidke koodibaas puhas, loetav ja hästi struktureeritud. Puhastage aktiivselt surnud koodi.Võimaldab agentidel mõista koodibaasi, mustreid ja olemasolevat funktsionaalsust, hõlbustades täpseid panuseid.
IteratsioonVõtke omaks "süüdistage protsessi, mitte agente" mõtteviis. Rakendage kaitsepiirdeid (range tüüpimine, lintijad, ulatuslikud testid), et vältida vigu. Õppige agendi vigadest, parandades protsesse ja kaitsepiirdeid.Soodustab kiiret iteratsiooni, loob usaldust agendi panuste vastu ja parandab pidevalt arendustorustikku.

Arenduse kiirendamine: strateegiad praktikas

Selle agendipõhise lähenemise edu juured on nende põhimõtete praktilises rakendamises.

Juhendamisstrateegiad: AI inseneri juhendamine

AI kodeerimisagendid, kuigi võimsad, on parimad hästi piiritletud probleemide lahendamisel. Keerulisemate ülesannete puhul vajavad nad juhendamist, sarnaselt juuniorinseneridele. McGoffin leidis, et vestluslik stiil, eelduste selgitamine ja planeerimisrežiimide kasutamine olid palju tõhusamad kui lühikesed käsklused. Näiteks robustsete regressioonitestide lisamisel algatas produktiivse dialoogi käsk /plan Olen hiljuti märganud, et Copilot uuendab rõõmsalt teste, et need sobiksid uute paradigmadega, kuigi neid teste ei tohiks uuendada. Kuidas saaksin luua reserveeritud testimisruumi, mida Copilot ei saaks puudutada või peab regressioonide eest kaitsmiseks reserveerima?. See edasi-tagasi suhtlus, sageli võimsa claude-opus-4-6 mudeliga, viis keerukate lahendusteni, nagu lepingu testimise kaitsepiirded, mida said uuendada ainult iniminsenerid, tagades kriitilise funktsionaalsuse kaitse.

Arhitektuursed strateegiad: AI-toega kvaliteedi alus

Iniminseneride jaoks on puhta koodibaasi hoidmine, testide kirjutamine ja funktsioonide dokumenteerimine sageli funktsioonide surve all alaväärtustatud. Agendipõhises arenduses muutuvad need ülimalt oluliseks. McGoffin avastas, et refaktoriseerimisele, dokumenteerimisele ja testjuhtumite lisamisele kuluv aeg parandas oluliselt Copiloti võimet koodibaasis navigeerida ja sellesse panustada. Agendile esimesena mõeldud repositoorium õitseb selgusest. See võimaldab arendajatel isegi Copilotilt küsida küsimusi nagu "Teadmisi omades, kuidas ma selle teistmoodi disainiksin?", muutes teoreetilised refaktoreerimised AI abil teostatavateks projektideks. See pidev keskendumine arhitektuursele tervisele tagab, et uusi funktsioone saab tarnida hõlpsalt.

Iteratsioonistrateegiad: Usaldades protsessi, mitte ainult agenti

AI mudelite areng on nihutanud mõtteviisi "usaldame, aga kontrollime" suunas, mis on sarnasem sellele, kuidas tõhusad meeskonnad tegutsevad filosoofiaga "süüdistage protsessi, mitte inimesi". See "vigadest õppimise kultuur" agendipõhises arenduses tähendab, et kui AI agent teeb vea, on vastus parandada aluseks olevaid protsesse ja kaitsepiirdeid, mitte süüdistada agenti ennast. See hõlmab rangete CI/CD tavade rakendamist: range tüüpimine liidese vastavuse tagamiseks, robustsed lintijad koodikvaliteedi tagamiseks ning ulatuslikud integratsiooni-, tervik- ja lepingutestid. Kuigi nende testide käsitsi ehitamine võib olla kulukas, muudab agendi abi nende juurutamise palju odavamaks, pakkudes kriitilist usaldust uute muudatuste suhtes. Nende süsteemide seadistamisega annavad arendajad Copilotile volituse oma tööd kontrollida, peegeldades seda, kuidas juuniorinsener on edu saavutamiseks valmis seatud.

Agendipõhise arendustsükli valdamine

Nende põhimõtete integreerimine praktilisse töövoogu loob võimsa, kiirendatud arendustsükli:

  1. Planeerimine Copilotiga: Algatage uusi funktsioone, kasutades /plan. Töötage plaaniga iteratiivselt, tagades, et testid ja dokumentatsiooni uuendused on lisatud ja valmis enne koodi juurutamist. Dokumentatsioon võib olla agendile täiendavate juhiste kogum.
  2. Juurutamine Autopilotiga: Laske Copilotil funktsioon juurutada, kasutades /autopilot, ära kasutades selle koodigeneratsiooni võimeid.
  3. Ülevaatus Copilot Code Review'ga: Paluge Copilotil alustada ülevaatuse tsüklit. See hõlmab Copilot Code Review agendi palumist, selle kommentaaridega tegelemist ja uute ülevaatuste palumist, kuni probleemid on lahendatud.
  4. Inimülevaatus: Viige läbi lõplik inimülevaatus, et tagada mustrite järgimine ja keeruliste otsuste vastavus strateegilisele kavatsusele.

Funktsioonitsüklist kaugemale ulatub pidev optimeerimine. McGoffin palub Copilotil rutiinselt käsklusi nagu /plan Vaata kood üle, et leida puuduvad testid, võimalikud rikkis testid ja surnud kood või /plan Vaata üle dokumentatsioon ja kood, et tuvastada dokumentatsiooni lüngad.. Need kontrollid, mida tehakse iganädalaselt või uute funktsioonide integreerimisel, tagavad agendipõhise arenduskeskkonna tervise ja tõhususe.

Tarkvaratehnika tulevik AI-ga

See, mis algas isikliku püüdlusena automatiseerida frustreerivat analüüsiülesannet, on arenenud tarkvaraarenduse uueks paradigmaks. Agendipõhine arendus, mida toetavad tööriistad nagu GitHub Copilot ja täiustatud mudelid nagu Claude Opus, ei tähenda ainult arendajate kiiremaks muutmist; see muudab põhimõtteliselt AI teadlaste ja tarkvarainseneride töö olemust. Delegeerides intellektuaalset rutiintööd intelligentsetele agentidele, saavad meeskonnad saavutada enneolematu tootlikkuse, koostöö ja innovatsiooni taseme, keskendudes lõpuks loomingulistele ja strateegilistele väljakutsetele, mis tõeliselt edendavad progressi. See lähenemine kuulutab põnevat tulevikku, kus AI agendid ei ole mitte ainult tööriistad, vaid lahutamatud arendusmeeskonna liikmed, muutes seda, kuidas me tarkvara ehitame ja hooldame.

Korduma kippuvad küsimused

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.

Püsige kursis

Saage värskeimad AI uudised oma postkasti.

Jaga