Автоматизирање на интелектуалната работа со 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 агентите можат не само да помагаат, туку и да водат значителни делови од развојниот напор.
Основни принципи за ефикасно агентско кодирање
Преминот кон парадигма поттикната од агенти бара повеќе од само алатки; тоа бара промена во методологијата. МекГофин идентификуваше три основни принципи кои се покажаа фундаментални за забрзување на развојот и поттикнување на соработката:
- Стратегии за промптирање: Ефикасната интеракција со агентите значи да се биде комуникативен, детален и да се дава приоритет на планирањето.
- Архитектонски стратегии: Чиста, добро документирана и рефакторирана база на код е најважна за агентите да можат ефективно да навигираат и да придонесуваат.
- Стратегии за итерација: Прифаќање на размислувањето "обвини го процесот, а не агентите", слично на културата без обвинување, овозможува брзо експериментирање и учење.
Овие стратегии, кога се применуваат доследно, доведоа до неверојатни резултати. Како доказ за оваа ефикасност, пет нови соработници, во рок од само три дена, заедно додадоа 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 да ја проверува сопствената работа, отсликувајќи како помлад инженер е поставен за успех.
Совладување на развојната јамка поттикната од агенти
Интегрирањето на овие принципи во практичен работен тек создава моќна, забрзана развојна јамка:
- Планирајте со Copilot: Иницирајте нови функции користејќи
/plan. Итерирајте го планот, осигурувајќи дека тестовите и ажурирањата на документацијата се вклучени и завршени пред имплементацијата на кодот. Документацијата може да послужи како дополнителен сет на насоки за агентот. - Имплементирајте со Autopilot: Дозволете му на Copilot да ја имплементира функцијата користејќи
/autopilot, искористувајќи ги неговите способности за генерирање код. - Прегледајте со Copilot Code Review: Промптирајте го Copilot да иницира јамка за преглед. Ова вклучува барање на агентот за преглед на код на Copilot, решавање на неговите коментари и повторно барање прегледи додека проблемите не се решат.
- Човечки преглед: Спроведете финален човечки преглед за да се осигура дека обрасците се применуваат и сложените одлуки се усогласени со стратешката намера.
Надвор од јамката на функции, континуираната оптимизација е клучна. МекГофин рутински го промптира 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 агентите не се само алатки, туку интегрални членови на развојниот тим, трансформирајќи го начинот на кој градиме и одржуваме софтвер.
Оригинален извор
https://github.blog/ai-and-ml/github-copilot/agent-driven-development-in-copilot-applied-science/Често поставувани прашања
What is agent-driven development in the context of GitHub Copilot?
How did the 'eval-agents' project originate?
What are the key components of an agentic coding setup for this approach?
What prompting strategies are most effective when working with AI coding agents?
Why are architectural strategies like refactoring and documentation crucial for agent-driven development?
How does a 'blameless culture' apply to iteration strategies in agent-driven development?
What is the typical development loop when using agent-driven development?
What kind of impact did agent-driven development have on team productivity and collaboration?
Бидете информирани
Добивајте ги најновите AI вести на е-пошта.
