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

AI Agents: Beyond Assistants, Towards Code Architects

AI агенти: Надвор од асистенти, кон архитекти на код

Со години, „ВИ во софтверот“ значеше корисен слој покрај работата: автоматско довршување функција, сумирање тикет, објаснување порака за грешка. Корисно, секако — но суштински реактивно. Човекот сè уште го држеше планот, контекстот, редоследот на одлуките и одговорноста промената безбедно да стигне во продукција.

ВИ-агентите го менуваат обликот на тој однос. Агентот може да следи ограничена цел низ повеќе чекори: да испита кодна база, да формира план, да користи одобрени алатки, да го провери сопствениот излез и да врати резултат со докази. Тоа не го прави автономна замена за инженерите. Го прави нешто поинтересно: сè поспособен учесник во системот за испорака на софтвер.

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

Од одговарање прашања до завршување работни текови

Асистентот одговара на поттик. Агентот работи кон исход во рамки на циклус. Разликата е важна бидејќи вистинската инженерска работа ретко е длабока само еден поттик.

Разгледајте барање за ажурирање зависност со безбедносна поправка. Корисен агентски работен тек би можел да го идентификува засегнатиот пакет, да ги испита lockfile-от и белешките за изданието што му се доставени, да го ажурира манифестот, да го изврши релевантниот пакет тестови, да ги разгледа неуспесите, да подготви концизен преглед на промената и да запре пред да отвори pull request освен ако ја има таа овластеност.

Секоја дејство е вообичаено. Корисноста на агентот произлегува од нивното поврзување, додека ги зачувува контролните точки. Затоа најдобрите рани случаи на употреба на агенти обично се повторливи, ограничени и проверливи:

  • тријажа на проблеми според познати правила за сопственост и сериозност;
  • генерирање тест-случаи за првична проверка за постоечки модул;
  • мигрирање повторливи шаблони за API повици според ревидирана спецификација;
  • истражување неуспешни изградби и собирање веројатни причини со логови;
  • одржување на документацијата усогласена со ревидирани промени на интерфејсот.

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

На агентот му треба работен простор, не само модел

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

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

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

Направете го циклусот експлицитен

Сигурниот циклус на агентот личи помалку на автономија во слободна форма, а повеќе на дисциплинирано инженерство:

  1. Ја толкува целта и ги идентификува информациите што недостигаат.
  2. Создава план што ги именува предвидените дејства и очекуваните проверки.
  3. Користи само дозволени алатки и ограничени ингеренции.
  4. Го валидира резултатот со детерминистички проверки каде што е можно.
  5. Пријавува промени, докази, неизвесности и препорачани следни дејства.

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

Архитектурата на кодот е вистинската можност

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

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

Истиот принцип важи и за планирањето. Добар план генериран од агент треба да може да се прегледа:

Objective: add a new account preference

1. Locate the preference schema and validation rules.
2. Identify read and write API endpoints.
3. Add a migration only if storage is schema-backed.
4. Update authorization checks and audit behavior.
5. Add unit and integration tests for valid, invalid, and unauthorized requests.
6. Run the targeted test suite and report failures unchanged.

Овој план е корисен бидејќи ги открива претпоставките. На ревизорот му дава јасни места да ја коригира насоката пред да започне имплементацијата.

Заштитните мерки се дизајн на производ, а не бирократија

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

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

Потоа вградете евалуација во работниот тек. Одговор што изгледа успешно не е доволен. Мерете дали агентот ги избрал вистинските датотеки, ги зачувал тестовите, ги следел конвенциите на складиштето и знаел кога да ја врати работата. Користете репрезентативни задачи со познати очекувани исходи, вклучувајќи двосмислени барања и случаи на неуспех. Квалитетот на агентот не е само интелигенција; тоа е сигурност во вашите работни услови.

Човечкиот преглед треба да се помести порано

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

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

Градете за соработка, не за спектакл

Трајната иднина не е еден агент што херојски гради цел производ преку ноќ. Таа е софтверска организација во која луѓето и агентите соработуваат преку експлицитни интерфејси: тикети, планови, складишта, тестови, порти за распоредување и процедури за инциденти.

Почнете со еден работен тек каде што влоговите се податливи, а исходот е мерлив. Направете го набљудлив. Научете каде агентот успева, каде контекстот не успева и каде прегледот фаќа грешки. Потоа внимателно проширете ја границата.

Асистентите ни помогнаа да пишуваме побрзо. Агентите можат да ни помогнат да ја придвижуваме работата низ систем со поголем континуитет. Организациите што ќе имаат најголема корист нема да бидат тие што први ќе ги предадат клучевите. Тоа ќе бидат оние што дизајнираат доверливи патеки за способни системи да вршат корисна работа — и ги задржуваат луѓето одговорни за одлуките што се важни.

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

Mihajlo

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