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

Your Software Team's Newest Colleague: The AI Agent

Најновиот колега во вашиот софтверски тим: агентот со вештачка интелигенција

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

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

Размислувајте во работни текови, не во магија

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

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

Други практични кандидати вклучуваат:

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

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

На агентот му треба опис на работното место

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

Дефинирајте ги активаторот и крајната цел

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

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

Ограничете ги алатките и дозволите

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

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

Наведете што мора да остане човечко

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

Контекстот е корисен, но е и обврска

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

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

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

Дизајнирајте за неуспех пред да го славите успехот

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

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

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

1. Validate required inputs.
2. Retrieve only approved context.
3. Propose or perform one scoped action.
4. Verify the result with the target system.
5. Record the outcome and escalate uncertainty.

Оваа низа не е гламурозна, но таа е разликата меѓу демонстрација и оперативна алатка.

Мерете го работниот тек, не личноста на агентот

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

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

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

Најдобрите агенти ги прават тимовите попромислени

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

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

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

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

Mihajlo

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