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:
- Strategije promptiranja: Učinkovita interakcija s agentima znači biti konverzacijski, opširan i prioritetno planirati.
- Arhitektonske strategije: Čista, dobro dokumentirana i refaktorirana baza koda ključna je da bi agenti učinkovito navigirali i doprinosili.
- 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:
| Princip | Opis | Korist za razvoj vođen agentima |
|---|---|---|
| Promptiranje | Tretirajte 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. |
| Arhitektonski | Dajte 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. |
| Iteracija | Usvojite 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:
- 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. - Implementirajte s Autopilotom: Dopustite Copilotu da implementira značajku koristeći
/autopilot, koristeći njegove mogućnosti generiranja koda. - 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.
- 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.
Izvorni izvor
https://github.blog/ai-and-ml/github-copilot/agent-driven-development-in-copilot-applied-science/Često postavljana pitanja
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?
Budite u toku
Primajte najnovije AI vijesti na e-mail.
