Avtomatizacija intelektualnega dela z AI agenti
V hitro spreminjajočem se svetu programskega inženirstva zasledovanje učinkovitosti pogosto vodi do prelomnih inovacij. Tyler McGoffin, raziskovalec umetne inteligence, je pred kratkim podrobno opisal potovanje, ki pooseblja ta duh: avtomatizacijo svojega intelektualnega dela z razvojem, vodenim z agenti, in GitHub Copilotom. Ne gre zgolj za hitrejše kodiranje; gre za temeljno spremembo vloge razvijalca od ponavljajoče se analize k ustvarjalnemu reševanju problemov in strateškemu nadzoru. McGoffinova izkušnja poudarja znan vzorec med inženirji – izdelovanje orodij za odpravo dolgočasnega dela – vendar jo dvigne na višjo raven z zaupanjem kompleksnih analitičnih nalog AI agentom, ki jih prej ni bilo mogoče ročno obdelati v takšnem obsegu.
McGoffinov navdih je izviral iz kritičnega, a preobremenjujočega aspekta njegovega dela: analiziranja uspešnosti kodirnih agentov glede na referenčne vrednosti, kot sta TerminalBench2 in SWEBench-Pro. To je vključevalo seciranje 'trajektorij' – podrobnih dnevnikov JSON miselnih procesov in dejanj agenta – ki so lahko obsegale stotisoče vrstic kode v številnih nalogah in referenčnih izvedbah. Medtem ko je GitHub Copilot že pomagal pri prepoznavanju vzorcev, je ponavljajoča se narava te analitične zanke klicala po popolni avtomatizaciji. To je privedlo do ustvarjanja 'eval-agents', sistema, zasnovanega za avtomatizacijo tega intelektualnega bremena, kar je njegovi ekipi v Copilot Applied Science omogočilo doseganje podobnih učinkovitosti.
Načrt za razvoj, voden z agenti
Nastanek 'eval-agents' je bil voden z jasnim naborom načel, osredotočenih na sodelovanje in skalabilnost. McGoffin si je prizadeval, da bi bili ti AI agenti enostavni za deljenje, preprosti za avtorstvo in glavno orodje za prispevke ekipe. Ti cilji odražajo temeljne vrednote GitHub, zlasti tiste, izbrušene med njegovo izkušnjo kot vzdrževalec odprtokodne programske opreme za GitHub CLI. Vendar pa je bil tretji cilj – postavitev kodirnih agentov kot primarnega prispevka – tisti, ki je resnično oblikoval smer projekta in odklenil nepričakovane koristi za prva dva.
Agentna nastavitev kodiranja je izkoriščala več zmogljivih orodij za poenostavitev razvojnega procesa:
- Kodirni agent: Copilot CLI, ki omogoča neposredno interakcijo in nadzor.
- Uporabljeni model: Claude Opus 4.6, ki ponuja napredne zmožnosti sklepanja in generiranja kode.
- IDE: VSCode, ki služi kot centralni delovni prostor za razvoj.
Ključno je bil Copilot SDK, ki je omogočal dostop do obstoječih orodij, strežnikov MCP in mehanizmov za registracijo novih orodij in veščin. Ta osnova je odpravila potrebo po ponovnem izumljanju temeljnih agentnih funkcionalnosti, kar je ekipi omogočilo, da se osredotoči na aplikacijsko specifično logiko. To integrirano okolje je spodbudilo hiter razvojni cikel, kar dokazuje, da ob pravilni nastavitvi AI agenti niso mogli samo pomagati, ampak tudi poganjati pomemben del razvojnega dela.
Temeljna načela za učinkovito agentno kodiranje
Prehod na paradigmo, vodeno z agenti, zahteva več kot le orodja; zahteva premik v metodologiji. McGoffin je identificiral tri temeljna načela, ki so se izkazala za ključna pri pospeševanju razvoja in spodbujanju sodelovanja:
- Strategije pozivov: Učinkovito interakcija z agenti pomeni biti pogovoren, obširen in dajati prednost načrtovanju.
- Arhitekturne strategije: Čista, dobro dokumentirana in refaktorirana kodna baza je izjemno pomembna, da lahko agenti učinkovito krmarijo po njej in prispevajo k njej.
- Iteracijske strategije: Sprejemanje miselnosti 'krivi proces, ne agente', podobno kulturi brez krivde, omogoča hitro eksperimentiranje in učenje.
Te strategije so, dosledno uporabljene, privedle do osupljivih rezultatov. V dokaz te učinkovitosti je pet novih sodelavcev v samo treh dneh skupaj dodalo 11 novih agentov, štiri nove veščine in uvedlo koncept 'eval-agent workflows' v projekt. Ta sodelovalni sprint je povzročil izjemno spremembo +28.858/-2.884 vrstic kode v 345 datotekah, kar dokazuje globok vpliv potekov dela, vodenih z GitHub agenti v praksi.
Tukaj je povzetek temeljnih načel:
| Načelo | Opis | Korist za razvoj, voden z agenti |
|---|---|---|
| Pozivanje | Obravnavajte agente kot izkušene inženirje: vodite njihovo razmišljanje, preveč razlagajte predpostavke, izkoriščajte načine načrtovanja (/plan) pred izvedbo. Bodite pogovorni in podrobni. | Vodi do natančnejših in relevantnejših rezultatov, kar agentom pomaga učinkovito reševati kompleksne probleme. |
| Arhitekturnost | Dajte prednost refaktoriranju, celoviti dokumentaciji in robustnemu testiranju. Ohranite kodno bazo čisto, berljivo in dobro strukturirano. Aktivno odstranjujte mrtvo kodo. | Agentom omogoča razumevanje kodne baze, vzorcev in obstoječe funkcionalnosti, kar olajšuje natančne prispevke. |
| Iteracija | Sprejmite miselnost 'krivi proces, ne agente'. Implementirajte varovala (strogo tipiziranje, linterji, obsežni testi) za preprečevanje napak. Učite se iz napak agentov z izboljšanjem procesov in varoval. | Spodbuja hitro iteracijo, gradi zaupanje v prispevke agentov in nenehno izboljšuje razvojni cevovod. |
Pospeševanje razvoja: Strategije v akciji
Uspeh tega pristopa, vodenega z agenti, temelji na praktični uporabi teh načel.
Strategije pozivov: Vodenje AI inženirja
AI kodirni agenti so, čeprav zmogljivi, odlični pri dobro definiranih problemih. Za kompleksnejše naloge potrebujejo vodenje, podobno kot mlajši inženirji. McGoffin je ugotovil, da so pogovorni slog, razlaganje predpostavk in izkoriščanje načinov načrtovanja veliko bolj učinkoviti kot kratki ukazi. Na primer, pri dodajanju robustnih regresijskih testov je poziv, kot je '/plan Pred kratkim sem opazil, da Copilot z veseljem posodablja teste, da se prilagodijo njegovim novim paradigmam, čeprav teh testov ne bi smeli posodabljati. Kako lahko ustvarim rezerviran testni prostor, ki se ga Copilot ne sme dotakniti ali ga mora rezervirati za zaščito pred regresijami?', sprožil produktiven dialog. To izmenjavanje, pogosto z zmogljivim modelom Claude Opus 4.6, je privedlo do sofisticiranih rešitev, kot so varovala za testiranje pogodb, ki so jih lahko posodabljali samo človeški inženirji, s čimer je bila zagotovljena zaščita kritične funkcionalnosti.
Arhitekturne strategije: Temelj kakovosti, podprte z umetno inteligenco
Za človeške inženirje so vzdrževanje čiste kodne baze, pisanje testov in dokumentiranje funkcij pogosto potisnjeni v ozadje zaradi pritiska na funkcije. Pri razvoju, vodenem z agenti, postanejo ti elementi izjemno pomembni. McGoffin je odkril, da je vložitev časa v refaktoriranje, dokumentiranje in dodajanje testnih primerov dramatično izboljšala sposobnost Copilota, da krmari po kodni bazi in prispeva k njej. Repozitorij, ki je najprej agentni, uspeva z jasnostjo. To omogoča razvijalcem, da celo postavijo Copilotu vprašanja, kot so 'Glede na to, kar vem sedaj, kako bi to zasnoval drugače?', s čimer se teoretično refaktoriranje spremeni v dosegljive projekte s pomočjo umetne inteligence. Ta nenehna osredotočenost na arhitekturno zdravje zagotavlja, da je nove funkcije mogoče dostaviti preprosto.
Strategije iteracije: Zaupanje procesu, ne le agentu
Razvoj AI modelov je spremenil miselnost iz 'zaupaj, a preveri' v bolj zaupljiv odnos, podobno kot učinkovite ekipe delujejo po filozofiji 'krivi proces, ne ljudi'. Ta 'kultura brez krivde' pri razvoju, vodenem z agenti, pomeni, da ko AI agent naredi napako, je odziv izboljšanje temeljnih procesov in varoval, namesto krivljenja samega agenta. To vključuje implementacijo strogih praks CI/CD: strogo tipiziranje za zagotovitev skladnosti vmesnikov, robustne linterje za kakovost kode ter obsežne integracijske, end-to-end in pogodbene teste. Medtem ko je ročno gradnja teh testov lahko draga, jih pomoč agentov bistveno poceni, kar zagotavlja ključno zaupanje v nove spremembe. Z vzpostavitvijo teh sistemov razvijalci omogočijo Copilotu, da preverja svoje lastno delo, kar odraža, kako se mlajši inženir pripravi na uspeh.
Obvladovanje razvojnega cikla, vodenega z agenti
Integracija teh načel v praktičen potek dela ustvarja zmogljiv, pospešen razvojni cikel:
- Načrtujte s Copilotom: Začnite z novimi funkcijami z uporabo
/plan. Iterativno delajte na načrtu, zagotovite, da so testi in posodobitve dokumentacije vključeni in dokončani pred implementacijo kode. Dokumentacija lahko služi kot dodaten nabor smernic za agenta. - Implementirajte z Autopilotom: Dovolite Copilotu, da implementira funkcijo z uporabo
/autopilot, izkoriščajoč njegove zmožnosti generiranja kode. - Pregled s Copilot Code Review: Pozovite Copilota, da začne pregledni cikel. To vključuje zahtevo po agentu Copilot Code Review, obravnavanje njegovih komentarjev in ponovno zahtevanje pregledov, dokler problemi niso rešeni.
- Človeški pregled: Izvedite končni človeški pregled, da zagotovite, da so vzorci uveljavljeni in da so kompleksne odločitve usklajene s strateškim namenom.
Poleg cikla funkcij je ključna nenehna optimizacija. McGoffin redno poziva Copilota z ukazi, kot sta '/plan Preglej kodo za morebitne manjkajoče teste, morebitne pokvarjene teste in mrtvo kodo' ali '/plan Preglej dokumentacijo in kodo, da prepoznaš morebitne vrzeli v dokumentaciji.' Ti pregledi, ki se izvajajo tedensko ali ob integraciji novih funkcij, zagotavljajo, da okolje za razvoj, voden z agenti, ostaja zdravo in učinkovito.
Prihodnost programskega inženirstva z umetno inteligenco
Kar se je začelo kot osebno iskanje avtomatizacije frustrirajoče analitične naloge, se je razvilo v novo paradigmo za razvoj programske opreme. Razvoj, voden z agenti, ki ga poganjajo orodja, kot sta GitHub Copilot in napredni modeli, kot je Claude Opus, ne gre le za pospeševanje dela razvijalcev; gre za temeljno spreminjanje narave dela tako za raziskovalce umetne inteligence kot tudi za programere. Z prenosom intelektualnega dela na inteligentne agente lahko ekipe dosežejo izjemne ravni produktivnosti, sodelovanja in inovacij, s čimer se končno osredotočijo na ustvarjalne in strateške izzive, ki resnično poganjajo napredek. Ta pristop napoveduje vznemirljivo prihodnost, kjer AI agenti niso le orodja, temveč sestavni člani razvojne ekipe, ki spreminjajo način, kako gradimo in vzdržujemo programsko opremo.
Izvirni vir
https://github.blog/ai-and-ml/github-copilot/agent-driven-development-in-copilot-applied-science/Pogosta vprašanja
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?
Bodite na tekočem
Prejemajte najnovejše AI novice po e-pošti.
