更新日期:2025年3月14日。
Github源碼:[點我獲取源碼]
Gitee源碼:[點我獲取源碼]
索引
- 編輯器通用智能體
- AIAgent類
- Friday(星期五)
- 啟用智能體
- 設置智能體類型
- 開放智能體權限
- 智能體交互
- 資源優化
- 批處理
- 運行代碼
- 聯網搜索
- 休閑時刻
- 實現思路
編輯器通用智能體
隨著人工智能技術的飛速發展,智能體(AI Agents)正逐漸成為人與大模型(如大語言模型)交互的主要方式。智能體是能夠執行任務、解決問題并提供服務的 AI 系統,它們通過模擬人類的行為和決策過程,使得與大模型的交互更加自然、高效和個性化。
而本文所講的編輯器通用智能體
,是基于HTFrameworkAI
的Assistant模塊的一種定制化Agent的思路,旨在協助開發者解決Unity編輯器中的繁瑣、復雜、重復操作,幫助提升工作效率,同時舒緩工作情緒。
當然,雖然叫編輯器通用智能體
,但這里的通用并非萬能的意思,其表達的思想只是:這是一個專用于Unity編輯器的智能體。
Tips:與AI語言助手只會回答問題不同,智能體
應當能夠在Unity編輯器中做更多的事情。
回顧Assistant
:【Unity】 HTFramework框架(六十)Assistant助手(在Unity中接入DeepSeek等AI語言大模型)。
AIAgent類
如要定制智能體
,需編寫一個繼承至HT.Framework.AI.AIAgent
的類,其作為智能體的代理對象。
Friday(星期五)
比如我定義了一個代理對象Friday
,其名叫星期五
(頗有一點AI管家的味道,顧名思義,有他協助我們工作,每天都能像星期五一樣保持愉快的心情,因為明天就放假了
)。
/// <summary>/// AI智能體:星期五/// </summary>public sealed class Friday : AIAgent{/// <summary>/// 智能體名稱/// </summary>public override string Name{get{return "星期五";}}}
啟用智能體
在Assistant
窗口的設置面板
,勾選啟用通用智能體
:
然后在窗口左下角就會出現按鈕編輯器通用智能體,點擊該按鈕,即可打開智能體
窗口:
設置智能體類型
可以看到窗口中間的提示,需要設置智能體類型
,比如我前面寫的Friday(星期五)
,由此可知,你可以定制無數個智能體,通過切換不同的智能體類型,來完成不同的工作。
點擊右上角設置按鈕
,在設置面板中切換智能體的類型:
開放智能體權限
由于智能體
是能夠操作Unity編輯器中的資源、乃至于整個電腦中的資源的,所以我們需要對其控制權限(以防做出危險操作),如上圖所示,目前有五種獨立權限能夠對智能體設置開放或禁用。
Tips:比方一個需要運行代碼
的智能體,如果未對其開放相應權限,其將無法正常工作。
智能體交互
設置好了智能體類型
后,在智能體交互窗口便可以與其正常溝通了,我們可以使用自然語言輸入,讓其為我們完成指定的工作:
資源優化
比方說,讓他為我們優化某一個文件夾
中的所有資源:
先選擇一個文件夾,然后輸入你的要求,點擊發送指令
按鈕:
智能體支持檢測某些資源的不合理
情況,比如上圖中有8張圖像是不符合標準的,看看控制臺日志:
圖像內容復雜度:
1.越接近0,圖像內容越單調,也即是越接近純色;
2.越接近1,圖像內容越豐富。
如White
圖像的內容復雜度
為0,也就是說幾乎為純色圖像了,所以智能體建議我們壓縮其尺寸,我們看看這張圖像:
White
圖像果然幾乎就是純色,尺寸還搞個1024(純屬是吃飽了撐得)。
由此可見,在圖像資源量大的情況下,資源優化
能夠有效處理一些不合標準的資源。
Tips:當然,具體怎么做取決于智能體的行為,這里只是 Friday(星期五) 的行為,僅做參考。
批處理
我們還可以用幾乎任意條件來批量檢索場景中的GameObject
,檢索完成后智能體
會自動篩選出他們并將其選中,以便我們進一步處理。
比如,檢索Font
為空的所有Text
組件:
當然,為了能夠精準使用批處理
功能,我們可以直接對智能體@批處理
,否則它可能會走偏(取決于大模型的能力)。
比如,檢索所有觸發器
:
比如,檢索所有點光源
:
比如,檢索所有顏色為紅色的Text
組件:
比如,檢索所有縮放
為(2,2,2)的物體:
運行代碼
當然,我們還可以讓其直接運行一段代碼:
不過這里報錯了,Log.Info
方法的參數應為string
。
聯網搜索
我們還可以讓其聯網搜索任意內容,同樣的為了防止走偏,直接@聯網搜索
:
休閑時刻
當然,休閑時刻也是不能少的:
Friday(星期五)
有記憶庫功能,我常聽的歌曲他會記下來,當我想要聽歌時便優先搜索這些歌曲。
實現思路
最后,Friday(星期五)
的工作流程大致是這樣的(其實與典型AI智能體
差不多):
1.接收用戶輸入;
2.調用RAG
及提示詞庫
,理解用戶的任務
;(這里定義了RAG私有知識庫、提示詞庫)
3.找對具體的任務后,調用該任務的執行器
及記憶庫
;(這里定義了任務執行器、記憶庫)
4.執行器執行任務;(可以是單一任務,也可以是多段任務)
5.完成用戶的任務。
當然,Friday(星期五)
在這里只是分享了一種智能體
的實現思路,大廠會有更牛的玩法,我們就不做橫向比較了,最終它只需要能夠幫我提供服務即可。