人工智能代理入門(下):自主性、保障措施和陷阱

0 評論 2584 瀏覽 1 收藏 9 分鐘

作為代理大腦的LLM的能力門檻相對較高。規模較小的LLM可能需要大量及時的工程或微調才能滿足要求。

在上部分中,我們概述了利用AI代理提高企業效率的關鍵策略。我解釋了與獨立AI模型不同,代理如何使用上下文和工具迭代地優化任務以增強代碼生成等結果。我還討論了多代理系統如何促進跨部門溝通,創造統一的用戶體驗并提高生產力、彈性和更快的升級。

成功構建這些系統的關鍵在于映射角色和工作流程,以及建立諸如人工監督和錯誤檢查之類的保障措施以確保安全運行。讓我們深入探討這些關鍵要素。

01 保障和自主權件

代理意味著自主性,因此必須在多代理系統中為代理內置各種保護措施,以減少代理自主運行時的錯誤、浪費、法律風險或危害。將所有這些保護措施應用于所有代理可能會過度并帶來資源挑戰,但我強烈建議考慮系統中的每個代理,并有意識地決定它們需要哪些保護措施。如果滿足其中任何一個條件,代理就不應該被允許自主運行。

02 明確定義人為干預條件

觸發一組預定義規則中的任何一個都會決定人類需要確認某些代理行為的條件。

這些規則應根據具體情況進行定義,并可在代理的系統提示中聲明或者在更關鍵的用例中,使用代理外部的確定性代碼來執行。對于采購代理來說,一條這樣的規則是:“所有采購都應首先由人類驗證和確認。調用您的‘check_with_human’函數,直到它返回值后再繼續?!?/p>

03 保障代理

保障代理可以與負責檢查風險、不道德或不合規行為的代理配對。可以強制代理始終根據保障代理檢查其行為的全部或某些元素,除非保障代理返回批準,否則不會繼續。

04 不確定性

我們實驗室最近發表了一篇論文,介紹了一種可以衡量大型語言模型 (LLM) 生成內容的不確定性的技術。

鑒于LLM傾向于虛構(通常稱為幻覺),優先考慮某個輸出可以使代理更加可靠。這里也需要付出代價。評估不確定性需要我們為同一請求生成多個輸出,以便我們可以根據確定性對它們進行排序,并選擇不確定性最小的行為。這可能會使系統變慢并增加成本,因此應該考慮系統中更關鍵的代理。

05 解除按鈕

有時我們需要停止所有基于代理的自主流程。這可能是因為我們需要一致性,或者我們檢測到系統中的行為需要停止,以便我們找出問題所在并修復它。對于更關鍵的工作流程和流程,重要的是這種脫離不會導致所有流程停止或完全變成手動,因此建議配置確定性的后備操作模式。

06 代理生成的工作訂單

并非代理網絡中的所有代理都需要完全集成到應用程序和API中。這可能需要一段時間,并且需要幾次迭代才能正確完成。

我的建議是向代理(通常是網絡中的葉節點)添加一個通用占位符工具,該工具只會發布報告或工作訂單,其中包含代表代理手動采取的建議操作。這是一種以敏捷方式引導和運營代理網絡的好方法。

07 測試

借助基于LLM的代理,我們以犧牲一致性為代價獲得了穩健性。此外,鑒于 LLM的不透明性,我們正在處理工作流中的黑盒節點。這意味著我們需要一種不同于傳統軟件的基于代理系統的測試機制。然而,好消息是,我們已經習慣了測試這樣的系統,因為自工業化開始以來,我們就一直在運營以人為本的組織和工作流程。

雖然我上面展示的例子只有一個入口點,但多代理系統中的所有代理都有一個LLM作為大腦,因此它們可以充當系統的入口點。我們應該使用分而治之的方法,首先從層次結構中的各個節點開始測試系統的子集。

我們還可以利用生成式人工智能來提出針對網絡的測試用例,以分析其行為并推動它揭示其弱點。

最后,我非常提倡沙盒。此類系統應首先在受控且安全的環境中小規模推出,然后逐步推廣以取代現有的工作流程。

08 微調

關于通用人工智能的一個常見誤解是,你用得越多,它就越好。這顯然是錯誤的。LLM是經過預先訓練的。話雖如此,它們可以通過各種方式進行微調以偏向其行為。一旦設計出多智能體系統,我們就可以選擇通過從每個智能體獲取日志并標記我們的偏好來構建微調語料庫,從而改善其行為。

09 陷阱

多代理系統可能會陷入混亂,這意味著有時查詢可能永遠不會終止,代理之間會不斷進行通信。這需要某種形式的超時機制。例如,我們可以檢查同一查詢的通信歷史記錄,如果查詢量增長過大或檢測到重復行為,我們可以終止流程并重新開始。

另一個可能出現的問題是一種我稱之為超負荷的現象:對單個代理期望過高。目前最先進的法學碩士課程不允許我們向代理提供冗長而詳細的說明,并期望他們始終遵循這些說明。另外,我是否提到過這些系統可能不一致?

緩解這些情況的方法就是我所說的粒度化:將代理分解為多個相連的代理。這可以減少每個代理的負載,并使代理的行為更加一致,不太可能陷入混亂。(我們實驗室正在進行的一個有趣的研究領域是自動化粒度化過程。)

多代理系統設計方式的另一個常見問題是傾向于定義一個協調代理,該代理會調用不同的代理來完成一項任務。這引入了單點故障,可能導致一組相當復雜的角色和職責。在這些情況下,我的建議是將工作流視為一個管道,一個代理完成部分工作,然后將其交給下一個代理。

多代理系統還傾向于將上下文傳遞到其他代理。這可能會使其他代理過載,使它們感到困惑,而且往往是不必要的。我建議允許代理保留自己的上下文,并在我們知道正在處理新請求時重置上下文(有點像網站的會話工作方式)。

最后,需要注意的是,作為代理大腦的LLM的能力門檻相對較高。規模較小的LLM可能需要大量及時的工程或微調才能滿足要求。好消息是,已經有幾個商業和開源代理通過了這一門檻,盡管規模相對較大。

這意味著在構建大規模多智能體系統時,成本和速度需要成為重要考慮因素。此外,還應設定預期,這些系統雖然比人類快,但不會像我們習慣的軟件系統那樣快。(Venture Beat)

本文作者Babak Hodjat是Cognizant的人工智能首席技術官
本文由人人都是產品經理作者【AI新智能】,微信公眾號:【AI新智能】,原創/授權 發布于人人都是產品經理,未經許可,禁止轉載。

題圖來自Unsplash,基于 CC0 協議。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!