Automatisering af intellektuelt slid med AI-agenter
I det hastigt udviklende landskab inden for softwareudvikling fører jagten på effektivitet ofte til banebrydende innovationer. Tyler McGoffin, en AI-forsker, beskrev for nylig en rejse, der eksemplificerer denne ånd: automatisering af hans intellektuelle slid gennem agentdrevet udvikling med GitHub Copilot. Dette handler ikke kun om hurtigere kodning; det handler om fundamentalt at ændre udviklerens rolle fra gentagen analyse til kreativ problemløsning og strategisk tilsyn. McGoffins erfaring fremhæver et velkendt mønster blandt ingeniører – at bygge værktøjer for at eliminere trivielt arbejde – men tager det et skridt videre ved at betro AI-agenter komplekse analytiske opgaver, der tidligere var umulige at skalere manuelt.
McGoffins inspiration udsprang af et kritisk, men overvældende, aspekt af hans arbejde: analyse af kodningsagenters ydeevne i forhold til benchmarks som TerminalBench2 og SWEBench-Pro. Dette involverede dissekering af 'trajectories' – detaljerede JSON-logfiler over en agents tankeprocesser og handlinger – som kunne udgøre hundredtusindvis af kodelinjer på tværs af adskillige opgaver og benchmark-kørsler. Selvom GitHub Copilot allerede hjalp med mønstergenkendelse, skreg den gentagne karakter af denne analytiske cyklus efter fuld automatisering. Dette førte til oprettelsen af 'eval-agents', et system designet til at automatisere denne intellektuelle byrde, hvilket bemyndigede hans team i Copilot Applied Science til at opnå lignende effektiviteter.
Blåtrykket for agentdrevet udvikling
Oprettelsen af 'eval-agents' blev styret af et klart sæt principper med fokus på samarbejde og skalerbarhed. McGoffin sigtede mod at gøre disse AI-agenter nemme at dele, enkle at forfatte og det primære middel for teamets bidrag. Disse mål afspejler GitHubs kerneværdier, især dem, der er forfinet under hans erfaring som OSS-vedligeholder for GitHub CLI. Det var dog det tredje mål – at gøre kodningsagenter til den primære bidragsyder – der virkelig formede projektets retning og låste op for uventede fordele for de to første.
Den agentiske kodningsopsætning udnyttede flere kraftfulde værktøjer til at strømline udviklingsprocessen:
- Kodningsagent: Copilot CLI, der giver direkte interaktion og kontrol.
- Anvendt model: Claude Opus 4.6, der tilbyder avancerede ræsonnements- og kodegenereringsfunktioner.
- IDE: VSCode, der fungerer som det centrale arbejdsområde for udvikling.
Afgørende var Copilot SDK, der var medvirkende til at give adgang til eksisterende værktøjer, MCP-servere og mekanismer til at registrere nye værktøjer og færdigheder. Dette fundament eliminerede behovet for at genopfinde kerneagentiske funktionaliteter, hvilket gjorde det muligt for teamet at fokusere på applikationsspecifik logik. Dette integrerede miljø fremmede en hurtig udviklingscyklus, hvilket beviste, at med den rette opsætning kunne AI-agenter ikke kun assistere, men også drive betydelige dele af udviklingsarbejdet.
Kerneprincipper for effektiv agentisk kodning
Overgangen til et agentdrevet paradigme kræver mere end blot værktøjer; det kræver et skift i metodologi. McGoffin identificerede tre kerneprincipper, der viste sig at være fundamentale for at accelerere udviklingen og fremme samarbejdet:
- Prompting-strategier: Effektiv interaktion med agenter betyder at være samtalebaseret, verbose og prioritere planlægning.
- Arkitektoniske strategier: En ren, veldokumenteret og refaktoreret kodebase er afgørende for, at agenter kan navigere i og bidrage effektivt til.
- Iterationsstrategier: At omfavne en "skyld processen, ikke agenterne"-tankegang, svarende til en skyldfri kultur, muliggør hurtig eksperimentering og læring.
Disse strategier, når de anvendes konsekvent, førte til forbløffende resultater. Som et bevis på denne effektivitet tilføjede fem nye bidragsydere, inden for blot tre dage, tilsammen 11 nye agenter, fire nye færdigheder og introducerede konceptet 'eval-agent workflows' til projektet. Denne kollaborative sprint resulterede i en bemærkelsesværdig ændring på +28.858/-2.884 kodelinjer fordelt på 345 filer, hvilket demonstrerer den dybtgående indvirkning af github-agentic-workflows i praksis.
Her er en opsummering af kerneprincipperne:
| Princip | Beskrivelse | Fordel for agentdrevet udvikling |
|---|---|---|
| Prompting | Behandl agenter som senioringeniører: vejled deres tænkning, overforklar antagelser, udnyt planlægningsfunktioner (/plan) før udførelse. Vær samtalebaseret og detaljeret. | Fører til mere nøjagtige og relevante resultater, der hjælper agenter med at løse komplekse problemer effektivt. |
| Arkitektonisk | Prioriter refactoring, omfattende dokumentation og robust test. Hold kodebasen ren, læsbar og velstruktureret. Ryd aktivt op i død kode. | Gør det muligt for agenter at forstå kodebasen, mønstre og eksisterende funktionalitet, hvilket letter nøjagtige bidrag. |
| Iteration | Vedtag en 'skyld processen, ikke agenterne'-tankegang. Implementer sikkerhedsforanstaltninger (streng typning, linters, omfattende tests) for at forhindre fejl. Lær af agentfejl ved at forbedre processer og sikkerhedsforanstaltninger. | Fremmer hurtig iteration, opbygger tillid til agentbidrag og forbedrer kontinuerligt udviklingspipelinen. |
Accelerering af udvikling: Strategier i aktion
Succesen med denne agentdrevne tilgang er forankret i praktisk anvendelse af disse principper.
Prompting-strategier: Guider AI-ingeniøren
AI-kodningsagenter, selvom de er kraftfulde, udmærker sig ved velafgrænsede problemer. Til mere komplekse opgaver kræver de vejledning, ligesom junioringeniører. McGoffin fandt ud af, at en samtalebaseret stil, der forklarede antagelser og udnyttede planlægningsfunktioner, var langt mere effektiv end knappe kommandoer. For eksempel, når man tilføjede robuste regressionstests, startede en prompt som /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? en produktiv dialog. Denne frem-og-tilbage-interaktion, ofte med den kraftfulde claude-opus-4-6-model, førte til sofistikerede løsninger som kontraktstest-sikkerhedsforanstaltninger, som kun menneskelige ingeniører kunne opdatere, hvilket sikrede, at kritisk funktionalitet forblev beskyttet.
Arkitektoniske strategier: Grundlaget for AI-assisteret kvalitet
For menneskelige ingeniører bliver vedligeholdelse af en ren kodebase, skrivning af tests og dokumentation af funktioner ofte nedprioriteret under feature-pres. I agentdrevet udvikling bliver disse altafgørende. McGoffin opdagede, at brug af tid på refactoring, dokumentation og tilføjelse af testcases dramatisk forbedrede Copilots evne til at navigere i og bidrage til kodebasen. Et agent-først-repository trives med klarhed. Dette gør det muligt for udviklere at spørge Copilot med spørgsmål som "Knowing what I know now, how would I design this differently?", hvilket forvandler teoretiske refaktorer til opnåelige projekter med AI-assistance. Dette kontinuerlige fokus på arkitektonisk sundhed sikrer, at nye funktioner kan leveres uden besvær.
Iterationsstrategier: Tillid til processen, ikke kun agenten
Udviklingen af AI-modeller har ændret tankegangen fra 'tillid, men verificer' til en mere tillidsfuld holdning, analogt med hvordan effektive teams opererer med en 'skyld processen, ikke mennesker'-filosofi. Denne 'skyldfri kultur' i agentdrevet udvikling betyder, at når en AI-agent begår en fejl, er reaktionen at forbedre de underliggende processer og sikkerhedsforanstaltninger, snarere end at bebrejde agenten selv. Dette involverer implementering af stringent CI/CD-praksis: streng typning for at sikre grænsefladeoverensstemmelse, robuste linters for kodenkvalitet og omfattende integration, ende-til-ende- og kontraktstests. Mens det kan være dyrt at bygge disse tests manuelt, gør agentassistance dem meget billigere at implementere, hvilket giver kritisk tillid til nye ændringer. Ved at opsætte disse systemer bemyndiger udviklere Copilot til at kontrollere sit eget arbejde, hvilket afspejler, hvordan en junioringeniør sættes op til succes.
Beherskelse af den agentdrevne udviklingscyklus
Integreringen af disse principper i en praktisk arbejdsgang skaber en kraftfuld, accelereret udviklingscyklus:
- Planlæg med Copilot: Start nye funktioner ved hjælp af
/plan. Iterer på planen, og sørg for, at tests og dokumentationsopdateringer inkluderes og færdiggøres, før kodeimplementering. Dokumentation kan tjene som et yderligere sæt retningslinjer for agenten. - Implementer med Autopilot: Lad Copilot implementere funktionen ved hjælp af
/autopilot, idet dets kodegenereringsfunktioner udnyttes. - Gennemgå med Copilot Code Review: Anmod Copilot om at starte en gennemgangscyklus. Dette indebærer at anmode Copilot Code Review-agenten, adressere dens kommentarer og gentagne gange anmode om gennemgange, indtil problemerne er løst.
- Menneskelig gennemgang: Udfør en endelig menneskelig gennemgang for at sikre, at mønstre håndhæves, og komplekse beslutninger stemmer overens med den strategiske hensigt.
Ud over funktionscyklussen er kontinuerlig optimering nøglen. McGoffin spørger rutinemæssigt Copilot med kommandoer som /plan Review the code for any missing tests, any tests that may be broken, and dead code eller /plan Review the documentation and code to identify any documentation gaps.. Disse kontroller, der køres ugentligt eller når nye funktioner integreres, sikrer, at det agentdrevne udviklingsmiljø forbliver sundt og effektivt.
Fremtiden for softwareudvikling med AI
Hvad der startede som en personlig søgen efter at automatisere en frustrerende analyseopgave, har udviklet sig til et nyt paradigme for softwareudvikling. Agentdrevet udvikling, drevet af værktøjer som GitHub Copilot og avancerede modeller som Claude Opus, handler ikke kun om at gøre udviklere hurtigere; det handler om fundamentalt at ændre karakteren af arbejdet for AI-forskere og softwareingeniører. Ved at flytte intellektuelt slid til intelligente agenter kan teams opnå hidtil usete niveauer af produktivitet, samarbejde og innovation, og i sidste ende fokusere på de kreative og strategiske udfordringer, der virkelig driver fremskridt. Denne tilgang varsler en spændende fremtid, hvor AI-agenter ikke kun er værktøjer, men integrerede medlemmer af udviklingsteamet, der transformerer den måde, vi bygger og vedligeholder software på.
Original kilde
https://github.blog/ai-and-ml/github-copilot/agent-driven-development-in-copilot-applied-science/Ofte stillede spørgsmål
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?
Hold dig opdateret
Få de seneste AI-nyheder i din indbakke.
