Code Velocity
Алатки за развивачи

Развој поттикнат од агенти: Зголемување на моќта на Copilot Applied Science

·7 мин читање·GitHub·Оригинален извор
Сподели
Слика од екранот која го прикажува интерфејсот за развој поттикнат од агенти на GitHub Copilot, покажувајќи предлози за код и работни текови за соработка при кодирање.

Автоматизирање на интелектуалната работа со AI агенти

Во брзо развивачкиот пејзаж на софтверското инженерство, потрагата по ефикасност често води до револуционерни иновации. Тајлер МекГофин, AI истражувач, неодамна детално го опиша патувањето што го олицетворува овој дух: автоматизирање на неговата интелектуална работа преку развој поттикнат од агенти со GitHub Copilot. Ова не е само за побрзо кодирање; станува збор за суштинско менување на улогата на развивачот од повторувачка анализа до креативно решавање проблеми и стратешки надзор. Искуството на МекГофин го нагласува познатиот образец меѓу инженерите – градење алатки за елиминирање на напорната работа – но оди чекор подалеку доверувајќи им на AI агентите сложени аналитички задачи кои претходно беа невозможни да се скалираат рачно.

Инспирацијата на МекГофин произлезе од критичен, но преоптоварувачки аспект на неговата работа: анализирање на перформансите на кодирачките агенти наспроти бенчмарк како TerminalBench2 и SWEBench-Pro. Ова вклучуваше дисекција на 'траектории' – детални JSON дневници на мисловните процеси и акции на агентот – кои можеа да изнесуваат стотици илјади редови код низ бројни задачи и извршувања на бенчмарк. Иако GitHub Copilot веќе помагаше во препознавањето обрасци, повторувачката природа на оваа аналитичка јамка бараше целосна автоматизација. Ова доведе до создавање на 'eval-agents', систем дизајниран да го автоматизира овој интелектуален товар, овозможувајќи му на неговиот тим во Copilot Applied Science да постигне слични ефикасности.

Нацртот за развој поттикнат од агенти

Почетокот на 'eval-agents' беше воден од јасен сет на принципи фокусирани на соработка и скалабилност. МекГофин имаше за цел да ги направи овие AI агенти лесни за споделување, едноставни за креирање и примарно средство за придонеси од тимот. Овие цели ги одразуваат основните вредности на GitHub, особено оние усовршени за време на неговото искуство како одржувач на OSS за GitHub CLI. Сепак, токму третата цел – правењето на кодирачките агенти примарен придонесувач – навистина ја обликуваше насоката на проектот и отклучи неочекувани придобивки за првите две.

Агентската поставка за кодирање искористи неколку моќни алатки за да го рационализира процесот на развој:

  • Агент за кодирање: Copilot CLI, обезбедувајќи директна интеракција и контрола.
  • Користен модел: Claude Opus 4.6, нудејќи напредни можности за расудување и генерирање код.
  • IDE: VSCode, служејќи како централен работен простор за развој.

Клучно, Copilot SDK беше клучен, обезбедувајќи пристап до постоечките алатки, MCP сервери и механизми за регистрирање нови алатки и вештини. Оваа основа ја елиминираше потребата за повторно измислување на основните агентски функционалности, овозможувајќи му на тимот да се фокусира на логика специфична за апликацијата. Ова интегрирано опкружување поттикна брза развојна јамка, докажувајќи дека со правилна поставка, AI агентите можат не само да помагаат, туку и да водат значителни делови од развојниот напор.

Основни принципи за ефикасно агентско кодирање

Преминот кон парадигма поттикната од агенти бара повеќе од само алатки; тоа бара промена во методологијата. МекГофин идентификуваше три основни принципи кои се покажаа фундаментални за забрзување на развојот и поттикнување на соработката:

  1. Стратегии за промптирање: Ефикасната интеракција со агентите значи да се биде комуникативен, детален и да се дава приоритет на планирањето.
  2. Архитектонски стратегии: Чиста, добро документирана и рефакторирана база на код е најважна за агентите да можат ефективно да навигираат и да придонесуваат.
  3. Стратегии за итерација: Прифаќање на размислувањето "обвини го процесот, а не агентите", слично на културата без обвинување, овозможува брзо експериментирање и учење.

Овие стратегии, кога се применуваат доследно, доведоа до неверојатни резултати. Како доказ за оваа ефикасност, пет нови соработници, во рок од само три дена, заедно додадоа 11 нови агенти, четири нови вештини и го воведоа концептот на 'работни текови на eval-агенти' во проектот. Овој колаборативен спринт резултираше со забележителна промена од +28,858/-2,884 редови код низ 345 датотеки, демонстрирајќи го длабокото влијание на github-agentic-workflows во пракса.

Еве резиме на основните принципи:

ПринципОписПридобивка за развој поттикнат од агенти
ПромптирањеТретирајте ги агентите како постари инженери: водете го нивното размислување, прекумерно објаснете ги претпоставките, искористете ги режимите за планирање (/plan) пред извршување. Бидете разговорни и детални.Води до попрецизни и релевантни резултати, помагајќи им на агентите ефикасно да решаваат сложени проблеми.
АрхитектонскиПриоритет дајте на рефакторинг, сеопфатна документација и робусно тестирање. Чувајте ја базата на код чиста, читлива и добро структурирана. Активно чистете го мртвиот код.Им овозможува на агентите да ја разберат базата на код, обрасците и постоечката функционалност, олеснувајќи прецизни придонеси.
ИтерацијаПрифатете го размислувањето "обвини го процесот, а не агентите". Имплементирајте заштитни мерки (строго типизирање, линтери, екстензивни тестови) за да спречите грешки. Учете од грешките на агентите со подобрување на процесите и заштитните мерки.Поттикнува брза итерација, гради доверба во придонесите на агентите и континуирано го подобрува процесот на развој.

Забрзување на развојот: Стратегии во акција

Успехот на овој пристап поттикнат од агенти е вкоренет во практичната примена на овие принципи.

Стратегии за промптирање: Водење на AI инженерот

AI агентите за кодирање, иако моќни, се одлични во добро дефинирани проблеми. За посложени задачи, им е потребно водство, слично како помладите инженери. МекГофин открил дека вклучувањето во разговорен стил, објаснувањето на претпоставките и искористувањето на режимите за планирање биле далеку поефективни од кратките команди. На пример, при додавање робусни регресиски тестови, промпт како /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? иницирал продуктивен дијалог. Овој повратен разговор, често со моќниот модел claude-opus-4-6, довел до софистицирани решенија како заштитни мерки за тестирање на договори, кои само човечки инженери можеле да ги ажурираат, осигурувајќи дека критичната функционалност останува заштитена.

Архитектонски стратегии: Основата на квалитетот со помош на AI

За човечките инженери, одржувањето на чиста база на код, пишувањето тестови и документирањето на функциите често се ставаат на втор план под притисок на функциите. Во развојот поттикнат од агенти, овие стануваат најважни. МекГофин открил дека трошењето време на рефакторинг, документирање и додавање тест случаи драматично ја подобрило способноста на Copilot да навигира и да придонесе кон базата на код. Репозиториумот ориентиран кон агенти напредува со јасност. Ова им овозможува на развивачите дури и да го промптираат Copilot со прашања како "Знаејќи го она што го знам сега, како би го дизајнирал ова поинаку?", претворајќи ги теоретските рефакторинзи во остварливи проекти со помош на AI. Овој континуиран фокус на архитектонското здравје осигурува дека новите функции можат да бидат испорачани тривијално.

Стратегии за итерација: Доверба во процесот, а не само во агентот

Еволуцијата на AI моделите го промени размислувањето од "доверба, но провери" кон поотворен став, аналогно на тоа како ефективните тимови работат со филозофија "обвини го процесот, а не луѓето". Оваа "култура без обвинување" во развојот поттикнат од агенти значи дека кога AI агент ќе направи грешка, одговорот е да се подобрат основните процеси и заштитни мерки, наместо да се обвинува самиот агент. Ова вклучува имплементација на ригорозни CI/CD практики: строго типизирање за да се обезбеди усогласеност на интерфејсот, робусни линтери за квалитет на кодот и екстензивни интеграциски, end-to-end и договорни тестови. Додека градењето на овие тестови рачно може да биде скапо, помошта од агенти ги прави многу поевтини за имплементација, обезбедувајќи критична доверба во новите промени. Со поставување на овие системи, развивачите го овластуваат Copilot да ја проверува сопствената работа, отсликувајќи како помлад инженер е поставен за успех.

Совладување на развојната јамка поттикната од агенти

Интегрирањето на овие принципи во практичен работен тек создава моќна, забрзана развојна јамка:

  1. Планирајте со Copilot: Иницирајте нови функции користејќи /plan. Итерирајте го планот, осигурувајќи дека тестовите и ажурирањата на документацијата се вклучени и завршени пред имплементацијата на кодот. Документацијата може да послужи како дополнителен сет на насоки за агентот.
  2. Имплементирајте со Autopilot: Дозволете му на Copilot да ја имплементира функцијата користејќи /autopilot, искористувајќи ги неговите способности за генерирање код.
  3. Прегледајте со Copilot Code Review: Промптирајте го Copilot да иницира јамка за преглед. Ова вклучува барање на агентот за преглед на код на Copilot, решавање на неговите коментари и повторно барање прегледи додека проблемите не се решат.
  4. Човечки преглед: Спроведете финален човечки преглед за да се осигура дека обрасците се применуваат и сложените одлуки се усогласени со стратешката намера.

Надвор од јамката на функции, континуираната оптимизација е клучна. МекГофин рутински го промптира Copilot со команди како /plan Review the code for any missing tests, any tests that may be broken, and dead code или /plan Review the documentation and code to identify any documentation gaps.. Овие проверки, кои се извршуваат неделно или како што се интегрираат нови функции, осигуруваат дека околината за развој поттикната од агенти останува здрава и ефикасна.

Иднината на софтверското инженерство со AI

Она што започна како лична потрага за автоматизирање на фрустрирачка задача за анализа се разви во нова парадигма за развој на софтвер. Развојот поттикнат од агенти, напојуван од алатки како GitHub Copilot и напредни модели како Claude Opus, не е само за побрзо правење на развивачите; станува збор за суштинско менување на природата на работата и за AI истражувачите и за софтверските инженери. Со пренесување на интелектуалната работа на интелигентни агенти, тимовите можат да постигнат невидени нивоа на продуктивност, соработка и иновации, конечно фокусирајќи се на креативните и стратешки предизвици кои навистина го движат напредокот. Овој пристап најавува возбудлива иднина каде AI агентите не се само алатки, туку интегрални членови на развојниот тим, трансформирајќи го начинот на кој градиме и одржуваме софтвер.

Често поставувани прашања

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.

Бидете информирани

Добивајте ги најновите AI вести на е-пошта.

Сподели