對 AI Agent 定義的一些探討 原創
編者按: 當身邊的人都在談論 AI Agent 時,你是否會困惑:究竟什么才是真正的智能體?為什么 OpenAI、IBM 和各大技術領袖給出的智能體定義都不相同?
我們今天為大家帶來的這篇文章,作者的觀點是:當前流行的智能體定義要么過于復雜,要么嚴重偏離核心要義,真正的智能體應該被定義為“具備自主性和行為能力,能在所處環境中實現一個或多個目標的系統”。
本文系原作者觀點,Baihai IDP 僅進行編譯分享
作者 | Steven Willmott
編譯 | 岳揚
2025 年顯然將成為智能體元年[1]。大語言模型(LLMs)的快速發展讓文本生成、圖像生成甚至視頻生成等不斷突破,但現在大家的興奮點已經轉向那些超越單純的生成能力、能夠在數字或現實世界中執行具體操作的系統。
產生這種興奮確實有其合理性。如果 AI 能夠"基于環境輸入或內部決策機制,主動執行具體操作以達成目標。",其實用性將呈指數級提升。雖然軟件自動化(software automation)已發展多年,但其中多數方案仍顯僵化、脆弱。盡管要做到盡善盡美非常困難,但是將其與更敏捷的決策機制相結合必將帶來巨大的收益(后續我們會深入探討)。
核心問題自然是:"究竟什么是智能體?[2]" 是指 OpenAI 對智能體的定義[3]?還是 IBM 的定義[4]?還是 Simon Willison[5] 通過集思廣益收集的六大熱門定義之一(感謝 Swyx[6] 在 AI Engineer Conference 上提供):
又或是其他定義?
我的觀點可能不會讓你意外:雖然這些定義中的某些部分是正確的,但都存在缺陷。 更不必說前人早已提出過各種智能體定義,且存在專門研究多智能體系統的完整學術領域(我早期的重要研究成果之一,就發表在 2000 年在波士頓召開的第四屆國際多智能體系統大會上,該會議后來與另兩個會議合并成為延續至今的 AAMAS 會議[7])。
01 讓時光倒流,回顧智能體定義的歷史
若要全面梳理智能體定義的演變史,恐怕需要鴻篇巨制才能完成,不過可以肯定的是,學術界從未形成過統一定義。學術文獻中記載的智能體類型就包含:
- 具備完整感知能力的實體機器人(可自主探索環境)
- 商業實戰模擬中用于預測價格波動的獨立行為主體簡化模型
- 擁有內部知識表征(internal knowledge representations)與世界模型(world models)的復雜軟件實體(通過標準化的智能體語言進行通信,KQML[8] 與 FIPA-ACL[9] 是當時最主流的兩種協議)
- 由非常簡單的個體組成的集群,他們通過自行組織實現超復雜行為
當年在各類 AI 會議上,"如何準確定義智能體"曾是學者們最熱衷的晚宴話題。
02 如今智能體的各種定義
到如今,該領域已經涌現出大量關于智能體的定義,這并不令人意外。我們現在擁有了一套強大的新工具來構建智能體,大家的興奮程度可想而知。然而,我認為當前的這些智能體定義中存在著諸多錯誤,要么過于復雜,要么嚴重偏離了核心要義。
存在多種不同定義的問題在于,它們可能模糊了構建智能體系統所面臨的底層挑戰(進而延伸至構建多智能體系統這一更為艱巨的挑戰!)。
基于前文提到的那些智能體現代定義(這些是我見過的當代最佳智能體定義)(譯者注:應當指的是 OpenAI、IBM 等對智能體的定義),系統梳理這些定義中反復出現的共性要素:
- "智能體是配備指引行為的指令、能訪問可以擴展能力的工具的模型,并封裝在具有動態生命周期的運行時環境中。"(需要指令嗎?必須是模型嗎?模型的本質含義究竟是什么?)
- "能夠自主學習、適應并執行操作以實現既定目標的應用程序。"(學習能力是關鍵嗎?必須被指定目標嗎?由誰指定?)
- "能在現實世界中執行并完成長期的、開放式任務的人工智能系統。"(任務必須長期運行嗎?必須完成嗎?)
- "智能體 = 大語言模型 + 記憶能力 + 規劃能力 + 工具 + While 循環。"(需要記憶能力嗎?必須有大語言模型嗎?規劃能力是必需的嗎?用 FOR 循環后優雅退出不行嗎?)
- "一個值得信賴的系統,能代表用戶做出有影響力的決定"(必須代表用戶嗎?代表它自己可以嗎?人類算智能體嗎?)
- "應用程序的智能體化程度越高,其程序執行邏輯的走向就越由大語言模型決定。"(必須是大語言模型嗎?智能體屬性是從"完全腳本化"到"完全自主"的連續過渡,還是要么是智能體,要么不是的二元狀態?)
- "執行非簡單、多步驟操作(這些操作以往需要人類完成)的人工智能系統組件。"(必須是非簡單任務嗎?人類原本就無法完成的任務呢?殺毒軟件算智能體嗎?)
撰寫這些內容的重點并非要否定這些定義。智能體的概念確實難以界定,而所有定義提出者都在進行有價值的嘗試。
實際上,我甚至可以說:我熱愛這些智能體定義中的每一個,因為它們從不同角度捕捉了智能體的關鍵特征,又融入了當前技術浪潮的時代精神。
過去往往將智能體的定義簡化,因為在當時難以想象軟件系統能像今天用大語言模型構建的這般強大。現代定義某種程度上陷入了相反的問題 —— 它們默認必須使用 LLM 這樣復雜的系統才能構建智能體。
03 “Agent”(智能體)的本質到底是什么?
不太可能有一個定義能滿足所有人的需求,但我認為,基于一個相對穩健的核心定義,然后再進行擴展,這是很有幫助的。
現在的智能體定義包含很多核心要素,但大多數都至少遺漏了過去的智能體定義中反復出現的一個關鍵點(即強調智能體與其所在環境的不可分割性)。 現在的智能體定義還(非常自然但并非必要地)將 LLM(大語言模型)作為核心要素。實際上構建智能體并不需要像 LLM 這樣強大的技術。
這個定義并非我的原創,它本質上是對過去智能體定義的整合以及當下智能體定義的補充,但可以說這是最接近本質的闡述:
Agent(智能體)是:
具備自主性(autonomy)和行為能力,能在所處環境中實現一個或多個目標的系統。
它可以是軟件系統(軟件智能體),也可以是人工智能系統(AI 智能體),還可以是生物智能體(比如剛咬斷你家電線的老鼠)。
分解一下這個定義的關鍵要素:
- 我們討論的是一個單獨的實體(系統)。
- 具有自主性,能根據某些評判標準選擇是否采取行動(這是所有智能體定義中最麻煩的部分,但正如后文所述,這其實是一個比較關鍵的屬性)
- 具有行為能力,換句話說,它擁有可在周遭環境中執行的一套行為操作。這些能力可以是與生俱來的、可以是一套工具、可以是改變物理世界的行為(如破壞電纜)或單純收集信息的行為(如間諜智能體)
- 智能體位于其運行的環境中。這個環境可以是物理的,也可以是數字的,可以是靜態的,也可以是快速演變的。智能體運行的環境(environment)是持續影響智能體決策的動態場域(Context)。
- 智能體具有可選擇是否實現的目標。這些目標可以是內置的(預設的程序)、被其他智能體(人或軟件)賦予的,也可以是動態生成的(甚至是隨機生成的或基于環境的某些特征生成的)
除了核心定義外,可能還需要補充一些附加條件:
- 大多數有用的智能體可能需要具備長期運行或持久存在的特性,也就是說,它們需要持續運行,堅持完成任務。但這并非嚴格意義上的必要條件 —— 只要具備自主性,并擁有某種身份,使他們成為一個實體,理論上完全可以存在一次性的智能體:在完成某一個任務后(甚至啟動后即刻)自動銷毀。
- 大多數有用的智能體可能都有某種感知循環(sensing loop),監測環境中的觸發條件與變化。同樣,這也并不是嚴格意義上的必要條件 —— 可將大量智能體投入環境以暴力覆蓋目標達成路徑(就像無需復雜感知的暴力拒絕服務攻擊)。
盡管如此,即使補充上述條件,當前的智能體定義仍缺失不少東西:大語言模型、While 循環、模型、規劃、外部指令、學習能力、記憶等。這些要素對某些類型的智能體確實有價值,但很難論證它們是智能體概念的核心。
要理解這一點,我們不妨思考一下多智能體系統的構成 —— 這正是下文要探討的內容。
在結束智能體定義的討論之前,讓我們回到“自主性”這個最棘手的概念上來。系統具備自主行動能力究竟意味著什么?是否意味著無需人類指令?是否意味著無需人類觸發?甚至無需其他智能體的觸發?
這是一個深奧的哲學問題,與“意識是什么?”有異曲同工之妙:
- 推特/ X 機器人若僅在用戶提及某些關鍵詞時才群發垃圾信息,算智能體嗎?
- 病毒算是智能體嗎?單個生物病毒呢?
- 按鈕觸發式系統 (如使用按鍵啟動)仍是智能體嗎?抑或只是應用程序的一個函數?
雖然難以達成共識,但有一個實用的工程學定義:只要系統具備內部邏輯來決定是否響應外部請求,就允許來自人類、其他智能體或環境的外部觸發。這可以是對相關操作成功幾率的復雜評估,也可以是執行相關操作前簡單的安全檢查或身份驗證。
同樣重要的是,觸發器通常不會導致立即采取行動。例如:安全掃描系統可能長期被動收集信息,直到偵測到入侵企圖才突然啟動,阻止攻擊行為。Unix 系統的守護進程早在"智能體"概念流行前就已踐行這一理念。
至此,我們是否得到了第 15 個智能體的定義?
XKCD Standards[10]
太好了,現在我們有了新的“智能體”定義。毫無疑問,未來會出現更多新定義,最終哪種勝出并不重要,但思考“智能體的定義對智能體系統的實際影響”確實很有價值。
我之所以更喜歡上一節中的簡單定義,是因為它能幫助我們聚焦智能體系統的幾個關鍵特性:
- 自主性真的很重要。不論是長期運行的 For 循環,還是能被環境條件觸發(如安全掃描器)的系統,智能體系統都是異步的,幾乎可以隨時激活運作。若你正在構建長流程的、復雜的工作流,請慎重考慮是否真正需要智能體。若系統需響應環境變化,且各流程間松耦合協作,智能體可能是理想選擇。
- 環境是核心要素。必須將智能體看作是嵌入在環境中的。例如,一個具備強大且多樣化的操作能力且可訪問幾乎所有個人數據的系統,必然面臨嚴峻的安全管理挑戰。在過去的六個月里,蘋果公司可能已經深刻認識到這一點,導致其大肆宣傳的 Siri AI 升級版被迫推遲[11]。
- Environment × abilities = Power。我欣賞為智能體開發"工具"的理念(如 ??exa.ai???[12] ?
- 目標(Goals)可能來自任何地方。有些目標可能是硬編碼的,有些可能是隨機的。在設計智能體時,必須全面考慮并妥善管理所有潛在的目標來源。智能體是否會在網絡上搜索信息并制定搜索計劃?傳入的外部信息會多大程度影響新目標的生成?在算力無限供給的情況下,智能體的目標迭代是否會陷入無限循環?
- 許多“多智能體”系統實際上是單智能體系統。近期涌現的許多所謂多智能體系統,本質上是完全決定所有后續操作的系統鏈,或者是每個系統都生成一個結果以便選出最佳結果的系統集合。這些架構都不符合真正的多智能體系統的標準。真正的多智能體系統需要每個智能體都具備自主性,換句話說,它需要有自己的獨立目標,以及是否實現這些目標的一些標準。從廣義上講,只有當每個“智能體”代表不同利益主體(包括其它們自身)時,才能構成真正的多智能體系統。將系統功能拆解到多個子模塊的架構本身沒有問題,但若各子系統之間不存在相互沖突的可能性,本質上仍是在搭建一個“單智能體”系統。
- 多智能體系統通過環境實現交互(無論你是否喜歡)。這些沖突發生的速度遠超我們想象。即使智能體之間沒有直接的信息聯系,只要能夠操作同一資源就會產生交互(例如共同修改代碼庫的兩個編程智能體,在同一服務器集群上調度任務的兩個調度智能體,或五十個向同一數據庫寫入數據的搜索智能體)。這些交互行為需要顯性的或隱性的協調機制予以管理。
用智能體還是不用智能體,這是一個問題......
一個看起來很簡單的話題,卻寫成了一篇這么長的博文,你可能會覺得要徹底遠離智能體系統才是上策,這也情有可原。又或許是因為"智能體熱"的炒作實在令人應接不暇。
這兩種想法都可以理解,但你可能無法逃避。一旦你開始構建能在某個環境中“行動”的人工智能系統,你就已經踏上了構建智能體的征途。當你走上這條道路,特別是如果你還添加了一點自主性(長期運行進程、觸發規則等),你的系統就值得被視為一個智能體。
通過審視智能體的系統設計,你可以開始明確環境是什么、有哪些可用的動作/工具、如何設計決策機制等。這些思考通常都會幫你實現更優秀的系統設計。
About the author
Steven Willmott
Leading product and engineering at ??http://SafeIntelligence.AI???. Writes at ??https://steampunkai.com??. Also @njyx@hachyderm.io (mastodon) and njyx.eth.
END
本期互動內容 ??
?你認為智能體的核心要素是什么?自主性、目標導向、環境交互——如果必須舍棄一個,你會選哪個?為什么?
文中鏈接
[1]??https://www.youtube.com/watch?v=kHPXbo2OkzA&ref=steampunkai.com??
[4]??https://www.ibm.com/think/topics/ai-agents?ref=steampunkai.com??
[5]??https://x.com/simonw?ref=steampunkai.com??
[6]??https://x.com/swyx?ref=steampunkai.com??
[8]??https://en.wikipedia.org/wiki/Knowledge_Query_and_Manipulation_Language?ref=steampunkai.com??
[9]??http://www.fipa.org/repository/aclspecs.html?ref=steampunkai.com??
[10]??https://xkcd.com/927/?ref=steampunkai.com??
[12]??http://exa.ai/?ref=steampunkai.com??
[13]??http://browserbase.com/?ref=steampunkai.com??
本文經原作者授權,由 Baihai IDP 編譯。如需轉載譯文,請聯系獲取授權。
原文鏈接:
??https://www.steampunkai.com/ai-fundamentals-agent-definitions/??
