Code Velocity
Udviklerværktøjer

Agentdrevet Udvikling: Superlader Copilot Applied Science

·7 min læsning·GitHub·Original kilde
Del
Skærmbillede der viser GitHub Copilots agentdrevne udviklingsgrænseflade, med kodeforslag og kollaborative kodningsarbejdsgange.

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:

  1. Prompting-strategier: Effektiv interaktion med agenter betyder at være samtalebaseret, verbose og prioritere planlægning.
  2. Arkitektoniske strategier: En ren, veldokumenteret og refaktoreret kodebase er afgørende for, at agenter kan navigere i og bidrage effektivt til.
  3. 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:

PrincipBeskrivelseFordel for agentdrevet udvikling
PromptingBehandl 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.
ArkitektoniskPrioriter 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.
IterationVedtag 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:

  1. 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.
  2. Implementer med Autopilot: Lad Copilot implementere funktionen ved hjælp af /autopilot, idet dets kodegenereringsfunktioner udnyttes.
  3. 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.
  4. 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å.

Ofte stillede spørgsmål

What is agent-driven development in the context of GitHub Copilot?
Agent-driven development refers to a software engineering paradigm where AI agents, such as those powered by GitHub Copilot, become primary contributors and collaborators in the development process. Instead of merely suggesting code, these agents actively participate in planning, implementing, refactoring, testing, and documenting software. This approach leverages the AI's ability to automate repetitive intellectual tasks, allowing human engineers to focus on higher-level problem-solving, strategic design, and creative work, thereby accelerating development cycles and improving code quality through structured AI assistance and rigorous guardrails.
How did the 'eval-agents' project originate?
The 'eval-agents' project was born out of a common challenge faced by AI researchers: analyzing vast quantities of data. Tyler McGoffin, an AI researcher, found himself repeatedly poring over hundreds of thousands of lines of 'trajectories'—detailed logs of AI agent thought processes and actions during benchmark evaluations. Recognizing this as an intellectually toilsome and repetitive task, he sought to automate it. By applying agent-driven development principles with GitHub Copilot, he created 'eval-agents' to analyze these trajectories, significantly reducing the manual effort required and transforming a tedious analytical chore into an automated process.
What are the key components of an agentic coding setup for this approach?
An effective agentic coding setup, as demonstrated in this approach, typically includes a powerful AI coding agent like Copilot CLI, a robust underlying large language model such as Claude Opus 4.6, and a feature-rich Integrated Development Environment (IDE) like VSCode. Crucially, leveraging an SDK, such as the Copilot SDK, provides access to essential tools, servers, and mechanisms for registering new tools and skills, offering a foundational infrastructure for building and deploying agents without reinventing core functionalities. This integrated environment enables seamless interaction between the developer and the AI agent throughout the development lifecycle.
What prompting strategies are most effective when working with AI coding agents?
Effective prompting strategies for AI coding agents emphasize conversational, verbose, and planning-oriented interactions. Rather than terse problem statements, developers achieve better results by engaging agents in a dialogue, over-explaining assumptions, and leveraging the AI's speed for initial planning before committing to code changes. This involves using planning modes (e.g., '/plan') to collaboratively brainstorm solutions and refine ideas. Treating the AI agent like a junior engineer who benefits from clear guidance, context, and iterative feedback helps it to produce more accurate and relevant outputs, leading to superior problem-solving and feature implementation.
Why are architectural strategies like refactoring and documentation crucial for agent-driven development?
Architectural strategies like frequent refactoring, comprehensive documentation, and robust testing are paramount in agent-driven development because they create a clean, navigable codebase that AI agents can effectively understand and interact with. A well-maintained codebase, much like for human engineers, allows AI agents to contribute features more accurately and efficiently. By prioritizing readability, consistent patterns, and up-to-date documentation, developers ensure that Copilot can interpret the codebase's intent, identify opportunities for improvement, and implement changes with minimal errors, making feature delivery trivial and facilitating continuous re-architecture.
How does a 'blameless culture' apply to iteration strategies in agent-driven development?
Applying a 'blameless culture' to agent-driven development means shifting from a 'trust but verify' mindset to one that prioritizes 'blame process, not agents.' This philosophy acknowledges that AI agents, like human engineers, can make mistakes. The focus then shifts to implementing robust processes and guardrails—such as strict typing, comprehensive linters, and extensive integration and end-to-end tests—to prevent errors. When an agent does make a mistake, the response is to learn from it and introduce additional guardrails, refining the processes and prompts to ensure the same error isn't repeated, fostering a rapid and psychologically safe iteration pipeline.
What is the typical development loop when using agent-driven development?
The typical development loop in agent-driven development begins with planning a new feature collaboratively with Copilot using a '/plan' prompt, ensuring testing and documentation updates are integrated early. Next, Copilot implements the feature, often using an '/autopilot' command. Following implementation, a review loop is initiated with a Copilot Code Review agent, addressing comments iteratively. The final stage involves a human review to enforce patterns and standards. Outside this feature loop, Copilot is periodically prompted to review for missing tests, code duplication, or documentation gaps, maintaining a continuously optimized agent-driven environment.
What kind of impact did agent-driven development have on team productivity and collaboration?
The impact of agent-driven development on team productivity and collaboration was transformative, leading to an incredibly rapid iteration pipeline. In one instance, a team of five new contributors, using this methodology, created 11 new agents, four new skills, and implemented complex workflows in less than three days. This amounted to a staggering change of +28,858/-2,884 lines of code across 345 files. This dramatic increase in output highlights how agent-driven development, by automating routine tasks and providing intelligent assistance, significantly accelerates feature delivery, fosters deeper collaboration, and enables teams to achieve unprecedented levels of innovation and efficiency.

Hold dig opdateret

Få de seneste AI-nyheder i din indbakke.

Del