【Unity】 HTFramework框架(六十二)Agent編輯器通用智能體(AI Agent)

更新日期: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(星期五)在這里只是分享了一種智能體的實現思路,大廠會有更牛的玩法,我們就不做橫向比較了,最終它只需要能夠幫我提供服務即可。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/897818.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/897818.shtml
英文地址,請注明出處:http://en.pswp.cn/news/897818.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

EverArt MCP 服務器安裝調試筆記 -cline

EverArt MCP 服務器安裝調試筆記 問題描述 用戶在使用 EverArt MCP 服務器時遇到報錯&#xff1a;“MCP error -1: Connection closed”。 調試過程 檢查配置文件 cline_mcp_settings.json: 確認 everart 服務器的配置信息&#xff0c;包括 command、args 和 env 是否正確。…

MFC中使用Create或CreateDialog創建對話框失敗,GetLastError錯誤碼為1813(找不到映像文件中指定的資源類型)

文章目錄 創建對話框失敗示例、原因分析及解決方案示例代碼錯誤原因解決方案 AFX_MANAGE_STATE(AfxGetStaticModuleState())作用一、功能1. 模塊狀態切換2. 自動狀態恢復 二、為什么要用該函數&#xff1f;三、必須使用該宏的典型場景1. MFC 擴展 DLL&#xff08;Extension DLL…

php進程管理

php-fpm(fastcgi process manager)是PHP 的FastCGI管理器&#xff0c;管理PHP的FastCGI進程&#xff0c;提升PHP應用的性能和穩定性 php-fpm是一個高性能的php FastCGI管理器&#xff0c;提供了更好的php進程管理方式&#xff0c;可以有效的控制內存和進程&#xff0c;支持平滑…

《MySQL數據庫從零搭建到高效管理|表的增刪改查(基礎)》

目錄 引言&#xff1a; 一、表的操作 1.1 創建學生表 1.2 查看表結構 1.3 刪除表 1.4 修改表名 1.5 添加字段 1.6 修改字段 1.7 刪除字段 1.8 小結 二、CRUD 2.1 新增&#xff08;Create&#xff09;數據 2.2 查詢&#xff08;Retrieve&#xff09;數據 2.3 修改&…

建筑管理(2): 施工承包模式,工程監理,質量監督

文章目錄 一. 施工承包模式1. 施工總承包模式1.1 施工總承包的特點1.2 施工總承包模式中的承包方 2. 平行承包模式3. 聯合體與合作體承包模式 二. 工程監理1. 強制實行監理的工程范圍1.1 國家重點建設工程1.2 大中型公用事業工程(重點)1.3 成片開發建設的住宅小區工程1.4 必須實…

Spring Boot與Apache Ignite集成:構建高性能分布式緩存和計算平臺

1. 前言 1.1 什么是Apache Ignite Apache Ignite是一個高性能的分布式內存計算平臺,支持內存緩存、分布式計算、流處理和機器學習等功能。它提供了低延遲的數據訪問和強大的計算能力,適用于需要高性能和可擴展性的應用。 1.2 為什么選擇Apache Ignite 高性能:Ignite利用內…

REST 請求返回 Invalid Credentials

REST 請求返回 “Invalid Credentials”&#xff08;無效憑據&#xff09;&#xff0c;通常表示身份驗證失敗。可能的原因和解決方案如下&#xff1a; 可能的原因 & 解決方案 用戶名或密碼錯誤 確保使用正確的用戶名和密碼。如果 API 需要 Base64 編碼的 Authorization 頭…

C++Primer學習(6.7 函數指針——難!)

6.7 函數指針 (這一章節比較難) 函數指針指向的是函數而非對象。和其他指針一樣&#xff0c;函數指針指向某種特定類型。函數的類型由它的返回類型和形參類型共同決定&#xff0c;與函數名無關。例如: //比較兩個 string 對象的長度 bool lengthCompare(const string &,co…

高級java每日一道面試題-2025年2月26日-框架篇[Mybatis篇]-Mybatis是如何將sql執行結果封裝為目標對象并返回的?都有哪些映射形式 ?

如果有遺漏,評論區告訴我進行補充 面試官: Mybatis是如何將sql執行結果封裝為目標對象并返回的?都有哪些映射形式 ? 我回答: 在Java高級面試中討論MyBatis如何將SQL執行結果封裝為目標對象并返回的過程時&#xff0c;我們可以從過程細節和映射形式兩個方面來綜合解答這個問…

react(一):特點-基本使用-JSX語法

初識React React是一個用于構建用戶界面的 JavaScript 庫&#xff0c;由 Facebook 開發和維護。 官網文檔&#xff1a;React 官方中文文檔 特點 1.聲明式編程 2.組件化開發 3.多平臺適配 開發依賴 開發React必須依賴三個庫&#xff1a; 1.react&#xff1a;包含react所必…

【Python+HTTP接口】POST請求不同請求頭構造

1、{‘Content-Type’: ‘application/json’} import requestsbody {"name1": "value1","name2": "value2"} requests.post(urlurl, databody)2、{“Content-Type”: “application/x-www-form-urlencoded; charsetUTF-8”} impor…

Java常用API:String與ArrayList的設計哲學與實踐應用

在Java編程中&#xff0c;API&#xff08;應用程序編程接口&#xff09;是開發者最強大的工具之一。它們封裝了復雜的底層邏輯&#xff0c;提供了簡潔的調用方式。本文將聚焦Java中兩個最常用的API——String和ArrayList&#xff0c;從底層原理到實際應用&#xff0c;結合深度思…

Python的字符串優雅優化策略:特定編碼 -> Unicode碼點 -> UTF-8(可自定義)

Python利用唯一uni-pot中介打理&#xff0c;任意制式輸出&#xff08;首選uyf-8&#xff09;。 筆記模板由python腳本于2025-03-14 23:37:04創建&#xff0c;本篇筆記適合喜歡探究字符串編碼細節的coder翻閱。 【學習的細節是歡悅的歷程】 博客的核心價值&#xff1a;在于輸出思…

linux 時間同步(阿里云ntp服務器)

1、安裝ntp服務 rootlocalhost ~]# yum -y install ntp 已加載插件&#xff1a;fastestmirror, langpacks Loading mirror speeds from cached hostfile* base: mirrors.nju.edu.cn* centos-sclo-rh: mirrors.nju.edu.cn* centos-sclo-sclo: mirrors.huaweicloud.com* epel: m…

虛擬化數據恢復—重裝系統服務器崩了的數據恢復過程

虛擬化數據恢復環境&故障&#xff1a; VMware虛擬化平臺 vmfs文件系統 工作人員誤操作重裝操作系統&#xff0c;服務器崩潰。 重裝系統會導致文件系統元文件被覆蓋。要恢復數據&#xff0c;必須找到&提取重裝系統前的文件系統殘留信息&#xff0c;通過提取出來的元文件…

微信開發者工具內建終端使用不了npm,但是cmd可以

下載cnpm并配置鏡像源 終端cmd&#xff1a; npm install -g cnpm --registryhttp://registry.npmmirror.com 打開微信開發者工具&#xff0c;找到方框的文件右擊選擇內建終端打開 初始化&#xff1a; npm init -y 發現npm沒有此命令 關閉微信開發工具&#xff0c;用管理…

vue/react/vite前端項目打包的時候加上時間最簡單版本,防止后端扯皮

如果你是vite項目&#xff0c;直接寫一個vite的插件&#xff0c;通過這個插件可以動態注入環境變量&#xff0c;然后當打包的時候&#xff0c;自動注入這個時間到環境變量中&#xff0c;然后在項目中App.vue中或者Main.tsx中打印出來&#xff0c;這就知道是什么時候編譯的項目了…

element-plus中Autocomplete自動補全輸入框組件的使用

目錄 1.基本使用 ①從官網賦值如下代碼 ②查看運行效果 ③代碼解讀 2.調用后端接口&#xff0c;動態獲取建議數據 結語 1.基本使用 ①從官網賦值如下代碼 <template> <div><!-- 自動補全輸入框 --><el-autocompletev-model"state":fetc…

DeFi開發的深度解析與展望

去中心化金融&#xff08;DeFi&#xff09;作為區塊鏈技術的一個重要應用&#xff0c;近年來在金融領域掀起了一股創新浪潮。它不僅為用戶提供了更加便捷、高效的金融服務&#xff0c;還重新定義了傳統金融的運作方式。本文將圍繞DeFi開發的核心要素、應用場景、面臨的問題以及…

思維鏈醫療編程方法論框架(Discuss V1版)

思維鏈醫療編程方法論框架 1. 方法論核心定義 思維鏈醫療編程方法論是一種結合結構化思維鏈(Chain of Thought)與醫療領域需求的系統化編程實踐框架,旨在通過分步邏輯推理、知識整合與動態反饋,提升醫療軟件/算法的開發效率、準確性與可解釋性。該方法論的關鍵在于通過清晰…