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:
- Juhendamisstrateegiad: Agentidega tõhusalt suhtlemine tähendab vestluslikkust, üksikasjalikkust ja planeerimise eelistamist.
- Arhitektuursed strateegiad: Puhas, hästi dokumenteeritud ja refaktoriseeritud koodibaas on agentidele ülimalt oluline, et nad saaksid tõhusalt navigeerida ja sellesse panustada.
- 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:
| Printsiip | Kirjeldus | Kasu agendipõhisele arendusele |
|---|---|---|
| Juhendamine | Kohelge 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. |
| Arhitektuuriline | Eelistage 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. |
| Iteratsioon | Võ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:
- 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. - Juurutamine Autopilotiga: Laske Copilotil funktsioon juurutada, kasutades
/autopilot, ära kasutades selle koodigeneratsiooni võimeid. - Ü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.
- 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.
Algallikas
https://github.blog/ai-and-ml/github-copilot/agent-driven-development-in-copilot-applied-science/Korduma kippuvad küsimused
What is agent-driven development in the context of GitHub Copilot?
How did the 'eval-agents' project originate?
What are the key components of an agentic coding setup for this approach?
What prompting strategies are most effective when working with AI coding agents?
Why are architectural strategies like refactoring and documentation crucial for agent-driven development?
How does a 'blameless culture' apply to iteration strategies in agent-driven development?
What is the typical development loop when using agent-driven development?
What kind of impact did agent-driven development have on team productivity and collaboration?
Püsige kursis
Saage värskeimad AI uudised oma postkasti.
