Agentii: blestem si binecuvântare

Notiunea de „agent" a fost adoptată de comunitatea celor din inteligenta artificială cu cel putin un sfert de veac în urmă. Însă doar în ultimii doi-trei ani agentii au devenit copiii teribili ai laboratoarelor de cercetare si ai companiilor producătoare de software.

Daniel Marcu

Interesul pentru agenti s-a materializat în 1994 în peste 130 de conferinte organizate pe această temă. Reviste prestigioase precum „Communications of the ACM" au dedicat integral volume agentilor (Iulie 1994). „Scientific American" (Septembrie 1995) a dedicat numărul său jubiliar, editat cu ocazia împlinirii a 150 de ani de aparitie neîntreruptă, tehnologiilor secolului XXI: în acest număr, o sectiune întreagă discută viitorul calculatoarelor iar câte un articol tratează evolutia inteligentei artificiale si respectiv evolutia agentilor. Până si „National Geographic", revistă situată prin excelentă în afara sferei de influentă a regelui numit „computer", a cedat ispitei si, pentru a nu rămâne mai prejos, a inclus în numărul pe septembrie al acestui an un articol dedicat comunicatiei în care, bineînteles, agentii sunt nelipsiti.

La o analiză atentă, aceasta nu reprezintă decât o mică parte a valului de interes pentru că revistele de popularizare în masă din domeniul calculatoarelor, reclamele, si mai ales zvonurile, au făcut din „agent" cuvântul cel mai la modă al acestui an. De ce stârnesc agentii atâta interes? Care sunt originile acestui val?

O privire retrospectivă

La începutul anilor 80, companii ca Apple si Hewlett-Packard au promovat dezvoltarea de tehnologii care să permită automatizarea secventelor de comenzi folosite frecvent de către utilizatori. Tot atunci, înglobând experienta creatorilor primelor prototipuri de sisteme expert ce au fost construite la începutul anilor 70, companii răsărite peste noapte sau concerne ca General Motors au început să aplice în mod serios această tehnologie. Caracteristica principală a acestor sisteme a fost caracterul lor de programe de sine-stătătoare, capabile de a solutiona sarcini ce până mai ieri păreau a fi de competentă pur umană.

Abia în a doua jumătate a deceniului opt, ideea de inter-operabilitate a început să-si facă loc ca un răspuns direct dat necesitătii de a crea platforme capabile să folosească în comun un set dat de cunostinte. Initial, aceste cunostinte au fost stocate pe o singură masină, dar încetul cu încetul, această constrîngere a dispărut. Odată cu relaxarea acestei restrictii a apărut si necesitatea asigurării inter-operabilitătii nu numai între sisteme situate în locatii diferite, dar si între sisteme cu infrastructură diferită. Limbaje speciale destinate inter-operabilitătii, precum KQML (Knowledge Query Manipulation Language), sunt expresia directă a tentativelor de a solutiona aceste probleme.

Desi nu are încă o definitie unanim acceptată, conceptul de „agent" pare să presupună atât o capacitate de a solutiona probleme ce reflectă o competentă tipic umană - ca si sistemele expert, de exemplu - cât si o abilitate de a comunica cu alti agenti sau cu utilizatori umani - ca si sistemele distribuite.

Valul de interes care a făcut din „agent" cuvântul preferat al jumătătii acestui deceniu îsi are originea în următoarele evolutii si evenimente:

Este indubitabil că evenimentele descrise mai sus apartin unor domenii complet diferite. Cu toate acestea, telurile si idealurile lor s-au contopit în ultimii ani în ceea ce azi numim „agenti software" sau „agenti inteligenti". Fuziunea atâtor idei explică de ce conferintele pe teme de agenti adună specialisti în inginerie software, robotică, reprezentare de cunostinte, baze de date, planificare, învătare automată, limbaj natural, psihologie, grafică, artă, muzică, film, sau interfete om-masină. Cred că această diversitate este atât o binecuvântare cât si un blestem. Este o binecuvântare pentru că fortează interactiunea si comunicarea între reprezentatii unor domenii care până mai ieri păreau incompatibile. Aceeasi diversitate este însă si blestem pentru că acest gen de interactiune este extrem de dificilă: în multe cazuri, diferentele de opinii sunt atât de mari încât dialogul este imposibil, iar comunicarea nulă.

De ce avem nevoie de agenti?

Eterogenitatea celor implicati direct în cercetarea si crearea de aplicatii orientate pe agent a împiedicat până acum aparitia unei definitii cât de cât acceptabile pentru conceptul de „agent software", sau „agent inteligent". În lipsa acesteia, nu ne putem consola nici măcar cu definitii de dictionar. De exemplu, în conformitate cu Dictionarul Explicativ al Limbii Române, un agent este un „reprezentant (oficial) al unei institutii, organizatii, etc. care îndeplineste anumite însărcinări"; sau un „factor activ, eficient, care provoacă diverse fenomene fizice, chimice, etc." Nici Random House Webster Dictionary nu pare să fie de mai mare ajutor pentru că defineste un agent ca o „institutie autorizată să actioneze în numele cuiva"; „reprezentantul unei firme, în special al unei agentii de călătorii"; „un organism care este cauza sau purtătorul unei boli"; etc.

În locul unei dezbateri lingvistice privind corectitudinea, puerilitatea, sau relevanta unor definitii ca cele de mai sus, cred că putem întelege mult mai bine ce este un agent dacă analizăm modul în care acest cuvânt este folosit în cercul computeristilor.

Computerele au devenit parte integrantă a vietii cotidiene: numai în Statele Unite ale Americii s-au vândut de exemplu în anul 1994 peste 20 de milione de calculatoare personale. Cu toate că sistemele de operare actuale oferă o interfată mult mai prietenoasă decât ermeticele produse ale anilor saptezeci, pentru a utiliza un calculator este încă nevoie de a învăta o sumedenie întreagă de detalii. Calculatoarele acestui deceniu reactionează doar la ceea ce specialistii în interfete numesc manipulare directă. Nimic nu se întîmplă dacă utilizatorul nu dă o comandă utilizând tastatura sau mouse-ul. În acest scenariu, calculatorul este o entitate pasivă care execută comenzi specifice, o entitate incapabilă să ofere ajutor în rezolvarea de sarcini complexe sau în monitorizarea unor actiuni care se pot practic extinde la infinit (precum căutarea de informatie pe Internet).

Laboratoarele de cercetare si producătorii de software nadăjduiesc că toate aceste neajunsuri vor dispare atunci când „agentii software" vor fi parte integrantă a fiecărui calculator sau statii de lucru. Un agent inteligent, cunoscând interesele utilizatorului, va fi capabil să schimbe complet modul de interactiune om-masină. În loc de a specifica fiecare pas pe care calculatorul trebuie să-l execute, utilizatorii vor coopera cu agentii subordonati lor pentru a rezolva împreună probleme, într-un mediu în care initiativa comunicatiei nu va apartine neapărat părtii umane.

Cu domeniu imediat de aplicatie, agentii Internet si agentii proiectati pentru reducerea supraîncărcării utilizatorilor cu sarcini mărunte par să constituie temele favorite ale producătorilor de software. Includ în această categorie agentii destinati filtrării de stiri si email, agentii care planifică întâlniri între membrii unei organizatii, agenti care recomandă cărti sau muzică pe baza unor preferinte exprimate anterior sau învătate din mers.

Idei similare cu cele de mai sus sunt sustinute si de cei care se ocupă de „softbotică". Dacă robotii sunt entităti care actionează într-o lume fizică reală, softbotii sunt fratii care actionează într-o lume software. Softbotul ideal este un agent căruia utilizatorul îi specifică o cerere la un nivel abstract care nu implică detalii privind modul în care cererea trebuie să fie solutionată. Se presupune că un softbot este apoi capabil să găsească solutia optimă si să decidă de exemplu dacă e mai bine să ofere o solutie incompletă sau dacă e necesar să-l zgândăre pe utilizator cu întrebări clarificatoare.

La fel de importanti par agentii destinati să usureze munca în proiectare. Astfel de agenti vor putea detecta incompatibilităti apărute între diferite module si vor putea sugera solutii pentru eliminarea lor.

Succesul acestor aplicatii pare să depindă în mare măsură de suportul oferit de domenii ca „învătarea automată" sau „întelegerea limbajului natural". Cu toate că aceste domenii sunt încă departe de a oferi răspunsuri pentru toate întrebările pe care le ridică agentii, rezultate încurajatoare au început deja să apară la nivelul interfatării acestor domenii.

Potentialul agentilor a fost sesizat bineînteles si de cercurile militare. De exemplu, ARPA (Advanced Research Projects Agency) sponsorizează proiecte pentru construirea de medii interactive de simulare, medii ce sunt populate majoritar de agenti inteligenti. Agenti autonomi joacă rolul de piloti de avioane de vânătoare, tancuri sau baterii de artilerie. Fiecare agent din mediul de simulare actionează independent, ca o entitate autonomă al cărei scop este îndeplinirea unei misiuni. Dezvoltarea de agenti pentru astfel de domenii are cel putin două avantaje: în primul rând furnizează un mediu în care programe de pilotare automată pot fi testate în conditii foarte apropiate de cele reale; în al doilea rând, furnizează conditii excelente de antrenament pentru factorii de decizie umană care devin parte integrantă a mediului de simulare. Un astfel de mediu de simulare poate să fie un câmp de luptă în care câteva mii de agenti autonomi (avioane, tancuri, trupe) execută ordine primite de la câtiva agenti umani.

O tentativă cu totul specială o constituie efortul unor cercetători de a codifica componenta emotională a agentilor. Credibilitatea personajelor a fost îndelung studiată în literatură, artă, cinematografie, teatru, animatie. Zilele de aur ale lui Walt Disney au adus pe ecrane iluzia vietii tocmai datorită îndemînării cu care animatorii au surprins emotiile personajelor. Numărul cercetătorilor preocupati de a dezlega misterele emotiei si de a crea agenti care nu sunt numai eficienti dar si credibili este în continuă crestere. Proiecte sustinute de universităti dar mai ales de potentialul financiar urias aflat în spatele industriei de divertisment au dus la prototipuri în care creaturi mai mult sau mai putin bizare folosesc cu succes arsenalul de expresii faciale si sunete care caracterizează fiintele umane. Din lumea animatiei, regulile care guvernează ridicarea sau încruntarea sprâncenelor, zâmbetul si plictiseala au început să migreze în lumea interfetelor. Nu trebuie să fiti surprinsi dacă peste câtiva ani, atunci când veti apăsa gresit pe o tastă, o mică figură în coltul ecranului se va încrunta.

Ce mai trebuie făcut?

Cu toată vâlva ce o stârnesc, cu tot suportul oferit de producătorii de software, cu toate aplicatiile existente deja pe piată, mai există încă o multime de întrebări care cer răspuns înainte ca agentii să devină prieteni de încredere. În această sectiune, parafrazându-l pe Doug Riecken, încerc să prezint doar câteva din întrebările ce încă nu si-au găsit răspuns. Zăboviti o clipă asupra fiecăreia:

De ce sunt agentii o idee proastă?

Un cititor atent al sectiunii anterioare a putut observa că majoritatea întrebărilor s-a bazat pe o presupunere implicită, aceea că agentii sunt sau vor fi o tehnologie viabilă. Orice curent de opinie îsi are însă detractorii săi. Îngrijorarea celor care critică agentii pare să provină în principal din teama ca agentii să nu fie altceva decât o promisiune aruncată în vânt. Dacă e să fim cinstiti cu noi însine - si cu agentii mai ales - e necesar să găsim răspunsuri si pentru criticile aduse de detractori. Iată câteva din cele mai frecvente atacuri la care sunt supusi entuziastii:

Poate cineva să demonstreze că agentii sunt indispensabili în raport cu vreunul din aceste două motive?

Nu cred că merită să fim încăpătânati de dragul încăpătânării. De aceea cred că este prematur să luăm o pozitie definitivă vizavi de impactul pozitiv sau negativ pe care agentii îl vor avea asupra noastră. Până una alta, nu ne rămâne decât să urmărim cu interes critic sau să participăm activ în evolutia domeniului, si să ne ferim de a cădea în păcatul de a vedea în orice program un agent. Nu de alta, dar atunci povesti ca cea de mai jos, s-ar putea să ne pară verosimile.

În loc de concluzie

O zi din viata lui Qostică Agentificatu': La 6:30, sună agentul responsabil cu trezirea. Agentul de la baie, după ce a monitorizat programul lui Qostică pentru câteva săptămâni, a învătat deja că la 6:37 trebuie să tragă apa, la 6:40 să porneasca dusul, la 6:50 să oprească dusul; iar o dată la trei zile, la 6:55, să stingă lumina. Pentru ca Qostică să fie multumit, agentul de la baie începe să muncească de fapt mult mai devreme: nu de alta, dar trebuie sa colaboreze cu agentii de la celelalte băi din bloc si cu agentii responsabili cu încărcarea pe teavă, pentru a putea coordona în mod distribuit curgerea si scurgerea. De când Qostică a sărit într-o dimineată înjurând de sub dus, agentul de la baie îsi ia întotdeauna măsuri de sigurantă pentru a solutiona in mod fericit conflictul dintre agentul care reglează apa caldă si agentul care reglează apa rece.

La servici, Qostică a scăpat de multe belele: chiar înainte de a intra în birou, agentii i-au sortat deja e-mailul si au raspuns la mesajele neesentiale primite de la fostii colegi de armată, i-au aranjat orarul întîlnirilor cu directorul tehnic si cu „Comitetul pentru Promovarea si Combaterea Agentilor", si i-au filtrat setul de stiri pe care Qostică le citeste în mod obisnuit...

După ce Qostică a adormit, agentul din întrerupător stinge lumina.

În mod normal, după asa o zi, Qostică ar trebui să fie un agent fericit. Văzând însă că nici de data aceasta Qostică nu adoarme zâmbind, ba chiar mai mult, că putin după ce a adormit Qostică are cosmaruri, directorul laboratorului de cercetări X hotărăste că algoritmul care modelează reactiile emotionale ale lui Qostică mai are nevoie de câteva retusuri. Pentru că termenul de predare e aproape, echipa de programatori a laboratorului va lucra cot la cot o noapte întreagă cu agentii specializati în debugging, iar mâine, experimentul se va repeta. n


(C) Copyright Computer Press Agora