Umjetna inteligencija (UI)

AI Agents Are Your Next Coworker, Not Just Your Tool

AI agenti su vaši sljedeći suradnici, a ne samo vaši alati

Najkorisniji pomak u umjetnoj inteligenciji nije tražiti od modela da odgovori na pitanje. To je dati sposobnom sustavu ograničen dio posla, kontekst za njegovo obavljanje i jasan način izvještavanja o rezultatu.

To je obećanje AI agenata. Oni nisu samo prozori za razgovor s boljim promptovima. Agent može pregledavati informacije, birati među definiranim radnjama, koristiti alate, provjeravati rezultate i nastaviti dok ne dosegne uvjet za zaustavljanje. U softverskom timu agent zbog toga manje djeluje kao pametnija značajka automatskog dovršavanja, a više kao novi suradnik: brz, neumoran, povremeno u krivu i kojemu je potrebno dobro upravljanje.

Usporedba je važna jer mijenja način na koji timovi usvajaju tehnologiju. Alat je nešto čime upravljate. Suradniku delegirate posao, pregledavate njegov rad i oko njega oblikujete procese.

Od generatora odgovora do radne petlje

Konvencionalna interakcija s AI-jem obično je jedna razmjena: zatražite objašnjenje, dobijete odgovor, odlučite što dalje. Agent radi kroz petlju. Prima cilj, prikuplja relevantan kontekst, poduzima dopuštenu radnju, promatra ishod i odlučuje je li potreban još jedan korak.

Primjerice, agent za podršku programerima mogao bi primiti zahtjev za istraživanje neuspjele izgradnje. Unutar pažljivo definiranih dozvola mogao bi pročitati zapisnik o neuspjehu, pregledati izmijenjene datoteke, usporediti pogrešku s konfiguracijom projekta, predložiti zakrpu, pokrenuti relevantan test i sažeti dokaze. Vrijednost nije samo u tome što može objasniti pogrešku. Vrijednost je u tome što može povezati nekoliko malih zadataka u koherentan tijek rada.

Taj tijek rada i dalje treba granice. „Popravi izgradnju” sama po sebi nije sigurna uputa. „Utvrdi prvi test koji ne prolazi, predloži najmanju izmjenu koda, pokreni paket jediničnih testova i stani prije izmjene ovisnosti ili konfiguracije implementacije” mnogo je izvedivije.

Dobra delegacija počinje usko definiranim zadatkom

AI agenti najjači su kada je posao konkretan, ponovljiv i jednostavan za procjenu. Postaju nepouzdani kada se od njih traži da bez nadzora nejasnu ambiciju pretvore u niz radnji s velikim utjecajem.

Počnite sa zadacima koji imaju jasan ulaz, ograničen skup alata i vidljivu definiciju dovršenosti. Korisni rani primjeri uključuju:

  • razvrstavanje pristiglih prijava grešaka na duplikate, slučajeve s nedostajućim informacijama i vjerojatno provedive probleme;
  • sažimanje pull requesta, uključujući izmijenjene datoteke, vjerojatne rizike i testove koji se čine relevantnima;
  • izradu početnog plana migracije na temelju postojeće specifikacije sheme ili API-ja;
  • provjeru očitog zastarijevanja poveznica u dokumentaciji, primjera i isječaka koda;
  • pretvaranje bilješki sa sastanaka u predložene tikete za ljudski pregled.

To su vrijedni zadaci, ali ostavljaju i prostor osobi da odobri važne procjene. To je zdravo mjesto za početak. Agentu nije potreban neograničen pristup da bi stvorio vrijednost.

Definirajte uspjeh prije odabira modela

Timovi često počinju pitanjem: „Koji bismo model trebali koristiti?” Važnije pitanje je: „Kako ćemo znati da ovaj tijek rada funkcionira?”

Postavite praktičan cilj evaluacije. Možda agent mora točno identificirati odgovornu uslugu za tiket podrške, izraditi sažetak pregleda koji navodi stvarno izmijenjeno ponašanje ili izvršiti siguran slijed dijagnostičkih naredbi samo za čitanje. Zatim prikupite reprezentativne slučajeve, uključujući i nezgodne: nepotpune zahtjeve, zastarjelu dokumentaciju, proturječne upute i neuspjele pozive alata.

Ako se tijek rada ne može evaluirati, ne može mu se vjerovati u velikom opsegu. Kvaliteta modela jest važna, ali kvaliteta procesa odlučuje hoće li ta sposobnost postati pouzdan rad.

Kontekst je radno okruženje agenta

Čak i snažan model donosi loše odluke kada vidi nepotpunu verziju sustava. Agenti trebaju pravi kontekst: aktualnu dokumentaciju, pravila specifična za zadatak, arhitektonske granice, konvencije imenovanja i stanje nastalo prethodnim radnjama.

Više konteksta nije automatski bolje. Velika, nefiltrirana zbirka datoteka repozitorija, tiketa i prijepisa razgovora može sakriti uputu koja je zapravo važna. Dobri agentski sustavi dohvaćaju najmanji koristan skup informacija i čine izvor tih informacija vidljivim.

Za agenta za pregled koda to može značiti razliku pull requesta, sučelje pogođenog modula, relevantne testove i projektnu kontrolnu listu za pregled. Za operativnog agenta to može značiti operativni priručnik, nedavna upozorenja, trenutačni status usluge i izričitu politiku eskalacije.

Kontekst također treba tretirati kao podatke s razinom povjerenja. Opis problema koji je poslao korisnik koristan je, ali nepouzdan. Pregledani operativni priručnik autoritativniji je. Vanjski tekst kopiran u tiket nikada ne bi smio redefinirati dozvole agenta samo zato što je formuliran kao uputa.

Pristup alatima mjesto je gdje se korisnost susreće s rizikom

Agenta koji može samo pisati tekst relativno je lako ograničiti. Kada može stvarati tikete, mijenjati zapise, upitima pristupati produkcijskim podacima, spajati kod ili pokretati implementacije, inženjerski problem postaje mnogo ozbiljniji.

Odgovor nije izbjegavati agente. Treba primijeniti iste kontrole koje se koriste za ljude i drugu automatizaciju: najmanje potrebne ovlasti, odvajanje okruženja, odobrenja za radnje s velikim utjecajem, revizijske tragove i reverzibilne operacije gdje je to moguće.

Razuman napredak mogao bi izgledati ovako:

  1. Dopustite pristup samo za čitanje i zahtijevajte od agenta da izradi preporuke.
  2. Dopustite nacrte niskog rizika, poput tiketa, ažuriranja dokumentacije ili opisa pull requesta, uz ljudsko odobrenje.
  3. Dopustite ograničene radnje pisanja u izoliranom ili razvojnom okruženju.
  4. Automatizirajte usku produkcijsku radnju tek nakon što pokaže pouzdano ponašanje, jasno bilježenje i testirani put povrata.

Svaki poziv alata trebao bi imati svrhu i zapis. Ako agent kaže da je provjerio ispravak, recenzent bi trebao moći vidjeti što je provjerio, koji je rezultat dobio i što nije provjerio. To nije birokracija. Tako automatizirani rad postaje rad koji se može pregledati.

Dizajnirajte za neuspjeh, a ne samo za idealan scenarij

Agenti mogu pogrešno razumjeti cilj, dohvatiti zastario kontekst, pozvati alat s nepotpunim argumentima ili samouvjereno opisati rezultat koji zapravo nisu provjerili. Mreže otkazuju. Dozvole se mijenjaju. Ovisnosti vraćaju neočekivane podatke. Agent produkcijske kvalitete treba izričito ponašanje za takve slučajeve.

Dajte sustavu pravila za zaustavljanje. Recite mu kada treba zatražiti pojašnjenje, kada pokušati ponovno, kada koristiti zamjensko rješenje i kada eskalirati osobi. Politika ponovnog pokušaja trebala bi biti uska: ponavljati prolazne neuspjehe, a ne svaku pogrešku unedogled. Radnju koja mijenja stanje treba zaštititi od slučajnog ponavljanja, bilo idempotentnim dizajnom bilo mehanizmom potvrde.

Također je vrijedno odvojiti planiranje od izvršavanja. Agent može najprije predstaviti plan poput: „Pregledat ću zapisnike, usporediti konfiguraciju implementacije i pokrenuti provjeru stanja staginga.” Osoba ili sloj politike tada mogu odobriti plan prije nego što agent izvrši bilo kakvu radnju s posljedicama.

Ljudska uloga postaje važnija, a ne manje važna

Kada agent obavlja rutinsku koordinaciju, ljudi mogu više vremena posvetiti arhitekturi, potrebama korisnika, kompromisima proizvoda i teškim slučajevima koji ne odgovaraju predlošku. No to se događa samo ako netko preuzme odgovornost za tijek rada.

Ta je osoba odgovorna za upute agenta, dozvole, provjere kvalitete, put za incidente i kontinuirano održavanje. Agenti su softverski sustavi. Potrebni su im verzionirani promptovi ili politike, testni slučajevi, nadzor i pregled promjena. Tretiranje njih kao magije stvara krhku automatizaciju; tretiranje njih kao produkcijskih komponenti stvara kumulativnu vrijednost.

Najučinkovitiji timovi neće mjeriti uspjeh prema tome koliko se agent čini autonomnim. Mjerit će ga prema tome postaje li rad brži, sigurniji, jasniji i lakši za poboljšavanje.

Suradnik za kojeg se vrijedi dizajnirati

AI agenti neće zamijeniti potrebu za prosudbom. Oni čine prosudbu vidljivijom preuzimajući mehanički rad oko nje: prikupljanje dokaza, održavanje zamaha i isticanje mogućnosti.

Praktična je prilika pronaći posao koji sposobne ljude neprestano usporava, a zatim ga pretvoriti u ograničenu, vidljivu petlju. Dajte agentu usku ulogu, pouzdan kontekst, ograničene alate i jasnu točku predaje. Pregledavajte njegov izlaz jednako ozbiljno kao što biste pregledavali rad novog člana tima.

Takav je način razmišljanja i realističniji i snažniji od tretiranja AI-ja kao noviteta. Sljedeći suradnik možda neće sjediti na sastanku ni piti kavu, ali će mu i dalje trebati jasna očekivanja, pažljivo dodijeljen pristup i odgovorna suradnja.

Portret autora bloga

Mihajlo

Ja sam Mihajlo — programer vođen znatiželjom, disciplinom i stalnom željom da stvorim nešto smisleno. Dijelim uvide, tutorijale i besplatne usluge kako bih pomogao drugima da pojednostave svoj rad i rastu u svijetu softvera i umjetne inteligencije koji se neprestano razvija.