Code Velocity
Kūrėjų įrankiai

Agentais grindžiama plėtra: „Copilot Applied Science“ sustiprinimas

·7 min skaitymo·GitHub·Originalus šaltinis
Dalintis
Ekrano nuotrauka, vaizduojanti GitHub Copilot agentais grindžiamos plėtros sąsają, rodančią kodo pasiūlymus ir bendradarbiavimo kodavimo darbo eigas.

Intelektualinio darbo automatizavimas su AI agentais

Sparčiai besivystančioje programinės įrangos inžinerijos srityje efektyvumo siekis dažnai lemia novatoriškas inovacijas. AI tyrėjas Tyleris McGoffinas neseniai išsamiai papasakojo apie kelionę, kuri puikiai atspindi šią dvasią: savo intelektualinio darbo automatizavimą naudojant agentais grindžiamą plėtrą su GitHub Copilot. Tai ne tik greitesnis kodavimas; tai iš esmės keičia kūrėjo vaidmenį nuo pasikartojančios analizės prie kūrybinio problemų sprendimo ir strateginės priežiūros. McGoffino patirtis pabrėžia pažįstamą inžinierių elgesio modelį – kurti įrankius nuobodžiam darbui pašalinti – tačiau ji žengia dar vieną žingsnį į priekį, patikėdama AI agentams sudėtingas analitines užduotis, kurias anksčiau buvo neįmanoma atlikti rankiniu būdu.

McGoffino įkvėpimas kilo iš kritinio, tačiau didžiulio jo darbo aspekto: kodavimo agentų veikimo analizės pagal tokius etalonus kaip TerminalBench2 ir SWEBench-Pro. Tai apėmė 'trajektorijų' – išsamių JSON žurnalų apie agento minties procesus ir veiksmus – analizę, kuri galėjo siekti šimtus tūkstančių kodo eilučių per daugybę užduočių ir etaloninių vykdymų. Nors GitHub Copilot jau padėjo atpažinti šablonus, pasikartojanti šio analizės ciklo prigimtis reikalavo visiško automatizavimo. Tai lėmė 'eval-agents' sukūrimą – sistemos, skirtos automatizuoti šią intelektualinę naštą, suteikiant jo komandai Copilot Applied Science galimybę pasiekti panašaus efektyvumo.

Agentais grindžiamos plėtros planas

Projekto 'eval-agents' pradžią nulėmė aiškūs principai, orientuoti į bendradarbiavimą ir mastelį. McGoffin siekė, kad šiuos AI agentus būtų lengva dalytis, paprasta kurti ir kad jie taptų pagrindine komandos indėlio priemone. Šie tikslai atspindi pagrindines GitHub vertybes, ypač tas, kurios buvo išugdytos dirbant OSS prižiūrėtoju GitHub CLI. Tačiau būtent trečiasis tikslas – paversti kodavimo agentus pagrindiniais prisidėtojais – iš tiesų suformavo projekto kryptį ir atvėrė netikėtus privalumus pirmiems dviem tikslams.

Agentinio kodavimo sąranka pasinaudojo keliais galingais įrankiais, kad supaprastintų kūrimo procesą:

  • Kodavimo agentas: Copilot CLI, užtikrinantis tiesioginę sąveiką ir valdymą.
  • Naudotas modelis: Claude Opus 4.6, siūlantis pažangias samprotavimo ir kodo generavimo galimybes.
  • IDE: VSCode, veikianti kaip centrinė kūrimo darbo sritis.

Labai svarbu, kad Copilot SDK buvo esminė priemonė, suteikianti prieigą prie esamų įrankių, MCP serverių ir mechanizmų naujiems įrankiams bei įgūdžiams registruoti. Šis pagrindas pašalino poreikį iš naujo kurti pagrindines agentines funkcijas, leisdamas komandai sutelkti dėmesį į konkrečiai programai skirtą logiką. Ši integruota aplinka skatino greitą kūrimo ciklą, įrodydama, kad tinkamai nustačius, AI agentai galėjo ne tik padėti, bet ir skatinti didelę kūrimo pastangų dalį.

Pagrindiniai efektyvaus agentinio kodavimo principai

Perėjimas prie agentais grindžiamos paradigmos reikalauja ne tik įrankių; jis reikalauja metodologijos pokyčių. McGoffin nustatė tris pagrindinius principus, kurie pasirodė esminiai spartinant kūrimą ir skatinant bendradarbiavimą:

  1. Užklausų strategijos: efektyvus bendravimas su agentais reiškia pokalbį, išsamumą ir planavimo pirmenybę.
  2. Architektūrinės strategijos: švari, gerai dokumentuota ir refaktorizuota kodo bazė yra svarbiausia, kad agentai galėtų efektyviai naršyti ir prisidėti.
  3. Iteracijos strategijos: „kaltink procesą, o ne agentus“ mąstysenos, panašios į nekaltumo kultūrą, priėmimas leidžia greitai eksperimentuoti ir mokytis.

Šios strategijos, nuosekliai taikomos, davė stulbinančių rezultatų. Šio efektyvumo įrodymas yra tai, kad penki nauji dalyviai per tris dienas kartu pridėjo 11 naujų agentų, keturis naujus įgūdžius ir įdiegė projekte 'eval-agent workflows' koncepciją. Šis bendradarbiavimo sprintas lėmė nuostabų +28 858/-2 884 kodo eilučių pokytį 345 failuose, parodantį gilų github-agentic-workflows poveikį praktikoje.

Štai pagrindinių principų santrauka:

PrincipasAprašymasNauda agentais grindžiamai plėtrai
Užklausų teikimasElkitės su agentais kaip su patyrusiais inžinieriais: nukreipkite jų mąstymą, per daug paaiškinkite prielaidas, naudokite planavimo režimus (/plan) prieš vykdymą. Būkite pokalbūs ir išsamūs.Lemiasi tikslesni ir aktualesni rezultatai, padedant agentams efektyviai spręsti sudėtingas problemas.
ArchitektūrinisPirmiausia refaktorizuokite, išsamiai dokumentuokite ir tvirtai testuokite. Kodo bazę laikykite švarią, lengvai skaitomą ir gerai struktūrizuotą. Aktyviai šalinkite nebenaudojamą kodą.Leidžia agentams suprasti kodo bazę, šablonus ir esamas funkcijas, palengvinant tikslius indėlius.
IteracinisPriimkite mąstyseną „kaltink procesą, o ne agentus“. Įdiekite apsaugos priemones (griežtą tipizavimą, lint'erius, išsamius testus), kad išvengtumėte klaidų. Mokykitės iš agentų klaidų, gerindami procesus ir apsaugos priemones.Skatina greitą iteraciją, didina pasitikėjimą agentų indėliais ir nuolat tobulina kūrimo srautą.

Plėtros pagreitinimas: strategijos veiksme

Šio agentais grindžiamo požiūrio sėkmė pagrįsta praktiniu šių principų taikymu.

Užklausų strategijos: AI inžinieriaus nukreipimas

AI kodavimo agentai, nors ir galingi, puikiai sprendžia gerai apibrėžtas problemas. Didesnėms užduotims jiems reikia gairių, panašiai kaip jaunesniesiems inžinieriams. McGoffin pastebėjo, kad bendravimas pokalbio stiliumi, prielaidų paaiškinimas ir planavimo režimų naudojimas buvo daug efektyvesnis nei glaustos komandos. Pavyzdžiui, pridedant tvirtus regresijos testus, užklausa, tokia kaip „/plan Aš neseniai pastebėjau, kad Copilot džiaugsmingai atnaujina testus, kad atitiktų naujas paradigmas, nors tie testai neturėtų būti atnaujinti. Kaip sukurti rezervuotą testavimo erdvę, kurios Copilot negali paliesti arba turi rezervuoti, kad apsaugotų nuo regresijos?“, inicijavo produktyvų dialogą. Šis pokalbis, dažnai su galingu claude-opus-4-6 modeliu, lėmė sudėtingus sprendimus, tokius kaip sutarčių testavimo apsaugos priemonės, kurias galėjo atnaujinti tik žmogiškieji inžinieriai, užtikrinant, kad kritinė funkcionalumas liktų apsaugotas.

Architektūrinės strategijos: AI palaikomos kokybės pagrindas

Žmogiškiesiems inžinieriams, prižiūrint švarią kodo bazę, rašant testus ir dokumentuojant funkcijas, dažnai neskiriama pirmenybė dėl funkcijų kūrimo spaudimo. Agentais grindžiamoje plėtroje tai tampa svarbiausia. McGoffin atrado, kad laiko skyrimas refaktorizavimui, dokumentavimui ir testavimo atvejų pridėjimui žymiai pagerino Copilot gebėjimą naršyti ir prisidėti prie kodo bazės. Agentais pagrįsta saugykla klesti aiškumu. Tai leidžia kūrėjams netgi pateikti Copilot klausimus, pavyzdžiui, „Žinodamas tai, ką žinau dabar, kaip aš tai suprojektuočiau kitaip?“, paverčiant teorinius refaktorizavimus įgyvendinamais projektais su AI pagalba. Šis nuolatinis dėmesys architektūros sveikatai užtikrina, kad naujos funkcijos gali būti pristatomos be pastangų.

Iteracijos strategijos: pasitikėjimas procesu, o ne tik agentu

AI modelių evoliucija pakeitė mąstyseną nuo „pasitikėk, bet patikrink“ į labiau pasitikinčią poziciją, panašią į tai, kaip efektyvios komandos veikia vadovaudamosi filosofija „kaltink procesą, o ne žmones“. Ši „nekaltumo kultūra“ agentais grindžiamoje plėtroje reiškia, kad kai AI agentas padaro klaidą, reakcija yra pagerinti pagrindinius procesus ir apsaugos priemones, o ne kaltinti patį agentą. Tai apima griežtų CI/CD praktikų įgyvendinimą: griežtą tipizavimą, siekiant užtikrinti sąsajos atitiktį, tvirtus lint'erius kodo kokybei ir platų integracinį, galutinį ir sutarčių testavimą. Nors rankiniu būdu kurti šiuos testus gali būti brangu, agentų pagalba juos padaro daug pigiau įgyvendinamus, suteikiant kritinį pasitikėjimą naujais pakeitimais. Įdiegdami šias sistemas, kūrėjai įgalina Copilot patikrinti savo darbą, atspindėdami, kaip jaunesnysis inžinierius yra paruošiamas sėkmei.

Agentais grindžiamos plėtros ciklo valdymas

Šių principų integravimas į praktinę darbo eigą sukuria galingą, pagreitintą kūrimo ciklą:

  1. Planuokite su Copilot: inicijuokite naujas funkcijas naudodami „/plan“. Kartokite planą, užtikrindami, kad testai ir dokumentacijos atnaujinimai būtų įtraukti ir užbaigti prieš kodo įgyvendinimą. Dokumentacija gali būti papildomos gairės agentui.
  2. Įdiekite su Autopilot: leiskite Copilot įdiegti funkciją naudojant „/autopilot“, išnaudojant jo kodo generavimo galimybes.
  3. Peržiūrėkite su Copilot Code Review: paraginkite Copilot inicijuoti peržiūros ciklą. Tai apima Copilot Code Review agento prašymą, jo komentarų nagrinėjimą ir pakartotinių peržiūrų prašymą, kol problemos bus išspręstos.
  4. Žmogaus peržiūra: atlikite galutinę žmogaus peržiūrą, siekiant užtikrinti, kad būtų laikomasi šablonų ir sudėtingi sprendimai atitiktų strateginį ketinimą.

Be funkcijų ciklo, nuolatinis optimizavimas yra raktas. McGoffin reguliariai ragina Copilot komandomis, tokiomis kaip „/plan Peržiūrėkite kodą, ar nėra trūkstamų testų, ar nėra pažeistų testų ir nebenaudojamo kodo“ arba „/plan Peržiūrėkite dokumentaciją ir kodą, kad nustatytumėte bet kokias dokumentacijos spragas.“ Šios patikros, vykdomos kas savaitę arba integruojant naujas funkcijas, užtikrina, kad agentais grindžiamos plėtros aplinka išliktų sveika ir efektyvi.

Programinės įrangos inžinerijos ateitis su AI

Tai, kas prasidėjo kaip asmeninis siekis automatizuoti varginančią analizės užduotį, išsivystė į naują programinės įrangos kūrimo paradigmą. Agentais grindžiama plėtra, palaikoma įrankių, tokių kaip GitHub Copilot ir pažangių modelių, tokių kaip Claude Opus, yra ne tik apie kūrėjų pagreitinimą; tai iš esmės keičia AI tyrėjų ir programinės įrangos inžinierių darbo pobūdį. Pervesdami intelektualinį darbą į išmaniuosius agentus, komandos gali pasiekti precedento neturintį produktyvumo, bendradarbiavimo ir inovacijų lygį, galiausiai sutelkdamos dėmesį į kūrybinius ir strateginius iššūkius, kurie iš tiesų skatina pažangą. Šis požiūris pranašauja įdomią ateitį, kurioje AI agentai yra ne tik įrankiai, bet ir neatskiriama kūrimo komandos dalis, transformuojanti, kaip mes kuriame ir prižiūrime programinę įrangą.

Dažniausiai užduodami klausimai

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.

Būkite informuoti

Gaukite naujausias AI naujienas el. paštu.

Dalintis