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

AI Agents: Integrating Reasoning into Your Software Lifecycle

AI агенти: Интегрирање на расудување во животниот циклус на вашиот софтвер

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

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

Што го прави еден AI систем агент?

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

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

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

Почнете со работни текови, не со личности

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

Добрите почетни кандидати обично имаат три својства:

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

Разгледајте агент за подготовка на pull request. Неговата задача не е да спојува код. Тој може да ја резимира промената, да ги идентификува засегнатите компоненти, да ги лоцира релевантните тестови, да означи документација што недостига и да предложи рецензенти врз основа на декларирани правила за сопственост. Развивачот сè уште одлучува дали резимето е точно и дали промената треба да продолжи.

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

Воведувајте агенти во животниот циклус намерно

Планирање и откривање

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

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

Имплементација и преглед

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

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

Една корисна шема на извршување е:

  1. Прочитајте ја задачата и релевантните локални насоки.
  2. Испитајте ги само веројатно засегнатите код и тестови.
  3. Наведете концизен план за имплементација.
  4. Направете ја најмалата кохерентна промена.
  5. Извршете ги пропишаните насочени проверки.
  6. Пријавете ги променетите датотеки, резултатите, неизвесностите и преостанатите одлуки за преглед.

Оваа шема ја прави работата на агентот проверлива. Таа исто така избегнува чест начин на неуспех: модел што прави широки измени бидејќи од него било побарано да „поправи сè“ без прецизен услов за успех.

Операции и поддршка

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

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

Дизајнирајте за неуспех, не само за успех

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

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

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

Мерете ја работата, не спектаклот

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

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

Одржувајте ја човечката одговорност видлива

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

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

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

Mihajlo

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