Code Velocity
Utviklerverktøy

Agentdrevet utvikling: Turboladning av Copilot Applied Science

·7 min lesing·GitHub·Opprinnelig kilde
Del
Skjermbilde som viser GitHub Copilots agentdrevne utviklingsgrensesnitt, med kodeforslag og samarbeidsbaserte kodingsarbeidsflyter.

Automatisering av intellektuell møye med AI-agenter

I det raskt utviklende landskapet innen programvareutvikling fører jakten på effektivitet ofte til banebrytende innovasjoner. Tyler McGoffin, en AI-forsker, beskrev nylig en reise som eksemplifiserer denne ånden: automatisering av hans intellektuelle møye gjennom agentdrevet utvikling med GitHub Copilot. Dette handler ikke bare om raskere koding; det handler om å fundamentalt endre utviklerens rolle fra repeterende analyse til kreativ problemløsning og strategisk overvåking. McGoffins erfaring fremhever et kjent mønster blant ingeniører – å bygge verktøy for å eliminere kjedelig arbeid – men tar det et skritt videre ved å betro AI-agenter komplekse analytiske oppgaver som tidligere var umulige å skalere manuelt.

McGoffins inspirasjon kom fra et kritisk, men overveldende, aspekt av jobben hans: å analysere kodingagenters ytelse mot benchmarks som TerminalBench2 og SWEBench-Pro. Dette involverte å dissekere 'trajektorier' – detaljerte JSON-logger over en agents tankeprosesser og handlinger – som kunne utgjøre hundretusenvis av kodelinjer på tvers av mange oppgaver og benchmark-kjøringer. Mens GitHub Copilot allerede assisterte med mønstergjenkjenning, skrek den repeterende naturen av denne analytiske sløyfen etter full automatisering. Dette førte til opprettelsen av 'eval-agents', et system designet for å automatisere denne intellektuelle byrden, noe som ga teamet hans i Copilot Applied Science mulighet til å oppnå lignende effektivitet.

Blåkopi for agentdrevet utvikling

Oppstarten av 'eval-agents' ble veiledet av et klart sett prinsipper fokusert på samarbeid og skalerbarhet. McGoffin ønsket å gjøre disse AI-agentene enkle å dele, enkle å forfatte, og det primære virkemiddelet for teamets bidrag. Disse målene reflekterer GitHubs kjerneverdier, spesielt de som ble finpusset under hans erfaring som OSS-vedlikeholder for GitHub CLI. Det var imidlertid det tredje målet – å gjøre kodingagenter til den primære bidragsyteren – som virkelig formet prosjektets retning og låste opp uventede fordeler for de to første.

Det agentiske kodingsoppsettet utnyttet flere kraftige verktøy for å effektivisere utviklingsprosessen:

  • Kodeagent: Copilot CLI, som gir direkte interaksjon og kontroll.
  • Modell brukt: Claude Opus 4.6, som tilbyr avanserte resonnerings- og kodegenereringsfunksjoner.
  • IDE: VSCode, som fungerer som det sentrale arbeidsområdet for utvikling.

Avgjørende var at Copilot SDK var medvirkende, og ga tilgang til eksisterende verktøy, MCP-servere og mekanismer for å registrere nye verktøy og ferdigheter. Dette fundamentet eliminerte behovet for å gjenoppfinne kjernefunksjoner for agenter, noe som gjorde at teamet kunne fokusere på applikasjonsspesifikk logikk. Dette integrerte miljøet fremmet en rask utviklingssløyfe, og beviste at med riktig oppsett kunne AI-agenter ikke bare assistere, men også drive betydelige deler av utviklingsarbeidet.

Kjerneprinsipper for effektiv agentisk koding

Overgangen til et agentdrevet paradigme krever mer enn bare verktøy; det krever et skifte i metodologi. McGoffin identifiserte tre kjerneprinsipper som viste seg å være grunnleggende for å akselerere utvikling og fremme samarbeid:

  1. Prompt-strategier: Å interagere effektivt med agenter betyr å være samtalebasert, verbal og prioritere planlegging.
  2. Arkitekturstrategier: En ren, veldokumentert og refaktorert kodebase er avgjørende for at agenter effektivt skal kunne navigere og bidra til den.
  3. Iterasjonsstrategier: Å omfavne en "skyld prosessen, ikke agentene"-tankegang, lignende en skyldfri kultur, muliggjør rask eksperimentering og læring.

Disse strategiene, når de ble anvendt konsekvent, førte til forbløffende resultater. Som et bevis på denne effektiviteten, la fem nye bidragsytere, innenfor bare tre dager, kollektivt til 11 nye agenter, fire nye ferdigheter, og introduserte konseptet med 'eval-agent workflows' til prosjektet. Denne samarbeidssprinten resulterte i en bemerkelsesverdig +28 858/-2 884 kodelinjers endring på tvers av 345 filer, noe som demonstrerer den dype innvirkningen av github-agentic-workflows i praksis.

Her er en oppsummering av kjerneprinsippene:

PrinsippBeskrivelseFordel for agentdrevet utvikling
PromptingBehandle agenter som senioringeniører: veiled deres tankegang, overforklar antakelser, utnytt planleggingsmoduser (/plan) før utførelse. Vær samtalebasert og detaljert.Fører til mer nøyaktige og relevante resultater, og hjelper agenter med å løse komplekse problemer effektivt.
ArkitekturPrioriter refaktorering, omfattende dokumentasjon og robust testing. Hold kodebasen ren, lesbar og velstrukturert. Rydd aktivt opp i død kode.Gjør det mulig for agenter å forstå kodebasen, mønstre og eksisterende funksjonalitet, noe som legger til rette for nøyaktige bidrag.
IterasjonVedta en "skyld prosessen, ikke agentene"-tankegang. Implementer sikkerhetsmekanismer (streng typetjekking, linting, omfattende tester) for å forhindre feil. Lær av agentfeil ved å forbedre prosesser og sikkerhetsmekanismer.Fremmer rask iterasjon, bygger tillit til agentbidrag, og forbedrer kontinuerlig utviklingspipelinen.

Akselerering av utvikling: Strategier i praksis

Suksessen med denne agentdrevne tilnærmingen er forankret i praktisk anvendelse av disse prinsippene.

Prompt-strategier: Veiledning av AI-ingeniøren

AI-kodeagenter, selv om de er kraftige, utmerker seg med veldefinerte problemer. For mer komplekse oppgaver krever de veiledning, mye som junioringeniører. McGoffin fant at en samtalebasert stil, forklaring av antakelser og bruk av planleggingsmoduser var langt mer effektive enn knappe kommandoer. For eksempel, når man legger til robuste regresjonstester, initierte 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 tilbake-dialogen, ofte med den kraftige claude-opus-4-6-modellen, førte til sofistikerte løsninger som kontrakttestende sikkerhetsmekanismer, som kun menneskelige ingeniører kunne oppdatere, og sikret at kritisk funksjonalitet forble beskyttet.

Arkitekturstrategier: Fundamentet for AI-assistert kvalitet

For menneskelige ingeniører blir det å vedlikeholde en ren kodebase, skrive tester og dokumentere funksjoner ofte nedprioritert under press for å levere funksjoner. I agentdrevet utvikling blir dette avgjørende. McGoffin oppdaget at å bruke tid på refaktorering, dokumentasjon og å legge til testtilfeller dramatisk forbedret Copilots evne til å navigere og bidra til kodebasen. Et agent-først-arkiv trives med klarhet. Dette gjør det mulig for utviklere å til og med be Copilot om spørsmål som "Knowing what I know now, how would I design this differently?", og dermed gjøre teoretiske refaktoreringer til oppnåelige prosjekter med AI-assistanse. Dette kontinuerlige fokuset på arkitektonisk helse sikrer at nye funksjoner kan leveres trivielt.

Iterasjonsstrategier: Å stole på prosessen, ikke bare agenten

Utviklingen av AI-modeller har flyttet tankegangen fra "stol på, men verifiser" til en mer tillitsfull holdning, analogt med hvordan effektive team opererer med en "skyld prosessen, ikke folk"-filosofi. Denne "skyldfrie kulturen" i agentdrevet utvikling betyr at når en AI-agent gjør en feil, er responsen å forbedre de underliggende prosessene og sikkerhetsmekanismene, i stedet for å skylde på agenten selv. Dette innebærer å implementere strenge CI/CD-praksiser: streng typetjekking for å sikre grensesnittskonformitet, robuste linting-verktøy for kodekvalitet, og omfattende integrasjons-, ende-til-ende- og kontrakttester. Mens det kan være dyrt å bygge disse testene manuelt, gjør agentassistanse dem mye billigere å implementere, noe som gir kritisk tillit til nye endringer. Ved å sette opp disse systemene, gir utviklere Copilot mulighet til å sjekke sitt eget arbeid, noe som speiler hvordan en junioringeniør settes opp for suksess.

Mestring av den agentdrevne utviklingssløyfen

Integrering av disse prinsippene i en praktisk arbeidsflyt skaper en kraftig, akselerert utviklingssløyfe:

  1. Planlegg med Copilot: Start nye funksjoner ved hjelp av /plan. Iterer på planen, og sørg for at tester og dokumentasjonsoppdateringer inkluderes og fullføres før kodeimplementering. Dokumentasjon kan tjene som et ekstra sett med retningslinjer for agenten.
  2. Implementer med Autopilot: La Copilot implementere funksjonen ved hjelp av /autopilot, ved å utnytte dens kodegenereringsfunksjoner.
  3. Gjennomgå med Copilot Code Review: Be Copilot om å starte en gjennomgangssløyfe. Dette innebærer å be Copilot Code Review-agenten om å gjennomgå, adressere kommentarene og be om nye gjennomganger til problemene er løst.
  4. Menneskelig gjennomgang: Utfør en siste menneskelig gjennomgang for å sikre at mønstre blir håndhevet og komplekse beslutninger er i tråd med strategisk intensjon.

Utover funksjonsløkken er kontinuerlig optimalisering nøkkelen. McGoffin ber jevnlig 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 kontrollene, som kjøres ukentlig eller når nye funksjoner integreres, sikrer at det agentdrevne utviklingsmiljøet forblir sunt og effektivt.

Fremtiden for programvareutvikling med AI

Det som startet som en personlig søken etter å automatisere en frustrerende analyseoppgave, har utviklet seg til et nytt paradigme for programvareutvikling. Agentdrevet utvikling, drevet av verktøy som GitHub Copilot og avanserte modeller som Claude Opus, handler ikke bare om å gjøre utviklere raskere; det handler om å fundamentalt endre arbeidets natur for både AI-forskere og programvareingeniører. Ved å overføre intellektuell møye til intelligente agenter, kan team oppnå enestående nivåer av produktivitet, samarbeid og innovasjon, og til slutt fokusere på de kreative og strategiske utfordringene som virkelig driver fremgang. Denne tilnærmingen varsler en spennende fremtid der AI-agenter ikke bare er verktøy, men integrerte medlemmer av utviklingsteamet, og transformerer hvordan vi bygger og vedlikeholder programvare.

Ofte stilte spørsmå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 deg oppdatert

Få de siste AI-nyhetene i innboksen din.

Del