AI (Вештачка Интелигенција)

AI Agents: Your Codebase's New Co-Pilot for Conscious Automation

AI агенти: новиот копилот на вашата кодна база за свесна автоматизација

Најкорисните агенти за ВИ не ги заменуваат луѓето што ја разбираат базата на код. Тие го намалуваат триењето околу работата за која тие луѓе веќе знаат дека треба да се заврши: следење на барање што откажува низ услуги, подготовка на безбедна миграција, претворање на извештај од поддршката во репродуцибилен тест-случај или прегледување на pull request за занемарен граничен случај.

Таа разлика е важна. Агентот не е едноставно прозорец за разговор со паметен одговор. Тој е систем што може да интерпретира цел, да собере релевантен контекст, да избере меѓу ограничени дејства, да ги набљудува резултатите и да продолжи сè додека не достигне дефинирана точка за запирање. Во софтверската работа, тоа ги прави агентите ветувачки копилоти за автоматизација што бара расудување, а не само повторување.

Од скрипти до автоматизација насочена кон цел

Традиционалната автоматизација е детерминистичка по дизајн. Скриптата прима познати влезови и следи позната низа. Тоа е токму она што ви треба за резервна копија на база на податоци или повторлив чекор на градење.

Агентската автоматизација е корисна во јазот меѓу целосно рачна задача и целосно специфицирана скрипта. Барањето може да биде изразено на природен јазик, релевантните датотеки можеби треба да се пронајдат, а следното дејство може да зависи од она што системот го открива. Агентот може да помогне да се организира таа неизвесност, под услов неговиот опсег да е контролиран.

Разгледајте извештај за грешка што вели: „Извезувањето извештај понекогаш создава празна датотека.“ Добро дизајниран агент би можел да:

  • Ја лоцира крајната точка за извоз, поврзаниот обработувач на задачи и неодамнешните промени.
  • Ги испита логовите или тест-фактурите што му се изречно достапни.
  • Формира мал сет хипотези, како празен резултат од барање или прекината позадинска задача.
  • Подготви насочен регресиски тест и предложена закрпа.
  • Изврши одобрени проверки и ги сумира и доказите и неизвесноста за човечки рецензент.

Не треба тивко да распореди промена само затоа што нашол веројатно објаснување. Вредноста лежи во забрзувањето на истрагата и подготовката, додека се зачувува одговорноста за одлуки со значајни последици.

Каде агентите ја заслужуваат својата улога

Најсилните рани случаи на употреба се тесни, чести и лесни за проверка. Тие се блиску до реалните инженерски работни текови, наместо да се обидуваат да симулираат цел тим.

Ориентација во репозиториумот и планирање промени

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

Помош за квалитет со изречни проверки

Агентите можат да предлагаат тестови, да прегледуваат разлики за недостигачко справување со грешки и да идентификуваат патеки во кодот што изгледаат неусогласени со локалните конвенции. Нивниот излез станува многу поверодостоен кога е поврзан со објективни проверки: проверка на типови, linting, единечни тестови, договорни тестови или smoke test само во staging.

Корисен образец е да се побара преглед во смисла на докази: „Наведете можни дефекти, посочете го засегнатото однесување и наведете го тестот што би ја потврдил секоја загриженост.“ Ова обесхрабрува нејасни коментари и го забрзува човечкиот преглед.

Оперативна тријажа

Дежурната работа често почнува со пребарување и корелација: која услуга се променила, која зависност откажува, кои контролни табли или прирачници важат и дали симптомот е изолиран. Агентот може да го собере овој контекст и да подготви временска линија. Исто така може да извршува однапред дефинирани дијагностики со низок ризик кога се воспоставени дозволи и траги за ревизија.

За одговор на инциденти, автономијата треба да се намалува како што расте влијанието. Читањето статус, собирањето логови и подготвувањето ажурирања се различни од рестартирање продукциски оптоварувања или менување правила за сообраќај.

Дизајнирајте ги заштитните мерки пред упатствата

Тимовите понекогаш го третираат агентот како модел плус упатство. Во практика, околниот систем одредува дали тој е корисен и безбеден. Моделот обезбедува расудување и јазик; дизајнот на производот обезбедува граници.

  • Дајте му јасна цел. Дефинирајте што значи завршување, кои докази се потребни и кога агентот мора да запре и да побара помош.
  • Користете алатки со најмали привилегии. На агент што чита код не му се потребни акредитиви за распоредување. На staging асистент не му е потребен пристап за запишување во продукција.
  • Одделете го планирањето од извршувањето. Дозволете агентот да предложи план, потоа барајте одобрување за дејства со значајни несакани ефекти.
  • Направете го секое дејство набљудливо. Запишувајте повици до алатки, влезови, излези, одобрувања и произлезени промени за да може да се истражат неуспесите.
  • Ограничете го работниот простор. Ограничете ги достапните репозиториуми, околини, команди, извори на податоци и временски или трошочни буџети.
  • Претпочитајте повратни дејства. Создавањето нацрт pull request или привремена гранка е полесно за опоравување отколку изменување заедничка околина.

Овие контроли не се знаци дека технологијата потфрлила. Тие се стандардни инженерски одговори на систем што работи во услови на неизвесност. Способен агент со широк, непрегледан авторитет не е зрела автоматизација; тој е неограничен ризик.

Изградете работен тек што агентот може да го провери

На поузданите агенти им се потребни повратни јамки. Барањето „поправи ја грешката со автентикацијата“ е премногу широко. Подобар работен тек му дава на агентот мерлива цел: да го репродуцира неуспехот со тест, да ја направи најмалата промена што го решава, да ги изврши назначените проверки и да го пријави резултатот заедно со сè што не можел да го провери.

Цел: спречете истечените сесии да стигнат до заштитените обработувачи.

Дозволени дејства:
- Читање на кодот на апликацијата и тестовите
- Уредување датотеки во посветена гранка
- Извршување на одобрената команда за тестирање

Критериуми за завршување:
- Регресискиот тест не успева пред промената и успева по неа
- Постоечките тестови за автентикација успеваат
- Не се прават промени во распоредувањето или конфигурацијата

Ескалирајте ако:
- Однесувањето зависи од надворешен давател на идентитет
- Мора да се промени шема или продукциска поставка

Овој вид спецификација им помага и на агентот и на рецензентот. Го стеснува просторот за пребарување, го прави успехот проверлив и ги открива претпоставките пред да станат продукциски инциденти.

Очекувајте веројатни грешки, не само очигледни неуспеси

Системите за ВИ можат да создаваат код и објаснувања што звучат кохерентно, додека се нецелосни, застарени или суптилно погрешни. Агентот може погрешно да разбере локална апстракција, да заклучи однесување од нерепрезентативен пример или да запре откако ќе помине тест без да препознае недостигачка покриеност. Пристапот до алатки исто така може да ги засили грешките: погрешна претпоставка проследена со вистинска команда има поголеми последици отколку погрешна реченица во одговор во разговор.

Практичниот одговор не е слепа доверба ниту целосно отфрлање. Тоа е слоевита проверка. Третирајте го генерираниот излез како придонес кон инженерскиот процес: прегледајте го, тестирајте го, споредете го со спецификациите и испитајте ги неговите ефекти. Задржете ги луѓето одговорни за архитектурата, безбедносната поставеност, компромисите за производот и неповратните операции.

Прифатете ги агентите како соиграчи, не како магија

Почнете со еден работен тек чија болка е видлива и чиј исход може да се измери. Дефинирајте ги влезовите, дозволените алатки, потребните докази, условите за ескалација и улогата на рецензентот. Следете каде агентот заштедува време и каде создава работа за расчистување. Потоа усовршете го работниот тек пред да го проширите неговиот авторитет.

Долгорочната можност не е база на код што работи сама. Тоа е развојна околина во која рутинската истрага, документација, валидација и предавање стануваат помалку исцрпувачки, оставајќи им на луѓето повеќе внимание за дизајн и расудување. Најдобриот агент за ВИ не е оној што дејствува најнезависно. Тоа е оној што го прави целиот систем поспособен, поразбирлив и полесен за насочување од луѓето.

Портрет на автор на блогот

Mihajlo

Јас сум Михајло - развивач поттикнат од љубопитност, дисциплина и постојаната желба да создадам нешто значајно. Споделувам увиди, упатства и бесплатни услуги за да им помогнам на другите да ја поедностават својата работа и да растат во постојано развивачкиот свет на софтверот и вештачката интелигенција.