AI агенти: Инженеринг на софтвер што го учи вашиот работен тек
Агентите со ВИ стануваат корисен инженерски образец, не затоа што можат да го заменат расудувањето, туку затоа што можат да извршуваат ограничена работа низ алатките каде што расудувањето веќе се одвива. Важната промена е суптилна: наместо да барате од моделот еден одговор, на системот му давате цел, работен контекст, пристап до внимателно избрани дејства и начин да проверите дали неговата работа е доволно добра.
Тоа ги прави агентите особено интересни за софтверските тимови. Добро дизајниран агент може да ја научи формата на работниот тек на тимот: како проблемите стануваат pull request-и, кои проверки мора да поминат, каде се евидентираат одлуките и кога мора да интервенира човек. Не мора да биде мистичен или автономен во секоја насока. Всушност, најдобрите агенти обично се ограничени, набљудливи и намерно здодевни во мааните што се важни.
Од промптови во разговор до системи за работен тек
Моделот за разговор е одличен во помагањето некому да размисли низ проблем. Агентот е системот што го опкружува и помага тоа расудување да се претвори во низа дејства. Може да преземе релевантни документи, да прегледа тикет, да повика внатрешна услуга, да изготви промена, да изврши тест и да го пријави резултатот.
Моделот е само една компонента. На сигурен агент му се потребни и јасна граница на задачата, управување со состојбата, дозволи за алатки, правила за валидација и патека за ескалација. Без тие делови, „агентското“ однесување често значи долг промпт што создава текст со самоуверен изглед, без сигурна врска со реалноста.
Разгледајте барање за подготовка на резиме за издание. Основен асистент може да резимира кој било текст што му е даден. Агент за работен тек наместо тоа би можел да:
- собере споени pull request-и во дефиниран опсег на издание;
- ги групира според влијанието врз корисниците, работата за одржување и поправките;
- ги идентификува ставките на кои им недостасува јасен опис;
- изготви белешки за изданието во претпочитаниот формат на тимот; и
- ги врати неизвесните ставки на човечки преглед наместо да нагаѓа.
Тоа е значајно подобрување, но не е магична замена за одговорноста за изданието. Агентот се справува со собирањето, класификацијата и изготвувањето. Лицето сè уште го потврдува јазикот за производот, ризикот и комплетноста.
Што значи да се научи работен тек
„Учењето“ не треба да се меша со тивко повторно обучување на модел за секое дејство. Во практичните системи, агентот учи работен тек преку експлицитен контекст и повратни информации. Тој контекст може да вклучува шаблони, примери, одобрена терминологија, конвенции на репозиториумот, прирачници за работа и правила за тоа кој што може да одобри.
На пример, асистентот за преглед на код може да се научи дека услуга бара тестови за промени во овластувањето, дека миграциите на базата на податоци бараат белешка за враќање назад и дека генерираните датотеки не треба да се уредуваат рачно. Ова се факти за работниот тек. Тие припаѓаат во достапни, одржувани упатства, а не само во меморијата на постарите инженери.
Потоа повратните информации го усовршуваат системот. Ако рецензентите постојано отфрлаат одреден вид препорака, испитајте зошто. Можеби на агентот му недостасува архитектонски контекст. Можеби критериумот за преглед е премногу нејасен. Можеби задачата никогаш не требало да биде делегирана без човечка контролна точка. Третирајте ги исправките како сигнали за производот, а не само како неуспеси на моделот.
Почнете со повторливо триење
Најдобрите први случаи на употреба се повторливи, ограничени и лесни за проверка. Барајте работа што троши внимание без да бара широка овластеност: претворање белешки за инцидент во временска линија, извлекување ставки за дејствување од техничка одлука, подготовка на тест-случаи од критериуми за прифаќање или наоѓање документација што повеќе не одговара на интерфејс.
Корисен тест е едноставен: дали можете да дефинирате како изгледа добар излез пред агентот да почне? Ако одговорот е не, работниот тек можеби сè уште е премногу двосмислен. Почнете со стандардизирање на човечкиот процес, потоа автоматизирајте ги стабилните делови.
Изградете ја контролната рамнина пред да додадете автономија
Агентите се највредни кога нивните дејства се полесни за проверка од рачниот процес што го поддржуваат. За тоа е потребна контролна рамнина: запис за влезовите, преземениот контекст, повиците кон алатките, меѓуодлуките, излезите и настаните за одобрување. Точната имплементација ќе се разликува, но принципот е доследен: агентот треба да остави ревизорска трага.
Пристапот до алатките заслужува исто внимание како и дозволите за апликации. Дајте му на агентот најмал сет на можности што може да ја заврши неговата работа. Читањето систем за следење проблеми се разликува од менувањето статус на тикет. Изготвувањето коментар за pull request се разликува од спојувањето код. Промените во продукција треба да имаат посилни заштитни мерки од ажурирањата на документацијата.
Исто така, мудро е да се одвои планирањето од извршувањето. Агентот може да предложи план, да ги идентификува датотеките или записите што има намера да ги допре и да чека одобрување пред да изврши неповратно дејство. Тоа ги прави неуспесите поевтини и им дава на луѓето природно место да применат контекст што системот можеби го нема.
Цел: Подготви pull request за ажурирање на зависности
Дозволени дејства:
- Читај манифести за зависности и lockfiles
- Изврши ја одобрената команда за тестирање
- Создај нацрт pull request
Задолжителни проверки:
- Резимирај ги променетите пакети
- Вклучи резултати од тестовите
- Запри ако тестовите не успеат
- Не спојувај ниту распоредувај
Овој вид спецификација е повреден од разработен промпт за личност. Таа ги дефинира овластувањето, очекуваните докази и безбеден режим на неуспех.
Дизајнирајте за неизвесност, не само за успех
Јазичните модели можат да создадат веродостојни објаснувања кога доказите се нецелосни. Кај агент за работен тек, таа тенденција станува опасна кога е споена со вистински алатки. Системот треба да биде дизајниран да каже „Не можам да го потврдам ова“ и да запре кога неговата сигурност не може да се заснова на достапните информации.
Валидацијата треба да одговара на задачата. За промени во кодот, користете постојни тестови, linters, проверки на типови и преглед. За задачи со податоци, споредете ги излезите со шеми, познати инваријанти и примероци на записи. За поддршка или оперативна работа, барајте цитати од преземениот изворен материјал и насочувајте ги исклучоците кон одговорно лице.
Повторните обиди бараат подеднакво внимателен дизајн. Повторувањето на привремено мрежно барање може да биде разумно. Повторувањето на деструктивно дејство по двосмислен резултат може да создаде дупликати или да оштети податоци. Секоја интеграција со алатка треба да прави разлика меѓу неуспешно барање, завршено барање со изгубен одговор и дејство што мора да се прегледа пред да се повтори.
Мерете го работниот тек, не спектаклот
Тимовите често ги оценуваат агентите според тоа колку импресивно изгледа демонстрацијата. Вредноста во продукција подобро се мери преку исходите од работниот тек: помалку време потрошено на рутинска подготовка, помалку грешки при предавање, побрзи повратни информации, појасна документација и подобра видливост во нерешената работа.
Водете мала табела со показатели за секој случај на употреба. Следете каде на агентот му била потребна човечка исправка, кои влезови недостасувале и дали излезот навистина заштедил време по прегледот. Работен тек што создава повеќе проверување отколку што отстранува не е автоматизација; тој е уште еден интерфејс за управување.
Помага и да се зачува рачна патека. Луѓето треба доволно добро да го разбираат основниот работен тек за да го користат при прекини, да истражуваат грешки и да ги подобруваат правилата. Агентот треба да ја направи експертизата подостапна, а не да го скрие процесот зад црна кутија.
Трајната предност е оперативната јасност
Агентите со ВИ нема да ја направат софтверската работа без напор. Тие ќе покажат каде работата е недоволно специфицирана, каде знаењето е заробено во разговори и каде дозволите пораснале без јасна одговорност. Таа изложеност е корисна. Таа им дава причина на тимовите да ги претворат неформалните навики во експлицитни, проверливи системи.
Најуспешните агенти нема да бидат оние на кои им е дадена најмногу слобода. Ќе бидат оние што длабоко разбираат тесен работен тек, ги собираат вистинските докази, дејствуваат во јасни граници и знаат кога одлуката да му ја вратат на човек. Градете според тој стандард и агентот станува повеќе од паметен интерфејс: станува сигурна инфраструктура за начинот на кој се завршува работата.