盤古智能體(Pangu-Agent)的五個創新點
隨著大規模語言模型(Large Language Model,LLM)的發展和應用,人工智能領域出現了一種新的研究方向,即基于LLM的自主智能體(LLM-based Autonomous Agent)。這種智能體利用LLM的強大的表示能力和生成能力,可以在多種任務和環境中表現出智能的行為,如對話、游戲、推理、規劃、工具使用等。基于LLM的智能體面臨著一些挑戰和問題,如何有效地微調LLM以適應不同的任務和環境,如何設計和實現多種內在函數以實現復雜的智能體行為,如何評估和提升智能體的結構化推理能力等。為了解決這些問題,一些研究者提出了一些創新的方法和模型,如SwiftSage、ReAct、Least-to-Most、AgentTuning、FireAct等。

近日,來自華為諾亞方舟實驗室、倫敦大學學院(UCL)、牛津大學等機構的研究者提出了盤古智能體框架(Pangu-Agent),這是一種通用的、可微調的、具有結構化推理能力的智能體模型,盤古智能體框架(Pangu-Agent)的論文題為《Pangu-Agent: A Fine-Tunable Generalist Agent with Structured Reasoning》。該模型在多個單智能體和多智能體的任務上,使用不同的通用語言模型和提示方法,對盤古智能體進行了廣泛的評估,展示了其在結構化推理和微調方面的優勢。本文的主要目的是從技術和應用的角度,對盤古智能體的五個創新點進行分析:
- 提出一個通用的強化學習目標,用于優化智能體的內在函數和外在函數,使得智能體能夠在多種任務和環境中表現出靈活的推理和決策能力。
- 設計多種內在函數,如思考、規劃、反思、交流和使用工具等,使得智能體能夠根據自己的記憶狀態和上下文信息,進行內部的變換和操作,以及與外部的工具和其他智能體進行交互。
- 實現多種復合方法,如SwiftSage、ReAct和Least-to-Most等,使得智能體能夠在每個環境時間步驟中使用多個內在函數步驟來決定最終的動作,實現更復雜和更靈活的智能體行為。
- 探索多種微調方法,如監督微調和強化學習微調,使得智能體能夠根據專家數據和環境反饋,調整通用語言模型的權重,以提高智能體的性能和適應能力。
- 在多個單智能體和多智能體的任務上,使用不同的通用語言模型和提示方法,對盤古智能體進行了廣泛的評估,展示了其在結構化推理和微調方面的優勢。
(圖1)
圖1:帶有RL的盤古特工管道的圖片描述。從系統提示開始?10 Creative 2023|機密|10creative.co.uk和初始狀態,我們的代理人在環境中執行行動,并觀察下一個狀態和獎勵。生成的軌跡可以用于微調LLM。
1.盤古智能體的通用強化學習目標
強化學習(Reinforcement Learning,RL)是一種讓智能體在與環境交互的過程中,通過學習和優化自身的行為策略,以達到最大化累積獎勵的目標的機器學習方法。強化學習的核心要素包括智能體、環境、動作、狀態和獎勵,其中獎勵是指智能體在每個時間步驟中,根據其狀態和動作,從環境中獲得的反饋信號,用于評估和指導智能體的行為。
強化學習的獎勵可以分為兩種類型,即外在獎勵(Extrinsic Reward)和內在獎勵(Intrinsic Reward)。外在獎勵是指由環境直接提供的獎勵,通常與智能體的任務目標相關,如游戲得分、對話成功率等。內在獎勵是指由智能體自身生成的獎勵,通常與智能體的內部狀態或動機相關,如好奇心、探索性、新穎性等。外在獎勵和內在獎勵的區別在于,外在獎勵是由環境決定的,而內在獎勵是由智能體決定的。
外在獎勵和內在獎勵各有優缺點。外在獎勵的優點是可以直接反映智能體的任務性能,可以讓智能體快速地適應特定的任務和環境。外在獎勵的缺點是可能導致智能體過度依賴于環境的反饋,缺乏自主性和靈活性,也可能導致智能體陷入局部最優,忽略了更好的解決方案。內在獎勵的優點是可以增強智能體的自主性和靈活性,可以讓智能體在稀疏或延遲的外在獎勵下,仍然能夠進行有效的學習和探索。內在獎勵的缺點是可能與外在獎勵不一致,甚至相互沖突,也可能導致智能體過度追求內在獎勵,忽略了任務目標。
(圖2)
圖2:三個內在函數的可視化顯示了我們的公式在提高代理的模塊性和靈活性方面的重要性。用戶可以重新定義和配置固有功能,例如μ1(·)將LLM作為輸入來產生想法,或者μ2(·)使用工具來幫助改進推理。我們還支持嵌套這些內在函數,為復雜且具有挑戰性的決策任務構建更通用的模塊。
盤古智能體的通用強化學習目標的創新點在于,它不僅考慮了智能體的任務目標,也考慮了智能體的內部動機,使得智能體能夠在多種任務和環境中表現出靈活的推理和決策能力。該目標的優勢在于,它可以適應不同的任務和環境,可以通過調整外在獎勵和內在獎勵的權重系數,來平衡智能體的任務性能和探索性能,也可以通過設計和實現多種內在函數,來生成多樣的內在獎勵,從而提高智能體的自主性和靈活性。
2.盤古智能體的多種內在函數
內在函數(Intrinsic Function)是指智能體自身生成的一種函數,用于對智能體的狀態和動作進行內部的變換和操作,以實現復雜的智能體行為。內在函數的作用是增強智能體的自主性和靈活性,使得智能體能夠根據自己的記憶狀態和上下文信息,進行內部的推理和決策,以及與外部的工具和其他智能體進行交互。內在函數的類型和數量可以根據不同的任務和環境進行設計和實現,常見的內在函數有思考、規劃、反思、交流和使用工具等。
思考(Think):智能體根據自己的記憶狀態和上下文信息,生成一個與當前狀態或動作相關的文本,用于表達或理解智能體的意圖或目標。思考的作用是提高智能體的表達能力和理解能力,使得智能體能夠更好地與環境和其他智能體進行交流和協作。思考的實現方法是使用通用語言模型,根據給定的前綴或后綴,生成一個合適的文本。例如,智能體在玩一個迷宮游戲時,可以使用思考函數,生成一個與當前位置或方向相關的文本,如“我在左上角的房間里,我要往右走”。
規劃(Plan):智能體根據自己的記憶狀態和上下文信息,生成一個與當前狀態或動作相關的序列,用于描述或執行智能體的策略或過程。規劃的作用是提高智能體的決策能力和執行能力,使得智能體能夠更好地完成復雜的任務和目標。規劃的實現方法是使用通用語言模型,根據給定的前綴或后綴,生成一個合適的序列。例如,智能體在玩一個拼圖游戲時,可以使用規劃函數,生成一個與當前拼圖或目標拼圖相關的序列,如“先把左上角的四塊拼好,再把右下角的四塊拼好,最后把中間的四塊拼好”。
反思(Reflect):智能體根據自己的記憶狀態和上下文信息,生成一個與當前狀態或動作相關的評價,用于評估或改進智能體的性能或效果。反思的作用是提高智能體的評估能力和改進能力,使得智能體能夠更好地學習和優化自己的行為。反思的實現方法是使用通用語言模型,根據給定的前綴或后綴,生成一個合適的評價。例如,智能體在玩一個數獨游戲時,可以使用反思函數,生成一個與當前數獨或解法相關的評價,如“這個數獨很難,我用了很長時間才解出來,我應該多練習一些簡單的數獨”。
交流(Communicate):智能體根據自己的記憶狀態和上下文信息,生成一個與當前狀態或動作相關的消息,用于與其他智能體進行信息的交換或協調。交流的作用是提高智能體的交流能力和協作能力,使得智能體能夠更好地與其他智能體進行合作和競爭。交流的實現方法是使用通用語言模型,根據給定的前綴或后綴,生成一個合適的消息。例如,智能體在玩一個團隊對抗游戲時,可以使用交流函數,生成一個與當前狀態或動作相關的消息,如“我在敵方的基地附近,我需要支援”。
使用工具(Use Tool):智能體根據自己的記憶狀態和上下文信息,生成一個與當前狀態或動作相關的命令,用于與外部的工具進行交互或操作。使用工具的作用是提高智能體的交互能力和操作能力,使得智能體能夠更好地利用外部的資源和工具。使用工具的實現方法是使用通用語言模型,根據給定的前綴或后綴,生成一個合適的命令。例如,智能體在玩一個編程游戲時,可以使用使用工具函數,生成一個與當前狀態或動作相關的命令,如“用Python寫一個函數,實現兩個數的加法”。
盤古智能體的多種內在函數不僅設計了多種內在函數,也實現了多種內在函數,使得智能體能夠根據自己的記憶狀態和上下文信息,進行內部的變換和操作,以及與外部的工具和其他智能體進行交互。該創新點的優勢在于,它可以提高智能體的自主性和靈活性,使得智能體能夠在多種任務和環境中表現出復雜的智能體行為,也可以通過組合和嵌套多種內在函數,實現更高層次的智能體行為。
3.盤古智能體的多種復合方法
復合方法(Composite Method)是智能體在每個環境時間步驟中,使用多個內在函數步驟來決定最終的動作的一種方法。復合方法的作用是提高智能體的復雜性和靈活性,使得智能體能夠根據不同的任務和環境,選擇和組合不同的內在函數,實現更復雜和更靈活的智能體行為。復合方法的類型和數量可以根據不同的任務和環境進行設計和實現,常見的復合方法有SwiftSage、ReAct和Least-to-Most等。
SwiftSage(Swiftly Switching between Sage and Agent):智能體在每個環境時間步驟中,根據自己的記憶狀態和上下文信息,以及環境的反饋,動態地選擇是使用內在函數(Sage模式),還是直接使用通用語言模型生成動作(Agent模式)。SwiftSage的作用是提高智能體的適應能力和效率,使得智能體能夠在不同的任務和環境中,靈活地切換不同的模式,實現最優的智能體行為。SwiftSage的實現方法是使用一個二元分類器,根據給定的記憶狀態和上下文信息,以及環境的反饋,預測是使用Sage模式,還是使用Agent模式。例如,智能體在玩一個猜謎游戲時,可以使用SwiftSage,根據自己的記憶狀態和上下文信息,以及環境的反饋,動態地選擇是使用思考函數,還是直接使用通用語言模型生成猜測。
ReAct(Recurrent Action Composition):智能體在每個環境時間步驟中,使用一個循環神經網絡(Recurrent Neural Network,RNN),根據自己的記憶狀態和上下文信息,以及環境的反饋,生成一個由多個內在函數步驟組成的動作序列。ReAct的作用是提高智能體的復雜性和靈活性,使得智能體能夠在不同的任務和環境中,生成和執行多個內在函數步驟,實現更復雜和更靈活的智能體行為。ReAct的實現方法是使用一個RNN,根據給定的記憶狀態和上下文信息,以及環境的反饋,生成一個由多個內在函數步驟組成的動作序列。例如,智能體在玩一個數學游戲時,可以使用ReAct,根據自己的記憶狀態和上下文信息,以及環境的反饋,生成一個由多個內在函數步驟組成的動作序列,如“使用工具函數,打開計算器;使用規劃函數,生成一個數學公式;使用思考函數,解釋公式的含義;使用使用工具函數,輸入公式并計算結果”。
Least-to-Most(Least-to-Most Action Composition):智能體在每個環境時間步驟中,使用一個排序網絡(Ranking Network),根據自己的記憶狀態和上下文信息,以及環境的反饋,對所有可能的內在函數步驟進行排序,從而生成一個由多個內在函數步驟組成的動作序列。Least-to-Most的作用是提高智能體的穩定性和可解釋性,使得智能體能夠在不同的任務和環境中,生成和執行最合適的內在函數步驟,實現最優的智能體行為。Least-to-Most的實現方法是使用一個排序網絡,根據給定的記憶狀態和上下文信息,以及環境的反饋,對所有可能的內在函數步驟進行排序,從而生成一個由多個內在函數步驟組成的動作序列。例如,智能體在玩一個寫作游戲時,可以使用Least-to-Most,根據自己的記憶狀態和上下文信息,以及環境的反饋,對所有可能的內在函數步驟進行排序,從而生成一個由多個內在函數步驟組成的動作序列,如“使用規劃函數,生成一個寫作大綱;使用思考函數,生成一個寫作主題;使用反思函數,生成一個寫作評價;使用交流函數,與其他智能體分享寫作結果”。
智能體可以用多個內在函數步驟來決定自己的動作,也可以用多種復合方法來生成和執行這些步驟。這樣,智能體就可以根據不同的環境,靈活地選擇和組合內在函數,表現出更復雜的行為。這個創新點的好處是,智能體可以變得更復雜和更靈活,可以適應不同的任務和環境,也可以用不同的復合方法,展示出不同的行為模式,比如動態切換、循環生成、排序選擇等。
4.盤古智能體的多種微調方法
微調(Fine-Tuning)是智能體根據專家數據或環境反饋,調整通用語言模型的權重,以提高智能體的性能和適應能力的一種方法。微調的作用是提高智能體的學習能力和泛化能力,使得智能體能夠在不同的任務和環境中,利用通用語言模型的強大的表示能力和生成能力,實現最優的智能體行為。微調的類型和數量可以根據不同的任務和環境進行設計和實現,常見的微調方法有監督微調(Supervised Fine-Tuning)和強化學習微調(Reinforcement Learning Fine-Tuning)等。
監督微調(Supervised Fine-Tuning):智能體根據專家數據,調整通用語言模型的權重,以提高智能體的性能和適應能力的一種方法。專家數據是指由人類或其他智能體提供的一種數據,用于指導或教導智能體的行為。監督微調的作用是提高智能體的準確性和效率,使得智能體能夠在不同的任務和環境中,快速地學習和模仿專家的行為。監督微調的實現方法是使用一個監督學習的損失函數,根據給定的專家數據,計算智能體的行為和專家的行為之間的差異,從而調整通用語言模型的權重。例如,智能體在玩一個象棋游戲時,可以使用監督微調,根據給定的專家數據,調整通用語言模型的權重,以提高智能體的象棋水平。
強化學習微調(Reinforcement Learning Fine-Tuning):智能體根據環境反饋,調整通用語言模型的權重,以提高智能體的性能和適應能力的一種方法。環境反饋是指由環境直接提供的一種反饋信號,用于評估或指導智能體的行為。強化學習微調的作用是提高智能體的探索性和適應性,使得智能體能夠在不同的任務和環境中,自主地學習和優化自己的行為。強化學習微調的實現方法是使用一個強化學習的損失函數,根據給定的環境反饋,計算智能體的行為和環境的獎勵之間的關系,從而調整通用語言模型的權重。例如,智能體在玩一個賽車游戲時,可以使用強化學習微調,根據給定的環境反饋,調整通用語言模型的權重,以提高智能體的賽車技巧。
盤古智能體的微調方法很有創意,它們不但用了通用語言模型的強大功能,還用了專家的數據和環境的反饋,讓智能體可以根據不同的情況,調節通用語言模型的效果,讓智能體的表現更好。這個創新點的好處是,智能體可以學得更好,適應更多的情況,做出最好的行為,還可以用不同的微調方法,學習不同的方式,比如監督學習、強化學習等。
5.盤古智能體的廣泛評估
智能體在多個單智能體和多智能體的任務上,使用不同的通用語言模型和提示方法,對自己的性能和效果進行評估和比較的一種方法。廣泛評估的作用是提高智能體的可信度和可靠性,使得智能體能夠在不同的任務和環境中,展示出自己的優勢和不足,以及與其他智能體的差異和相似性。廣泛評估的類型和數量可以根據不同的任務和環境進行設計和實現,常見的評估指標有準確率、效率、穩定性、靈活性、可解釋性等。
在單智能體的任務上,盤古智能體使用了不同的通用語言模型和提示方法,對自己的性能和效果進行了評估和比較。單智能體的任務是指智能體只需要與環境交互,不需要與其他智能體交互的一種任務,如對話、推理、規劃、工具使用等。通用語言模型是指能夠在大規模的文本數據上進行預訓練,具有強大的表示能力和生成能力的一種語言模型,如GPT-3、Pangu、Megatron等。提示方法是指能夠根據不同的任務和環境,為通用語言模型提供合適的輸入和輸出格式的一種方法,如前綴、后綴、模板等。盤古智能體的評估結果表明,盤古智能體在單智能體的任務上,具有較高的準確率、效率、穩定性、靈活性和可解釋性,且能夠根據不同的通用語言模型和提示方法,進行有效的微調和適應,以提高自己的性能和效果。
在多智能體的任務上,盤古智能體使用了不同的通用語言模型和提示方法,對自己的性能和效果進行了評估和比較。多智能體的任務是指智能體需要與環境和其他智能體交互,需要進行信息的交換或協調的一種任務,如游戲、協作、競爭等。通用語言模型和提示方法的定義與單智能體的任務相同。盤古智能體的評估結果表明,盤古智能體在多智能體的任務上,具有較高的準確率、效率、穩定性、靈活性和可解釋性,且能夠根據不同的通用語言模型和提示方法,進行有效的微調和適應,以提高自己的性能和效果。此外,盤古智能體還能夠與其他基于LLM的智能體進行有效的交流和協作,展示出自己的結構化推理能力。
盤古智能體的評估很全面,它在很多任務上,用了不同的語言模型和提示方法,展示了自己的表現。這樣智能體就可以在不同的情況下,看到自己的優點和缺點,以及和其他智能體的不同和相同。這個創新點的好處是,智能體可以變得更可信和更可靠,可以在不同的情況下,做出最好的行為,還可以用不同的語言模型和提示方法,展示出不同的行為模式,比如對話、推理、規劃、工具使用、游戲、協作、競爭等。
參考資料:https://arxiv.org/abs/2312.14878




































