Umjetna inteligencija (UI)

Beyond the Draft: Architecting AI Agents That Actually Do Work

Iznad nacrta: projektiranje AI agenata koji zaista rade posao

AI sustav postaje uistinu koristan kada nadilazi izradu uvjerljivog nacrta i počinje dovršavati ograničene dijelove posla. Tu je razliku lako previdjeti. Sučelje za razgovor može u nekoliko sekundi sažeti dokument, predložiti upit za bazu podataka ili napisati pristojan e-mail. Agent, nasuprot tome, mora odlučiti što učiniti sljedeće, sigurno koristiti alate, promatrati rezultat i oporaviti se kada stvarnost ne odgovara planu.

Tu počinje inženjerski rad. Teži dio rijetko je navesti model da generira tekst. Riječ je o dizajniranju okolnog sustava tako da korisne radnje budu pouzdane, provjerljive i primjereno ograničene.

O agentu razmišljajte kao o tijeku rada s prosudbom

Agent nije jednostavno veliki jezični model povezan s dugim popisom alata. To je tijek rada u kojem model pomaže tumačiti namjeru, odabrati radnje i rješavati nejasnoće. Tijek rada i dalje treba jasne ulaze, izričita dopuštenja, stanje, provjeru valjanosti i definiciju uspjeha.

Praktičan primjer mogao bi biti interni agent za podršku koji istražuje neuspjele uvoze korisnika. Njegov posao nije „rješavati zahtjeve za podršku”. Njegov posao može biti uži: dohvatiti zapis o uvozu, klasificirati neuspjeh, prikupiti relevantne zapisnike, pripremiti dijagnozu te ili predložiti sigurnu sanaciju ili eskalirati slučaj s priloženim dokazima.

Takav opseg sustavu daje priliku za uspjeh. Također čini neuspjehe razumljivima. Ako agent ne može dohvatiti zapis, naiđe na nepotpune zapisnike ili vidi uvjet izvan svoje nadležnosti, trebao bi to reći i uredno predati slučaj umjesto da izmisli odgovor.

Započnite s poslom koji ima jasnu završnu točku

Najbolji prvi projekti s agentima jesu ponavljajući zadaci bogati informacijama s jasnim ishodom. Obično ih već obavljaju ljudi koristeći nekoliko sustava i pisani ili nepisani kontrolni popis.

  • Dobri kandidati: trijaža pristiglih zahtjeva, obogaćivanje potencijalnih klijenata iz odobrenih izvora podataka, provjera spremnosti za implementaciju, priprema vremenskih crta incidenata ili izrada sažetaka promjena iz definiranog skupa zapisa.
  • Loši prvi kandidati: donošenje nepovratnih poslovnih odluka, odobravanje plaćanja, slobodno mijenjanje produkcijske infrastrukture ili rješavanje nejasnih zahtjeva bez odgovorne osobe.

„Automatizirajte uspjeh korisnika” nije upotrebljiva izjava problema. „Za obnove koje dospijevaju unutar 90 dana, prikupite aktivnosti računa, otvorene rizike i materijal za pregled iz odobrenih sustava” mnogo je bolje. Time se utvrđuju publika, granica podataka i isporučivi rezultat.

Prije odabira modela ili okvira, zapišite trenutačni proces. Zabilježite svaki ulaz, odluku, poziv alata, iznimku i konačni artefakt. Ova vježba često otkriva da bi dio tijeka rada trebao ostati deterministički. Ako se izračun, provjera dopuštenja ili ažuriranje zapisa mogu izraziti običnim softverom, obični softver obično je pravi nositelj tog zadatka.

Odvojite zaključivanje od ovlasti

Jezični modeli vrijedni su jer mogu tumačiti nestrukturiran materijal i birati među vjerojatnim sljedećim koracima. Ne bi ih trebalo tretirati kao autoritet za procjenu je li radnja dopuštena, valjana ili dovršena.

Te odgovornosti smjestite u aplikacijski sloj. Agent može zatražiti radnju poput stvaranja zahtjeva, ali usluga bi trebala provjeriti polja, provesti pravila pristupa, provjeriti duplikate i zabilježiti rezultat. Agent može predložiti upit za bazu podataka, ali izvršni sloj trebao bi ga ograničiti na odobrene operacije samo za čitanje i vratiti strukturirane rezultate.

Ovo razdvajanje poboljšava sigurnost i olakšava testiranje sustava. Također izbjegava čest antipredložak: ugrađivanje ključnih poslovnih pravila u uputu i nada da će ih model dosljedno slijediti. Upute su korisne operativne smjernice. One nisu zamjena za autorizaciju, provjeru valjanosti ili granice transakcija.

Koristite uske alate s jasnim ugovorima

Alati bi se trebali ponašati više kao mali API-ji nego kao pristup udaljenoj radnoj površini. Prednost dajte funkciji naziva get_import_status(import_id) pred širokim alatom koji može pretraživati, uređivati i brisati bilo što u korisničkom sustavu.

Svaki alat trebao bi imati mali, dokumentirani ugovor: potrebne argumente, prihvaćene vrijednosti, dopuštenja, očekivani izlaz i smislena stanja pogrešaka. Kad god je moguće, vraćajte strukturirane podatke. Model može dosljednije zaključivati na temelju polja kao što je failure_reason nego višekratno izdvajati istu činjenicu iz stranice proznog teksta.

Učinite destruktivne radnje težima od radnji samo za čitanje. Za promjene s posljedicama zahtijevajte potvrdu, koristite ključeve idempotentnosti za zahtjeve koji se mogu ponoviti i osigurajte da ponavljanje ne stvara dvostruke zapise ili obavijesti.

Dizajnirajte za neurednu sredinu

Većina stvarnog posla ne propada zato što je sretan put bio nemoguć. Propada u neurednoj sredini: usluga istekne, zapis nedostaje, korisnički zahtjev sadrži proturječne upute ili jedan alat vrati podatke u neočekivanom obliku.

Učinkovit agent treba izričito ponašanje pri neuspjehu. Za svaki alat odlučite treba li agent pokušati ponovno, zatražiti pojašnjenje, upotrijebiti zamjensku opciju, eskalirati ili stati. Pravilo ponovnog pokušaja trebalo bi biti ograničeno i ciljno usmjereno. Ponovni pokušaj prolaznog mrežnog zahtjeva može pomoći; višestruko ponavljanje pogreške autorizacije obično ne pomaže.

Stanje je jednako važno. Kada tijek rada može trajati dulje od jedne interakcije, trajno pohranite identifikatore zadataka, izlaze alata, odobrenja i trenutačnu fazu. Ne oslanjajte se na razgovorni kontekst modela kao na jedini izvor istine. Kontekst može biti nepotpun, skraćen ili nedosljedan s temeljnim sustavima.

Korisni obrazac jest učiniti napredak vidljivim kao niz stanja: primljeno, prikupljanje dokaza, čeka odobrenje, izvršavanje, dovršeno ili eskalirano. Ta stanja pomažu ljudima razumjeti što se dogodilo te pomažu inženjerima sigurno nastaviti rad nakon prekida.

Evaluacija je značajka proizvoda, a ne kontrolni popis za lansiranje

Agent koji zvuči sposobno i dalje može biti operativno slab. Procijenite ga na reprezentativnim zadacima prije nego što mu date širi pristup. Uključite jednostavne zahtjeve, nepotpune zahtjeve, protivnički sročene zahtjeve, nedostupne alate, zastarjele podatke i slučajeve u kojima je ispravan odgovor odbiti ili eskalirati.

Mjerite tijek rada, a ne samo prozu. Je li odabrao ispravan alat? Je li poštovao autorizaciju? Je li sačuvao potrebne informacije? Je li stvorio namjeravani artefakt točno jednom? Je li istaknuo neizvjesnost umjesto da je prikrio?

Nadzor produkcije trebao bi zabilježiti dovoljno pojedinosti za rekonstrukciju važnih ishoda: ulaz zadatka, verziju modela, zahtjeve alata, odgovore alata, odluke o odobrenju, konačni rezultat i kategoriju pogreške. Osjetljivi podaci i dalje zahtijevaju pažljivo postupanje. Neselektivno bilježenje svega može stvoriti vlastiti sigurnosni problem i problem privatnosti, zato namjerno uspostavite prakse zadržavanja i redakcije podataka.

Zadržite ljude tamo gdje prosudba ima posljedice

Ljudski pregled nije dokaz da je agent podbacio. U mnogim tijekovima rada to je prava kontrolna točka. Dobar dizajn omogućuje agentu da pripremi posao, objasni svoje dokaze i predstavi predloženu radnju u obliku koji pregled čini brzim.

Na primjer, agent može izraditi nacrt plana produkcijske promjene, utvrditi zahvaćene usluge i navesti provjere koje je proveo. Odgovorni inženjer ipak bi trebao pregledati plan prije izvršenja. S vremenom timovi mogu automatizirati uske, dobro promatrane korake uz zadržavanje odobrenja za odluke s većim utjecajem.

To stvara održiviji put usvajanja nego pokušaj zamjene cijele uloge jednom uputom. Cilj nije maksimalna autonomija. Cilj je pouzdan napredak uz odgovornost.

Izgradite sustav, a ne demonstraciju

Najuvjerljivije demonstracije agenata čine da model djeluje čarobno. Najkorisniji agentski sustavi čine svoje granice očitima. Znaju čemu mogu pristupiti, što smiju mijenjati, kada trebaju pomoć i kako za sobom ostaviti koristan trag.

Ta disciplina može izgledati manje dramatično od neograničenog asistenta s desecima alata. U praksi je upravo to ono što AI pretvara iz zanimljivog suputnika za izradu nacrta u pouzdanog sudionika u softverskim i poslovnim tijekovima rada. Gradite oko jasnih ishoda, uskih ovlasti, vidljivog stanja i elegantnog neuspjeha. Zatim dopustite modelu da doprinese ondje gdje je najjači: u tumačenju složenosti i pomaganju da posao napreduje.

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.