Code Velocity
Nástroje pre vývojárov

Vývoj riadený agentmi: Preplňovanie aplikovanej vedy s Copilotom

·7 min čítania·GitHub·Pôvodný zdroj
Zdieľať
Snímka obrazovky zobrazujúca rozhranie vývoja riadeného agentmi GitHub Copilot, s návrhmi kódu a kolaboratívnymi pracovnými postupmi kódovania.

Automatizácia intelektuálnej driny pomocou AI agentov

V rýchlo sa rozvíjajúcom prostredí softvérového inžinierstva vedie snaha o efektívnosť často k prelomovým inováciám. Tyler McGoffin, výskumník AI, nedávno podrobne opísal cestu, ktorá zosobňuje tohto ducha: automatizáciu svojej intelektuálnej driny prostredníctvom vývoja riadeného agentmi s GitHub Copilot. Nejde len o rýchlejšie kódovanie; ide o zásadnú zmenu úlohy vývojára z opakujúcej sa analýzy na kreatívne riešenie problémov a strategický dohľad. McGoffinova skúsenosť zdôrazňuje známy vzor medzi inžiniermi – vytváranie nástrojov na odstránenie driny – ale posúva ho o krok ďalej tým, že poveruje AI agentov komplexnými analytickými úlohami, ktoré boli predtým manuálne nemerateľné.

McGoffinova inšpirácia pochádzala z kritického, no ohromujúceho aspektu jeho práce: analýza výkonu kódovacích agentov oproti benchmarkom ako TerminalBench2 a SWEBench-Pro. To zahŕňalo rozbor 'trajékorií' – podrobných JSON protokolov myšlienkových procesov a akcií agenta – ktoré mohli predstavovať státisíce riadkov kódu naprieč mnohými úlohami a benchmarkovými spusteniami. Zatiaľ čo GitHub Copilot už pomáhal pri rozpoznávaní vzorov, opakujúca sa povaha tejto analytickej slučky si vyžadovala úplnú automatizáciu. To viedlo k vytvoreniu 'eval-agents', systému navrhnutého na automatizáciu tohto intelektuálneho bremena, čím posilnil jeho tím v Copilot Applied Science, aby dosiahol podobné efektívnosti.

Plán pre vývoj riadený agentmi

Vznik 'eval-agents' sa riadil jasným súborom princípov zameraných na spoluprácu a škálovateľnosť. McGoffin sa snažil, aby tieto AI agenty boli ľahko zdieľateľné, jednoduché na tvorbu a primárnym prostriedkom pre tímové príspevky. Tieto ciele odrážajú základné hodnoty GitHubu, najmä tie, ktoré si osvojil počas svojej skúsenosti ako správca OSS pre GitHub CLI. Bol to však tretí cieľ – urobiť kódovacie agenty primárnym prispievateľom – ktorý skutočne formoval smer projektu a odomkol neočakávané výhody pre prvé dva.

Nastavenie agentového kódovania využívalo niekoľko výkonných nástrojov na zefektívnenie vývojového procesu:

  • Kódovací agent: Copilot CLI, poskytujúci priamu interakciu a kontrolu.
  • Použitý model: Claude Opus 4.6, ponúkajúci pokročilé schopnosti uvažovania a generovania kódu.
  • IDE: VSCode, slúžiaci ako centrálny pracovný priestor pre vývoj.

Rozhodujúce bolo, že Copilot SDK bolo kľúčové, poskytujúc prístup k existujúcim nástrojom, MCP serverom a mechanizmom na registráciu nových nástrojov a zručností. Tento základ eliminoval potrebu opätovného vynachádzania základných agentových funkcionalít, čo umožnilo tímu sústrediť sa na aplikačnú logiku. Toto integrované prostredie podporilo rýchly vývojový cyklus, čo dokázalo, že so správnym nastavením mohli AI agenty nielen pomáhať, ale aj riadiť významné časti vývojového úsilia.

Základné princípy pre efektívne agentové kódovanie

Prechod na paradigmu riadenú agentmi si vyžaduje viac než len nástroje; vyžaduje si posun v metodológii. McGoffin identifikoval tri základné princípy, ktoré sa ukázali ako kľúčové pre urýchlenie vývoja a podporu spolupráce:

  1. Strategie promptovania: Efektívna interakcia s agentmi znamená byť konverzačný, rozsiahly a prioritizovať plánovanie.
  2. Architektonické stratégie: Čistá, dobre zdokumentovaná a refaktorovaná kódová základňa je prvoradá pre efektívnu navigáciu a prispievanie agentov.
  3. Iteračné stratégie: Prijatie myslenia „obviňuj proces, nie agentov“, podobne ako kultúra bez obviňovania, umožňuje rýchle experimentovanie a učenie.

Tieto stratégie, keď sa dôsledne uplatňovali, viedli k úžasným výsledkom. Na dôkaz tejto účinnosti, piati noví prispievatelia za len tri dni spoločne pridali 11 nových agentov, štyri nové zručnosti a zaviedli koncept „pracovných postupov eval-agentov“ do projektu. Tento kolaboratívny šprint vyústil do pozoruhodnej zmeny +28 858/-2 884 riadkov kódu naprieč 345 súbormi, čo demonštruje hlboký vplyv github-agentic-workflows v praxi.

Tu je zhrnutie základných princípov:

PrincípPopisPrínos pre vývoj riadený agentmi
PromptovanieZaobchádzajte s agentmi ako so skúsenými inžiniermi: usmerňujte ich myslenie, prehnane vysvetľujte predpoklady, využívajte plánovacie režimy (/plan) pred spustením. Buďte konverzační a podrobní.Vedie k presnejším a relevantnejším výstupom, pomáha agentom efektívne riešiť komplexné problémy.
ArchitektonickéUprednostnite refaktorovanie, komplexnú dokumentáciu a robustné testovanie. Udržujte kódovú základňu čistú, čitateľnú a dobre štruktúrovanú. Aktívne čistite mŕtvy kód.Umožňuje agentom porozumieť kódovej základni, vzorom a existujúcej funkcionalite, čím sa uľahčujú presné príspevky.
IteráciaPrijať myslenie „obviňuj proces, nie agentov“. Implementujte bezpečnostné opatrenia (prísne typovanie, linters, rozsiahle testy) na predchádzanie chybám. Učte sa z chýb agentov zlepšovaním procesov a bezpečnostných opatrení.Podporuje rýchlu iteráciu, buduje dôveru v príspevky agentov a neustále zlepšuje vývojový proces.

Urýchľovanie vývoja: Stratégie v akcii

Úspech tohto agentovo riadeného prístupu spočíva v praktickej aplikácii týchto princípov.

Strategie promptovania: Usmerňovanie AI inžiniera

AI kódovacie agenty, hoci sú výkonné, vynikajú v dobre ohraničených problémoch. Pre zložitejšie úlohy potrebujú usmernenie, podobne ako junior inžinieri. McGoffin zistil, že konverzačný štýl, vysvetľovanie predpokladov a využívanie režimov plánovania boli oveľa efektívnejšie ako stručné príkazy. Napríklad, pri pridávaní robustných regresných testov, prompt ako /plan Nedávno som si všimol, že Copilot s radosťou aktualizuje testy, aby zodpovedali novým paradigmám, aj keď by sa tieto testy nemali aktualizovať. Ako môžem vytvoriť vyhradený testovací priestor, ktorého sa Copilot nemôže dotknúť alebo si ho musí vyhradiť na ochranu pred regresiami? inicioval produktívny dialóg. Toto spätné a dopredné, často s výkonným modelom claude-opus-4-6, viedlo k sofistikovaným riešeniam, ako sú bezpečnostné opatrenia pre kontraktné testovanie, ktoré mohli aktualizovať len ľudskí inžinieri, čím sa zabezpečilo, že kritická funkcionalita zostala chránená.

Architektonické stratégie: Základ kvality s podporou AI

Pre ľudských inžinierov je udržiavanie čistej kódovej základne, písanie testov a dokumentovanie funkcií často podceňované pod tlakom na funkcie. Pri vývoji riadenom agentmi sa tieto stávajú prvoradými. McGoffin zistil, že venovanie času refaktorovaniu, dokumentovaniu a pridávaniu testovacích prípadov dramaticky zlepšilo schopnosť Copilota navigovať a prispievať do kódovej základne. Repozitár zameraný na agentov prosperuje na jasnosti. To umožňuje vývojárom dokonca promptovať Copilota otázkami ako "Vediac to, čo viem teraz, ako by som to navrhol inak?", čím sa teoretické refaktory menia na dosiahnuteľné projekty s pomocou AI. Toto neustále zameranie na architektonické zdravie zaisťuje, že nové funkcie môžu byť dodané triviálne.

Iteračné stratégie: Dôvera v proces, nielen v agenta

Vývoj modelov AI zmenil myslenie z „dôveruj, ale overuj“ na dôveryhodnejší postoj, podobne ako efektívne tímy fungujú s filozofiou „obviňuj proces, nie ľudí“. Táto „kultúra bez obviňovania“ pri vývoji riadenom agentmi znamená, že keď AI agent urobí chybu, reakciou je zlepšiť základné procesy a bezpečnostné opatrenia, namiesto obviňovania samotného agenta. To zahŕňa implementáciu prísnych CI/CD postupov: prísne typovanie na zabezpečenie zhody rozhraní, robustné linters pre kvalitu kódu a rozsiahle integračné, end-to-end a kontraktné testy. Hoci budovanie týchto testov manuálne môže byť drahé, asistencia agenta ich robí oveľa lacnejšími na implementáciu, čo poskytuje kritickú dôveru v nové zmeny. Nastavením týchto systémov vývojári umožňujú Copilotu kontrolovať svoju vlastnú prácu, čím zrkadlia, ako sa junior inžinier pripravuje na úspech.

Zvládnutie vývojového cyklu riadeného agentmi

Integrácia týchto princípov do praktického pracovného postupu vytvára silnú, zrýchlenú vývojovú slučku:

  1. Plánovanie s Copilotom: Iniciujte nové funkcie pomocou /plan. Iterujte plán, zabezpečte, aby boli testy a aktualizácie dokumentácie zahrnuté a dokončené pred implementáciou kódu. Dokumentácia môže slúžiť ako dodatočný súbor pokynov pre agenta.
  2. Implementácia s Autopilotom: Umožnite Copilotu implementovať funkciu pomocou /autopilot, využívajúc jeho schopnosti generovania kódu.
  3. Recenzia s Copilot Code Review: Vyzvite Copilota na spustenie recenzného cyklu. To zahŕňa požiadanie agenta Copilot Code Review, riešenie jeho komentárov a opätovné vyžiadanie recenzií, kým sa problémy nevyriešia.
  4. Ľudská recenzia: Vykonajte záverečnú ľudskú recenziu, aby ste zabezpečili presadzovanie vzorov a súlad komplexných rozhodnutí so strategickým zámerom.

Okrem cyklu funkcií je kľúčová neustála optimalizácia. McGoffin pravidelne vyzýva Copilota príkazmi ako /plan Skontrolujte kód, či neobsahuje chýbajúce testy, nefunkčné testy a mŕtvy kód alebo /plan Skontrolujte dokumentáciu a kód, aby ste identifikovali prípadné medzery v dokumentácii. Tieto kontroly, vykonávané týždenne alebo pri integrácii nových funkcií, zabezpečujú, že prostredie vývoja riadeného agentmi zostáva zdravé a efektívne.

Budúcnosť softvérového inžinierstva s AI

To, čo začalo ako osobná snaha automatizovať frustrujúcu analytickú úlohu, sa vyvinulo do novej paradigmy pre vývoj softvéru. Vývoj riadený agentmi, poháňaný nástrojmi ako GitHub Copilot a pokročilými modelmi ako Claude Opus, nie je len o zrýchlení vývojárov; je o zásadnej zmene povahy práce pre výskumníkov AI a softvérových inžinierov. Odľahčením intelektuálnej driny inteligentným agentom môžu tímy dosiahnuť bezprecedentné úrovne produktivity, spolupráce a inovácie, čím sa nakoniec sústredia na kreatívne a strategické výzvy, ktoré skutočne poháňajú pokrok. Tento prístup ohlasuje vzrušujúcu budúcnosť, kde AI agenty nie sú len nástroje, ale neoddeliteľní členovia vývojového tímu, transformujúci spôsob, akým budujeme a udržiavame softvér.

Často kladené otázky

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.

Buďte informovaní

Dostávajte najnovšie AI správy do schránky.

Zdieľať