Umjetna inteligencija (UI)

Code is the Context AI Needs to Truly Understand Your Business

Kod je kontekst koji AI treba da istinski razumije vaše poslovanje

Većina organizacija nema problem s umjetnom inteligencijom. Ima problem s kontekstom.

Model može sažeti dokument, sastaviti e-poruku ili odgovoriti na općenito pitanje s impresivnom tečnošću. No pitajte ga zašto korisnik ne može dovršiti naplatu, koja je usluga zadužena za određeno polje ili prekida li predložena promjena tijek naplate, i opće znanje brzo doseže svoje granice. Odgovori ovise o tome kako poslovanje doista funkcionira. U suvremenim tvrtkama to je razumijevanje najpreciznije zapisano u softveru.

Kôd nije cjelokupno poslovanje. Važni su i ljudi, politike, ugovori te razgovori s korisnicima. No kôd je često najsvježiji, najprovjerljiviji i operativno najznačajniji opis poslovnih pravila. On određuje što sustav dopušta, odbija, izračunava, šalje, pohranjuje i izlaže. Ako se očekuje da umjetna inteligencija pomaže u stvarnom radu, umjesto da proizvodi uvjerljiv tekst, potreban joj je pristup tom kontekstu.

Softver sadržava operativnu istinu

Poslovna dokumentacija obično opisuje namjeru: „Korisnici mogu nadograditi svoje planove u bilo kojem trenutku.” Implementacija otkriva potrebne pojedinosti: koji planovi ispunjavaju uvjete, kako funkcionira razmjerni obračun, kada se pristup mijenja, što se događa s godišnjim ugovorima, koji je sustav mjerodavan i kako se oporavlja od neuspjeha.

Ti detalji mogu biti raspršeni po aplikacijskom kôdu, definicijama shema, konfiguraciji infrastrukture, testovima, API ugovorima, zastavicama značajki i cjevovodima za implementaciju. Takva raspodjela može djelovati nezgodno, ali je i vrijedna. Ona odražava stvarni oblik poslovanja, a ne pojednostavljeni dijagram izrađen za prezentaciju.

Razmotrite naizgled jednostavan zahtjev: dodajte popust za povratne kupce. Korisnom AI asistentu potrebno je više od rečenice koja opisuje promociju. Mora razumjeti:

  • Kako se kupac identificira među računima i kupnjama.
  • Izračunavaju li se popusti prije ili nakon poreza.
  • Koji pružatelj plaćanja prima konačni iznos.
  • Kako povrati novca i promjene pretplate utječu na ispunjavanje uvjeta.
  • Koji testovi štite trenutačno ponašanje određivanja cijena.
  • Mijenja li zastavica značajke ili regionalna politika pravilo.

Bez tog konteksta AI može stvoriti kôd koji izgleda razumno, a pritom potajno krši stvarna komercijalna pravila. S njim AI može postati sposoban suradnik: pronaći relevantnu logiku, objasniti ograničenja, predložiti usku promjenu i utvrditi slučajeve koji zahtijevaju ljudsku provjeru.

Kontekst je više od ispisa repozitorija

Davanje pristupa izvornom kôdu umjetnoj inteligenciji nije isto što i pružanje razumijevanja. Veliki repozitoriji sadržavaju zastarjele module, dupliciranu logiku, eksperimente, generirane datoteke i nepotpune komentare. Sustav koji neselektivno dohvaća kôd može dati samouvjerene odgovore iz pogrešne usluge ili napuštene implementacije.

Korisni kontekst mora biti odabran, strukturiran i upravljan. Za zadatak programiranja najbolji kontekst može uključivati trenutačni tiket, relevantne datoteke, obližnje testove, arhitektonske konvencije i nedavne promjene. Za operativno pitanje može uključivati priručnike za rad, nadzorne ploče, bilješke o incidentima, konfiguraciju i podatke o odgovornosti. Za pitanje o proizvodu možda će trebati i kôd i politika ili obećanje korisniku koje kôdu daje svrhu.

Zato je kvaliteta dohvaćanja jednako važna kao i kvaliteta modela. Cilj nije staviti svaki artefakt tvrtke u upit. Cilj je za konkretan zadatak donijeti najmanji pouzdan skup dokaza.

Počnite od pitanja, a ne od popisa podataka

Praktičan dizajn počinje pitanjem koje bi odluke AI trebao podržavati. „Odgovarati na inženjerska pitanja” preširoko je. „Objasniti zašto je narudžba zadržana radi pregleda” mnogo je bolje. To upućuje na stroj stanja narudžbe, pravila za prijevare, povijest događaja, smjernice za podršku i usluge zadužene za svaki korak.

Jasne granice zadatka omogućuju evaluaciju. Tim može testirati utvrđuje li asistent ispravnog vlasnika, navodi li relevantnu putanju kôda, razlikuje li sigurnost od zaključivanja i odbija li djelovati kada su dokazi nepotpuni. To su smislenija mjerila od toga zvuči li njegov odgovor inteligentno.

Dajte AI-ju dokaze koje može pratiti

Najjači AI sustavi čine svoje zaključivanje provjerljivim na razini koja je ljudima potrebna za potvrdu. U softverskom okruženju to obično znači povezivanje odgovora ili preporuke natrag s datotekom, simbolom, testom, tiketom, politikom ili opaženim događajem u sustavu.

Sljedivost mijenja radni odnos. Umjesto da na vjeru prihvati generirano objašnjenje, inženjer može pregledati navedeno pravilo validacije. Umjesto da slijepo primijeni zakrpu, recenzent može vidjeti koji su testovi na nju utjecali i koji rubni slučajevi ostaju neizvjesni. AI postaje brži, a da ne postaje neodgovoran.

Primjerice, asistent upitan zašto API zahtjev ne uspijeva trebao bi moći reći da se obavezno polje odbija određenom putanjom validacije, a zatim uputiti na povezani ugovor i test. Ako zapisnici upućuju na drukčiji uzrok, trebao bi to reći. Vrijedno ponašanje nije samo stvaranje popravka; ono čini dokaze i neizvjesnost vidljivima.

Gradite cjevovode konteksta kao produkcijske sustave

Kontekst treba tretirati kao sposobnost proizvoda, a ne kao jednokratno učitavanje. Repozitoriji se mijenjaju, odgovornost za usluge se premješta, politike se razvijaju, a vjerodajnice nikada ne smiju procuriti u AI tijek rada. Cjevovod koji priprema kontekst zahtijeva istu disciplinu kao i druge produkcijske integracije.

  • Namjerno ograničite pristup. Dodijelite samo repozitorije, okruženja, dokumente i radnje potrebne za zadatak.
  • Odvojite otkrivanje od izvršavanja. Dopustite agentu da pregleda i predloži prije nego što može izmijeniti kôd, pokrenuti implementaciju ili kontaktirati korisnika.
  • Osjetljive podatke držite izvan upita. Upotrebljavajte redigiranje, kontrole pristupa i dohvaćanje ograničeno svrhom umjesto da model tretirate kao opću arhivu.
  • Osvježavajte i verzionirajte kontekst. Odgovor temeljen na staroj definiciji sučelja može biti gori nego nikakav odgovor.
  • Procjenjujte stvarne načine neuspjeha. Testirajte dvosmislenu odgovornost, proturječnu dokumentaciju, zastarjeli kôd, nedostajuće dozvole i nesigurne zahtjeve za radnju.

Timovi bi također trebali zadržati uobičajene inženjerske kontrole. Generirane promjene zaslužuju pregled kôda. Automatizirane radnje trebaju jasne dozvole, revizijske tragove i putove za vraćanje prethodnog stanja. Model može ubrzati istragu, ali ne može ukloniti odgovornost za produkcijske odluke.

Kontekst kôda poboljšava rad i izvan programiranja

Prednosti nisu ograničene na programere. Timovi za podršku mogu razumjeti uvjete koji stoje iza pogreške bez čekanja na prijevod implementacije. Voditelji proizvoda mogu istražiti trošak i ograničenja predloženog tijeka rada. Sigurnosni timovi mogu mapirati kamo teku osjetljivi podaci. Operativni timovi mogu povezati upozorenja s uslugama i konfiguracijom koji oblikuju ponašanje.

To ne znači da svaki kolega treba izravan pristup svakom repozitoriju. Znači da AI može postati kontrolirano sučelje između tehničke stvarnosti i ljudi koji trebaju donositi informirane odluke. Ako se dobro izvede, smanjuje skupu igru pokvarenog telefona koja često odvaja poslovni zahtjev od softvera koji ga mora isporučiti.

Stvarna prednost je zajedničko razumijevanje

AI će se nastaviti poboljšavati u generiranju jezika i kôda. Ipak, njegova praktična vrijednost unutar organizacije manje će ovisiti o rječitosti nego o tome može li raditi na temelju pouzdanog konteksta. Organizacije koje će imati najviše koristi neće jednostavno kupiti model i tražiti čaroliju. Učinit će svoje sustave razumljivima, povezati AI s pravim dokazima i očuvati ljudsku prosudbu ondje gdje su posljedice važne.

Kôd je mjesto gdje mnoga poslovna obećanja postaju izvršiva. Kada AI može sigurno čitati tu stvarnost, propitivati je i povezivati s ljudima odgovornima za nju, postaje više od pametnog asistenta. Postaje način izgradnje zajedničkog razumijevanja brzinom samog poslovanja.

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.