【Unity】 HTFramework框架(六十二)Agent编辑器通用智能体(AI Agent)

更新日期:2025年3月22日。
Github 仓库:https://github.com/SaiTingHu/HTFrameworkAI
Gitee 仓库:https://gitee.com/SaiTingHu/HTFrameworkAI

一、编辑器通用智能体

随着人工智能技术的飞速发展,智能体(AI Agents)正逐渐成为人与大模型(如大语言模型)交互的主要方式。智能体是能够执行任务、解决问题并提供服务的 AI 系统,它们通过模拟人类的行为和决策过程,使得与大模型的交互更加自然、高效和个性化。

而本文所讲的编辑器通用智能体,是基于HTFrameworkAIAssistant模块的一种定制化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:比方一个需要运行代码的智能体,如果未对其开放相应权限,其将无法正常工作。

七、智能体交互

设置好了智能体类型后,在智能体交互窗口便可以与其正常沟通了,我们可以使用自然语言输入,让其为我们完成指定的工作:

在这里插入图片描述

1.资源优化

比方说,让他为我们优化某一个文件夹中的所有资源:

在这里插入图片描述

先选择一个文件夹,然后输入你的要求,点击发送指令按钮:

请添加图片描述

智能体支持检测某些资源的不合理情况,比如上图中有8张图像是不符合标准的,看看控制台日志:

在这里插入图片描述

图像内容复杂度:
1.越接近0,图像内容越单调,也即是越接近纯色;
2.越接近1,图像内容越丰富。

White图像的内容复杂度为0,也就是说几乎为纯色图像了,所以智能体建议我们压缩其尺寸,我们看看这张图像:

在这里插入图片描述

White图像果然几乎就是纯色,尺寸还搞个1024(纯属是吃饱了撑得)。

由此可见,在图像资源量大的情况下,资源优化能够有效处理一些不合标准的资源。

Tips:当然,具体怎么做取决于智能体的行为,这里只是 Friday(星期五) 的行为,仅做参考。

2.批处理

我们还可以用几乎任意条件来批量检索场景中的GameObject,检索完成后智能体会自动筛选出他们并将其选中,以便我们进一步处理。

比如,检索Font为空的所有Text组件:

在这里插入图片描述

当然,为了能够精准使用批处理功能,我们可以直接对智能体@批处理,否则它可能会走偏(取决于大模型的能力)。

比如,检索所有触发器

在这里插入图片描述

比如,检索所有点光源

在这里插入图片描述

比如,检索所有颜色为红色的Text组件:

在这里插入图片描述

比如,检索所有缩放为(2,2,2)的物体:

在这里插入图片描述

3.创建模式

我们还可以让智能体根据我们的输入需求,为我们创建一些基本的UI界面(目前仅限UI界面),需要@创建模式

请添加图片描述

当然,智能体创建的UI界面只是草图,你可以基于其继续改进:

在这里插入图片描述

且根据大模型的参数量级的不同,创建的界面匹配度各有差异,越顶级的大模型,创建的界面越符合需求:

请添加图片描述

4.运行代码

当然,我们还可以让其直接运行一段代码:

在这里插入图片描述

在这里插入图片描述

不过这里报错了,Log.Info方法的参数应为string

5.联网搜索

我们还可以让其联网搜索任意内容,同样的为了防止走偏,直接@联网搜索

在这里插入图片描述

6.休闲时刻

当然,休闲时刻也是不能少的:

在这里插入图片描述

Friday(星期五)有记忆库功能,我常听的歌曲他会记下来,当我想要听歌时便优先搜索这些歌曲。

在这里插入图片描述

八、实现思路

最后,Friday(星期五)的工作流程大致是这样的(其实与典型AI智能体差不多):

1.接收用户输入;
2.调用RAG提示词库,理解用户的任务;(这里定义了RAG私有知识库、提示词库)
3.找对具体的任务后,调用该任务的执行器记忆库;(这里定义了任务执行器、记忆库)
4.执行器执行任务;(可以是单一任务,也可以是多段任务)
5.完成用户的任务。

当然,Friday(星期五)在这里只是分享了一种智能体的实现思路,大厂会有更牛的玩法,我们就不做横向比较了,最终它只需要能够帮我提供服务即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神码编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值