Umjetna inteligencija (UI)

Code as DNA: Building AI That Learns Your Business from the Ground Up

Kod kao DNK: Izgradnja umjetne inteligencije koja uči vaše poslovanje od temelja

Većina inicijativa u području umjetne inteligencije započinje pitanjem o modelima: Kojeg bismo pružatelja trebali koristiti? Koliko velik treba biti kontekstni prozor? Može li agent pozivati alate? Ta su pitanja važna, ali dolaze nakon važnijeg: što ovo poslovanje zapravo zna i gdje to znanje živi?

Za organizaciju vođenu softverom, kôd je često najbliže što ima DNK-u. Sadrži odluke koje su preživjele susret s produkcijom: pravila validacije, logiku određivanja cijena, dozvole, stanja tijeka rada, integracije, rukovanje pogreškama i nezgrapne rubne slučajeve koji nikada nisu dospjeli u prezentaciju. Sustav umjetne inteligencije koji uči samo iz uglađene dokumentacije može zvučati informirano. Sustav umjetne inteligencije utemeljen na operativnoj logici poslovanja može postati istinski koristan.

Poslovno znanje više je od dokumentacije

Kôd nije automatski savršen izvor istine. Može biti zastario, dupliciran, loše imenovan ili oblikovan privremenim ograničenjima. No pruža ključan oblik dokaza: izvršivo ponašanje. Funkcija koja odbija narudžbu pod određenim uvjetima govori više o trenutačnom sustavu nego dokument koji opisuje idealizirani proces.

Prilika je kombinirati kôd s materijalima koji objašnjavaju njegovu namjeru: arhitektonskim bilješkama, operativnim priručnicima, zahtjevima proizvoda, smjernicama za podršku, API ugovorima, shemama baze podataka i odobrenim dokumentima s pravilima. Zajedno, ti izvori sustavu umjetne inteligencije daju i sintaksu i semantiku. Može vidjeti što softver radi, zašto to radi i koje se granice ne smiju prijeći.

Ta je razlika važna. Generički chatbot može sastaviti uvjerljiv odgovor o tijeku rada povrata novca. Utemeljeni asistent može utvrditi relevantnu uslugu, objasniti odobreni tijek, uputiti na odgovorni tim i navesti kada je potrebna ljudska odluka.

Započnite s uskim postupkom velike vrijednosti

„Naučimo umjetnu inteligenciju o cijeloj našoj tvrtki” razumljiva je ambicija, ali loš prvi projekt. Široke sustave znanja teško je evaluirati, teško ih je osigurati i lako ih je ispuniti zastarjelim materijalom. Počnite ondje gdje su ulazni podaci, korisnici, odluke i kriteriji uspjeha jasni.

Dobri kandidati često uključuju:

  • Podršku programerima koja objašnjava interne API-je, vlasništvo nad uslugama i konvencije implementacije.
  • Pomoć pri incidentima koja pomaže osobama koje reagiraju pronaći operativne priručnike, nedavne promjene, upozorenja i poznate načine otkaza.
  • Izradu nacrta za korisničku podršku koja dohvaća odobrene informacije o proizvodu i predlaže odgovore za pregled.
  • Preglede inženjerskih promjena koji sažimaju pogođene komponente i ističu nedostajuće testove ili nejasne pretpostavke.
  • Operativne tijekove rada koji strukturirane zahtjeve pretvaraju u predložene radnje koje se mogu revidirati.

Korisna jedinica rada rijetko je „odgovori na svako pitanje”. Obično je „pomozi ovoj osobi dovršiti ovaj ograničeni zadatak uz manje pretraživanja, manje ponavljanja i bolji kontekst”. Takvo uokvirivanje pretvara eksperiment s umjetnom inteligencijom u problem dizajna sustava.

Utemeljite modele na dokazima, a ne na samopouzdanju

Od modela se ne bi trebalo očekivati da zapamti živu bazu koda. Umjesto toga, dohvatite relevantan, ovlašten kontekst u trenutku upotrebe. Za asistenta programerima to može značiti pronalaženje odgovornog repozitorija, pogođenog modula, API specifikacije, povezanih testova i trenutačnog operativnog priručnika prije nego što se od modela zatraži objašnjenje ili prijedlog promjene.

Kvaliteta dohvaćanja određuje velik dio korisničkog iskustva. Indeksiranje repozitorija kao jedne nediferencirane zbirke rijetko je dovoljno. Sačuvajte korisnu strukturu: repozitorij, granu ili reviziju, uslugu, putanju datoteke, simbol, jezik, vlasništvo i svježinu. Zahtjev o autentikaciji ne bi trebao dohvatiti nepovezani uslužni program samo zato što oba spominju token.

Jednako je važno prikazati dokaze. Asistent bi trebao razlikovati „izvor pokazuje”, „dokumentacija navodi” i „ovo je zaključak”. Ako je dohvaćeni kontekst nedostatan ili proturječan, ispravno je to reći i zatražiti informacije koje nedostaju. Dobro osmišljen put neizvjesnosti vrjedniji je od uglađene halucinacije.

Dajte sustavu jasnu granicu

Utemeljenje nije samo mehanizam kvalitete; ono je i mehanizam kontrole. Definirajte koji su izvori dopušteni, koji im korisnici mogu pristupiti i što agent smije učiniti s rezultatima. Alat koji može čitati produkcijsku konfiguraciju ne bi automatski smio moći i mijenjati je. Asistent za podršku može sastaviti nacrt odgovora, dok čovjek ostaje odgovoran za njegovo slanje.

Za radnje s nuspojavama koristite eksplicitne ugovore alata i korake potvrde. Model može pripremiti strukturirani prijedlog; deterministički softver trebao bi ga validirati; ovlašteni korisnik trebao bi odobriti značajne promjene. Cilj nije učiniti model nemoćnim. Cilj je učiniti njegovu ovlast razmjernom riziku.

{
  "action": "create_change_request",
  "service": "billing-api",
  "summary": "Add validation for missing currency",
  "requires_approval": true
}

U ovom obrascu model proizvodi namjeru, a ne neprovjerenu naredbu. Aplikacija validira naziv usluge, korisnikove dozvole, obavezna polja i stanje odobrenja prije nego što se bilo što izradi.

Postupajte s agentima kao sa softverskim sustavima

Agent nije čarobni zaposlenik. To je aplikacija koja koristi model za odabir među ograničenim koracima. Ta aplikacija treba istu inženjersku disciplinu kao i svaki drugi produkcijski sustav: autentikaciju, autorizaciju, mogućnost opažanja, vremenska ograničenja, ponovne pokušaje, idempotentnost, testove i putanje povrata.

Dizajn alata zaslužuje posebnu pozornost. Širok alat poput „upravljaj implementacijom” ostavlja previše prostora za dvosmislenost. Manje alate s preciznim ulazima i uskim izlazima lakše je testirati i sigurnije autorizirati. Na primjer, odvojite „dohvati status implementacije” od „zatraži implementaciju”, a oboje od „odobri produkcijsku implementaciju”.

Neuspjehe treba osmisliti, a ne otkrivati. Što se događa ako zavisnost prekorači vremensko ograničenje? Što ako se dohvaćeni dokumenti ne slažu? Što ako agent ponovi radnju nakon ponovnog pokušaja mrežne veze? Što ako korisnik zatraži zaobilaženje pravila odobrenja? Sustav bi trebao sačuvati dovoljno stanja i zapisa da se na ta pitanja može odgovoriti naknadno.

Mjerite rad, a ne razgovor

Tradicionalne metrike chatbota mogu zavarati. Ljubazan odgovor i dalje može poslati inženjera na pogrešnu uslugu ili stvoriti nepotpunu prijavu. Procjenjujte ishode povezane s tijekom rada: je li pronađen ispravan izvor, je li predložena radnja prošla validaciju, je li čovjek prihvatio nacrt, je li se dorada smanjila i jesu li rizični zahtjevi ispravno odbijeni ili eskalirani.

Izgradite mali skup za evaluaciju iz reprezentativnih zadataka, uključujući i zahtjevne. Uključite dvosmislene zahtjeve, zastarjelu dokumentaciju, nedostajuće dozvole, proturječne upute i odgovore o neuspjehu povezanih alata. Ponovno ga pokrenite kada se promijene upiti, modeli, postavke dohvaćanja, alati ili sheme izvora. Ponašanje umjetne inteligencije dio je površine izdanja.

Ljudske povratne informacije trebaju se prikupiti blizu rezultata. Jednostavan signal prihvaćeno, uređeno ili odbijeno može otkriti gdje sustav pomaže, a gdje samo stvara tečan tekst. Pažljivo pregledajte izmjene: one često otkrivaju nedostajući izvorni materijal, slabo dohvaćanje ili nejasan proces, a ne samo problem s modelom.

Gradite institucionalno pamćenje bez stvaranja crne kutije

Dugoročna vrijednost umjetne inteligencije svjesne poslovnog konteksta nije u tome što zamjenjuje stručnost. Ona stručnost čini lakšom za pronaći, primijeniti i očuvati. Može skratiti put od pitanja do relevantnog koda, pravila, vlasnika ili zapisa odluke. To pomaže novim članovima tima da postanu učinkoviti i omogućuje iskusnim ljudima da troše manje vremena na ponavljanje konteksta koji se može ponovno pronaći.

No poslovanje mora ostati sposobno pregledavati i poboljšavati sustav. Jasno odredite vlasništvo nad izvorima. Definirajte procese osvježavanja i povlačenja indeksiranog sadržaja. Bilježite radnje i dokaze koji ih podupiru. Olakšajte ispravljanje lošeg odgovora, opoziv pristupa i ažuriranje tijeka rada kada se promijeni temeljni softver.

Kôd kao DNK korisna je metafora jer naglašava nasljeđivanje, ograničenja i evoluciju. Najsnažniji sustavi umjetne inteligencije neće biti oni koji znaju najviše generičkih činjenica. Bit će to oni koji razumiju stvarnu operativnu logiku organizacije, poštuju njezine granice i pomažu ljudima donositi bolje odluke uz dostupne dokaze.

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.