智慧型代理人–前瞻性資訊技術
93/08/02
瀏覽次數
25505
蘇豐文|
清華大學資訊工程系
智慧型代理人(intelligent agents)是近十年來的新興資訊技術與概念。網際網路興起,資訊的供給與需求大幅而快速地增加,上網搜尋資料,已成為現代人習以為常的活動之一。
新搜尋軟體 聰明有智慧
當我們以搜索引擎上網搜尋時,萬一出現大量資訊反而會無法得心應手。例如欲搜尋秦朝宰相呂不韋的圖片,但又忘記他的名字時,透過搜索引擎找到圖片的機會亦相當低。因為,一般搜索引擎只做文字比對,沒有歷史知識,一旦缺乏正確詞彙,搜尋動作將令人氣結。這時正是使用智慧型資訊代理人的時候,使用者只需告訴它需求,就可經由知識找到資訊,同時省下嘗試錯誤的時間。這種在網際網路上四處幫我們尋找資訊的軟體,一般被冠以「軟體機器人」(softbot-software robot 的合併詞)的稱呼。
另一個例子是,當你想到外地旅遊三天而且有預算與喜好的考量時,雖然可在網路上找到合適的旅館與景點,但是接下來的行程規劃:如何抵達景點、如何訂位、在哪兒用餐、交通工具安排等,仍需花很多時間。倘若把我們的喜好與限制告訴智慧型旅遊代理人,再依它所具備的各種旅遊資訊與知識規劃,即可安排妥當,快樂出門。這類智慧型代理人軟體概念,預計在不久後將逐漸落實於日常生活中。
多代理人(multi-agent)概念則是一種分工合作解決問題的概念。現代人常把某些事務委託專人處理,譬如租房子找房屋仲介,找對象找婚姻仲介,求職求才找人力仲介,訴訟找律師等。以往的軟體系統,只考慮「由使用者直接與伺服系統互動」的操作概念,並未考慮中介軟體與委託的概念。現在的中介代理人軟體可降低問題的複雜度,提高解決問題的效率,增加問題的處理彈性。不過,使用者對於中介軟體的智慧與依賴程度也隨之提高,這是智慧型代理人可行與否的關鍵所在。
軟體之間 需要溝通協調
因為每一個人都有自己的利益與目標,人與人之間也有資源上的衝突。因此當我們設計多個代理人來協助處理問題時,免不了出現衝突,這時必須協調溝通,尋找妥協方案,這是我們必須賦予智慧型軟體代理人的能力。
當代理人之間彼此溝通協調時,溝通使用的語言必須標準化,KQML(knowledge query manipulation language)就是一種溝通的標準語言。而且,標準的溝通語言外,代理人之間仍需有共通且可以分享的領域知識才能彼此了解。至於可分享的知識也有一種表示法,我們稱之為本體語言(ontology)。當代理人利用標準語言,帶著領域知識,將訊息傳到另一個代理人端時,接到訊息的另一端,只需剖析溝通語言即可得到內藏的領域知識。
當然,當一個訊息透過網路傳遞時,仍須包裝成網路的標準格式,以符合網際網路傳輸的通訊協定,將訊息傳送至接收端網址。一套溝通協調程式的研發工作,看似不難,其實不易,如欲完成整個動作,仍需仰賴眾多技術支援方能達到順利溝通目的。至於如何讓代理人在網路上分享知識,W3C(World Wide Web)國際組織有所謂的語意網標準研究,旨在統一大家在網頁文獻上所表達的知識格式與語言,好讓未來的軟體代理人能夠自動讀取與擷取知識,進而提供語意層次上的資訊服務。
語意網(semantic web)的本體語言表示法,是將文件的標準註記語言EML(extensible markup language)與人工智慧的語意網路(semantic network)知識表示法的概念結合,而後產生一種可在網際網路分享資訊資源的知識標示法 RDF(resource description framework)。倘若各領域的人都依循統一的標準語言,將各自的領域知識資源放在網頁上分享,代理人將有很多可機讀(machine readable)資訊源可供使用,屆時即可輕鬆進入各領域,以協助處理各式各樣問題。
自主性與社會性
到底什麼是智慧型代理人呢?它有許多不同定義,有人甚至認為,任何物件導向軟體時都是代理人程式。通常,區別一個智慧型代理人軟體與一般軟體的方法,須看它是否具備自主性、社會性、適應性、反應性、預設活動、行動能力與個人化等幾種特性。並非號稱代理人的軟體都完整地具備所有特性,而且,這些特性亦具有不同程度的展現,只不過,具備愈多特性的軟體程式愈像代理人程式。
什麼是自主性呢?為何要有自主性?如何達到自主性?當軟體具有自主性時,是否表示它不聽話了?
傳統的軟體設計是被動的,必須依賴使用者下達指令來反應,所以無法滿足某些領域的應用。比方說飛航塔臺的管制中心,倘若飛機行徑完全依賴塔臺指揮,則在飛機很多時,塔臺的協調力將不勝負荷;此時,若能賦予飛機某些程度的自主能力,由飛機之間彼此協調,即可減輕塔臺負擔。這是解決問題模式中,分散式比中央集權式有效的例子。同樣的,在很多複雜例子中,我們也期望代理人能具有自主性來處理局部問題。
只是,自主性是相對的,非絕對的。一個絕對自主的軟體,完全不聽外界指揮,也等於沒有用。自主指的是代理人有自己的利益與目標,其所表現出來的行為決策,是這些利益、目標和外界狀況妥協的結果,並非完全不聽話。試想,如果擔任助理的人沒有自己的判斷能力,在執行每一件事以前均需交代得很清礎,很顯然地,這個人並不適合擔任助理。
至於社會性特性,主要是指眾多代理人之間的溝通協調與合作競爭關係。當一個代理人處理問題遇到瓶頸時,他該如何與其他代理人溝通協商,如何與其他代理人合作以達成任務呢?此外,他在一個社會組織裡的角色扮演與權限又如何,在社會規範下所應遵守的正常行為準則中,有哪些是權利,哪些是被允許的行為,哪些又是義務呢?
在研究代理人的社會性中,包括了賽局理論(game theory)和計算組織理論(computational organization theory)。賽局理論主要探討,一位代理人在面對不同決策衝突時,如何尋求「穩定解」與「最佳解」,否則在一個自私自利或各為其主的環境中,背叛或欺騙在所難免。當然,所謂穩定解與最佳解有時不一定存在,或許代理人面對兩難時,會透過和其他代理人協商的方式尋找較佳的「妥協解」,這些都是了解智慧型代理人行為的基本認知。
通常,學者們常假設代理人是理性的。理性的涵義就是「人不為己,天誅地滅」,亦即在任何狀況下,有理性的代理人必會採取對自己最有利的決策。但是,人非萬能,除了計算能力有限之外,其所能獲得的資訊情報亦未必完備,在諸多複雜情況下,代理人未必能採取真正對自己有利的決策,這個現象我們通稱為有限理性。
最關鍵的問題是,倘若代理人是有限理性的,那麼,在何種情況下他願意與別人合作呢?他又如何知道,哪些讓步與妥協對自己較為有利呢?而在多個代理人之間,是否具有信任與信用關係,或具有聯盟關係;是否具有不同的道德與價值觀(利己?利他?以牙還牙?己所不欲勿施於人?)而導致代理人出現不同的行為模式呢?這些都是近年來的研究主題。
適應性、反應性、預設活動
什麼是適應性?智慧型代理人對於自己所處環境,必須具有適當的感應與學習力,以便從環境中做出適當反應,人工智慧研究裡有很多機器學習的理論模型與方法,包括統計學習、類神經網路、增強式學習法、歸納式學習法,都可讓代理人學習其所處環境的參數,以及代理人彼此間互動對應的規律性,以幫助代理人了解其他代理人行為、調整自己的行為,適應環境,增加解決問題的效率。
多個代理人之間的互動關係,也可藉由生態學的演化機制找出最佳互動模式,在此所謂的環境應包括所處的環境參數與其他代理人的行為反應。所以,適應性亦應包括學習對手的行為,以作為代理人的決策參考。
什麼是反應性與預設活動呢?反應性意指代理人應對環境的變化做出即時反應。預設活動是指由代理人自行訂定目標,找出執行方法,並主動達成任務;萬一狀況改變,也能修改計畫,設定新的子目標。這類規劃能力包括由單一代理人或由多個代理人共同完成工作的方案,因為牽涉到彼此間的協調合作限制,當多個代理人一起規劃時,其情況比單一代理人來得複雜。
而且,代理人在執行目標導向任務時,仍須兼顧對於環境的反應性,這對代理人而言並非易事。因為,代理人不知道是環境變化參數比較重要,還是正在執行的目標重要。倘若需對環境做出適時反應,該如何執行才能減少對目標追求的違背呢?這些都值得研究。
例如,原計劃從A地經B地到C地,因B地出現堵塞,必須改變計畫經D地到C地;或仍堅持計畫,等堵塞消除後再前往,只是,需要等待多久呢?倘若B地因為某種因素變成不可通行的路線,此時代理人必須做出取消到C地的反應,否則會因為堅持依照原路線執行而讓事情變得不可理喻。但要如何處置才算明智呢?智慧型代理人須在直接反應和規劃出來的間接行動之間進行妥協與抉擇。許多代理人的基礎邏輯推理常繞著這個主題打轉,看來,要讓代理人具備靈活的理解能力亦不容易。
個人化與行動能力
什麼是個人化?簡單說,就是針對主人的偏好與限制提供適當的服務,亦即,一種學習取得或建構使用者輪廓的能力,藉以利用此輪廓達到個人化服務目標。譬如,你的助理知道你每天早上需要看報紙、喝咖啡,即主動的在你上班前將咖啡與報紙準備好。
一般代理人在提供個人化服務時,較常使用的技巧是過濾與推薦。例如,先由使用者提出一些想看的文章給資訊代理人,再由資訊代理人將文章中常用的詞彙統計分析,用這些詞彙作為使用者輪廓,以比對其他文章或過濾一些不相干作品,如此即可篩選出使用者可能有興趣的文章。又如,由資訊代理人統計不同品味的人對各式餐廳的評鑑後,再將合適的餐廳推薦給品味類似的人,學術上稱此為合作式過濾法。
惟在提供個人化服務過程中仍存在某些限制。例如委託代理人代為購買電影票時,代理人必須知道你的預算限制、時間限制、地點限制,甚至你喜好的電影題材是什麼;而其中有些是必須被滿足的限制,如電影放映時間必須是你有空的時間;又需注意某些具有彈性的限制,如電影院的地點遠近等,如此才能買到符合需求的電影票。這是代理人提供個人化服務的例子,也是資訊代理人透過各種機器自動學習法,學習使用者輪廓的模式。
相互運轉能力與行動計算
然而,什麼是網際網路軟體代理人的行動能力呢?那是在不同主機上游走,並執行必要資訊活動的能力。
欲讓代理人在不同主機上自由行動、執行任務,其間所需的技術問題相當複雜。首先,行動代理人需要知道哪些地方是可以去的,而要去的主機也要有平臺讓代理人停留並使用一些系統資源。這種在不同平臺及主機上執行程式的能力,我們稱為相互運轉能力,它是分散式系統所欲達成的一個目標。
另一種行動能力的考量,是指行動計算。一位助理或在筆記型電腦上使用的軟體代理人,須具備隨時可以中斷工作,跟隨主人移動到另一個地點後,仍可從網域上進入網際網路,接續之前的進度,繼續工作,而且,先前已完成的事務不受影響。這種不會因為換了位置就換腦袋的能力,被稱為持續性。
此外,行動代理人所面臨的安全性也是一大問題。當代理人被允許進入一個系統使用資源時,這個入侵代理人可能是惡意的病毒或是駭客程式,萬一系統管理不當,勢將造成安全死角。另一方面,行動代理人也可能誤入「黑店」系統而被綁架或不當使用,這些都是頭痛的問題。但反過來說,行動代理人也可以增加系統的安全性,比方在國防系統中,倘若指揮系統軟體是一個行動代理人,除可游走在不同主機外,又能避開一次就被敵人把指揮系統摧毀的威脅,或在系統不穩定時能爭取時間,趕快把重要程式移走。
智慧型代理人 包羅萬象
這些有趣的智慧型代理人,未來若能應用在電子商務中,可協助進行商品比價,代為討價還價,甚至商討售後服務的條件。密西根大學的麥克‧衛爾門(Mike Wellman)曾設計一個電子拍賣會的代理人系統,可製出各式各樣的電子拍賣會與其代理人,並將之稱為拍賣會機器人。這個代理人可結合自然語言的理解,以及語音動畫的人機互動介面技術,將聲調,表情,感情,姿勢,手勢等作出擬人化行為模式,如虛擬主播,虛擬歌星等。
微軟公司的代理人軟體則可透過卡通動畫,合成各種姿態動作,然後透過自然語言與使用者進行維妙維俏的互動。當然,所謂智慧型代理人未必是代理人,它可以把技術應用在虛擬生物上,而與所謂的人造生命相結合,把模仿蟲魚鳥獸生活百態的畫面,應用在娛樂與教育情境上。
以上所述只是應用智慧型代理人的冰山一角,其他如電子商務,遠距教育與學習,電子化政府服務,數位圖書館,虛擬企業,軍事運籌,生醫資訊等,都是未來智慧型代理人發揮功能的地方。聰明的你是否仍可想到未來代理人軟體無法應用的領域嗎?