Automatisering av intellektuellt slit med AI-agenter
I det snabbt föränderliga landskapet inom mjukvaruutveckling leder strävan efter effektivitet ofta till banbrytande innovationer. Tyler McGoffin, en AI-forskare, beskrev nyligen en resa som exemplifierar denna anda: att automatisera sitt intellektuella slit genom agentdriven utveckling med GitHub Copilot. Detta handlar inte bara om snabbare kodning; det handlar om att i grunden flytta utvecklarens roll från repetitiv analys till kreativ problemlösning och strategisk översikt. McGoffins erfarenhet belyser ett välkänt mönster bland ingenjörer – att bygga verktyg för att eliminera tråkigt arbete – men tar det ett steg längre genom att anförtro AI-agenter komplexa analysuppgifter som tidigare var omöjliga att skala manuellt.
McGoffins inspiration härstammade från en kritisk, men överväldigande, aspekt av hans arbete: att analysera kodagenters prestanda mot benchmarks som TerminalBench2 och SWEBench-Pro. Detta innebar att dissekera 'trajektorier' – detaljerade JSON-loggar över en agents tankeprocesser och handlingar – som kunde uppgå till hundratusentals kodrader över många uppgifter och benchmarkkörningar. Medan GitHub Copilot redan assisterade med mönsterigenkänning, skrek den repetitiva naturen av denna analysslinga efter fullständig automatisering. Detta ledde till skapandet av 'eval-agents', ett system utformat för att automatisera denna intellektuella börda, vilket gav hans team inom Copilot Applied Science möjlighet att uppnå liknande effektivitet.
Ritningen för agentdriven utveckling
Ursprunget till 'eval-agents' styrdes av en tydlig uppsättning principer fokuserade på samarbete och skalbarhet. McGoffin strävade efter att göra dessa AI-agenter lätta att dela, enkla att skapa och det primära verktyget för teamets bidrag. Dessa mål speglar GitHubs kärnvärden, särskilt de som finslipats under hans erfarenhet som OSS-ansvarig för GitHub CLI. Det var dock det tredje målet – att göra kodningsagenter till den primära bidragsgivaren – som verkligen formade projektets riktning och låste upp oväntade fördelar för de två första.
Den agentiska kodningsuppsättningen använde flera kraftfulla verktyg för att effektivisera utvecklingsprocessen:
- Kodningsagent: Copilot CLI, som erbjuder direkt interaktion och kontroll.
- Använd modell: Claude Opus 4.6, som erbjuder avancerade resonemang och kodgenereringsförmågor.
- IDE: VSCode, som fungerar som den centrala arbetsytan för utveckling.
Avgörande var att Copilot SDK var avgörande och gav tillgång till befintliga verktyg, MCP-servrar och mekanismer för att registrera nya verktyg och färdigheter. Denna grund eliminerade behovet av att återuppfinna kärnagentfunktioner, vilket gjorde att teamet kunde fokusera på applikationsspecifik logik. Denna integrerade miljö främjade en snabb utvecklingsslinga, vilket bevisade att med rätt inställning kunde AI-agenter inte bara assistera utan också driva betydande delar av utvecklingsarbetet.
Kärnprinciper för effektiv agentisk kodning
Övergången till ett agentdrivet paradigm kräver mer än bara verktyg; det kräver en metodologisk förändring. McGoffin identifierade tre kärnprinciper som visade sig vara grundläggande för att accelerera utvecklingen och främja samarbete:
- Promptstrategier: Att interagera effektivt med agenter innebär att vara konversativ, utförlig och prioritera planering.
- Arkitektoniska strategier: En ren, väldokumenterad och refaktorerad kodbas är av största vikt för att agenter effektivt ska kunna navigera och bidra till.
- Iterationsstrategier: Att anta ett "skyll på processen, inte agenterna"-tankesätt, liknande en skuldfri kultur, möjliggör snabb experimentering och inlärning.
Dessa strategier, när de tillämpades konsekvent, ledde till häpnadsväckande resultat. Som ett bevis på denna effektivitet lade fem nya bidragsgivare, på bara tre dagar, kollektivt till 11 nya agenter, fyra nya färdigheter och introducerade konceptet 'eval-agent workflows' till projektet. Denna kollaborativa sprint resulterade i en anmärkningsvärd ändring på +28 858/-2 884 kodrader över 345 filer, vilket demonstrerar den djupgående inverkan av github-agentic-workflows i praktiken.
Här är en sammanfattning av kärnprinciperna:
| Princip | Beskrivning | Fördel för agentdriven utveckling |
|---|---|---|
| Promptning | Behandla agenter som erfarna ingenjörer: vägled deras tänkande, överförklara antaganden, utnyttja planeringslägen (/plan) före exekvering. Var konversativ och detaljerad. | Leder till mer exakta och relevanta resultat, vilket hjälper agenter att lösa komplexa problem effektivt. |
| Arkitektur | Prioritera refaktorering, omfattande dokumentation och robust testning. Håll kodbasen ren, läsbar och välstrukturerad. Städa aktivt upp död kod. | Gör det möjligt för agenter att förstå kodbasen, mönster och befintlig funktionalitet, vilket underlättar korrekta bidrag. |
| Iteration | Anta ett "skyll på processen, inte agenterna"-tankesätt. Implementera skyddsmekanismer (strikt typning, linters, omfattande tester) för att förhindra misstag. Lär av agentfel genom att förbättra processer och skyddsmekanismer. | Främjar snabb iteration, bygger förtroende för agentbidrag och förbättrar kontinuerligt utvecklingspipelinen. |
Accelererad utveckling: Strategier i handling
Framgången med detta agentdrivna tillvägagångssätt är rotad i praktisk tillämpning av dessa principer.
Promptstrategier: Vägleda AI-ingenjören
AI-kodagenter, även om de är kraftfulla, utmärker sig i väl avgränsade problem. För mer komplexa uppgifter kräver de vägledning, ungefär som juniora ingenjörer. McGoffin fann att en konversativ stil, förklarande av antaganden och utnyttjande av planeringslägen var mycket effektivare än korta kommandon. Till exempel, när man lade till robusta regressionstester, initierade 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. Detta fram och tillbaka, ofta med den kraftfulla claude-opus-4-6 modellen, ledde till sofistikerade lösningar som contract testing guardrails, vilka endast mänskliga ingenjörer kunde uppdatera, vilket säkerställde att kritisk funktionalitet förblev skyddad.
Arkitektoniska strategier: Grunden för AI-assisterad kvalitet
För mänskliga ingenjörer är att upprätthålla en ren kodbas, skriva tester och dokumentera funktioner ofta nedprioriterat under funktionstryck. Inom agentdriven utveckling blir dessa av yttersta vikt. McGoffin upptäckte att att spendera tid på att refaktorisera, dokumentera och lägga till testfall dramatiskt förbättrade Copilots förmåga att navigera och bidra till kodbasen. Ett agent-först-arkiv frodas på tydlighet. Detta gör det möjligt för utvecklare att till och med fråga Copilot med frågor som "Med det jag vet nu, hur skulle jag designa detta annorlunda?", vilket förvandlar teoretiska refaktoreringar till uppnåeliga projekt med AI-assistans. Detta kontinuerliga fokus på arkitektonisk hälsa säkerställer att nya funktioner kan levereras trivialt.
Iterationsstrategier: Att lita på processen, inte bara agenten
Utvecklingen av AI-modeller har skiftat tankesättet från "lita men verifiera" till en mer tillitsfull inställning, analogt med hur effektiva team arbetar med en filosofi som "skyll på processen, inte människorna". Denna "skuldfria kultur" inom agentdriven utveckling innebär att när en AI-agent gör ett misstag, är svaret att förbättra de underliggande processerna och skyddsmekanismerna, snarare än att skylla på agenten själv. Detta innebär att implementera rigorösa CI/CD-metoder: strikt typning för att säkerställa gränssnittskonformitet, robusta linters för kodkvalitet, och omfattande integrations-, end-to-end- och kontraktstester. Även om det kan vara dyrt att bygga dessa tester manuellt, gör agentassistans dem mycket billigare att implementera, vilket ger kritiskt förtroende för nya ändringar. Genom att sätta upp dessa system ger utvecklare Copilot möjlighet att kontrollera sitt eget arbete, vilket speglar hur en junior ingenjör får förutsättningar för framgång.
Bemästra den agentdrivna utvecklingsslingan
Att integrera dessa principer i ett praktiskt arbetsflöde skapar en kraftfull, accelererad utvecklingsslinga:
- Planera med Copilot: Initiera nya funktioner med hjälp av
/plan. Iterera på planen, säkerställ att tester och dokumentationsuppdateringar inkluderas och slutförs före kodimplementering. Dokumentation kan fungera som ytterligare riktlinjer för agenten. - Implementera med Autopilot: Låt Copilot implementera funktionen med hjälp av
/autopilot, utnyttjande dess kodgenereringsförmåga. - Granska med Copilot Code Review: Be Copilot att initiera en granskningsslinga. Detta innebär att begära Copilot Code Review-agenten, hantera dess kommentarer och begära om granskningar tills problemen är lösta.
- Mänsklig granskning: Utför en slutlig mänsklig granskning för att säkerställa att mönster efterlevs och att komplexa beslut överensstämmer med strategisk intention.
Utöver funktionsslingan är kontinuerlig optimering avgörande. McGoffin uppmanar regelbundet Copilot med kommandon 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. Dessa kontroller, som körs veckovis eller när nya funktioner integreras, säkerställer att den agentdrivna utvecklingsmiljön förblir hälsosam och effektiv.
Framtiden för mjukvaruutveckling med AI
Vad som började som en personlig strävan att automatisera en frustrerande analysuppgift har utvecklats till ett nytt paradigm för mjukvaruutveckling. Agentdriven utveckling, driven av verktyg som GitHub Copilot och avancerade modeller som Claude Opus, handlar inte bara om att göra utvecklare snabbare; det handlar om att i grunden förändra arbetets natur för både AI-forskare och mjukvaruingenjörer. Genom att överföra intellektuellt slit till intelligenta agenter kan team uppnå oöverträffade nivåer av produktivitet, samarbete och innovation, och i slutändan fokusera på de kreativa och strategiska utmaningar som verkligen driver framsteg. Detta tillvägagångssätt förebådar en spännande framtid där AI-agenter inte bara är verktyg, utan integrerade medlemmar av utvecklingsteamet, vilket omformar hur vi bygger och underhåller mjukvara.
Originalkälla
https://github.blog/ai-and-ml/github-copilot/agent-driven-development-in-copilot-applied-science/Vanliga frågor
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?
Håll dig uppdaterad
Få de senaste AI-nyheterna i din inkorg.
