当前位置: 首页 > news >正文

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

相关文章:

  • 【NLP】 5. Word Analogy Task(词类比任务)与 Intrinsic Metric(内在度量)
  • “量超融合”突破 澳Quantum Brilliance融资2000万美元探索量子与超算协同
  • 事件驱动架构(EDA):微服务世界的未来趋势
  • UNI-APP uts插件 支持ANDROID 监听手机状态
  • 分布式锁: 并发时,redis如何避免删别人的锁
  • uniapp笔记-底部和首部标签页菜单生成
  • Matlab 汽车ABS实现pid控制
  • SpringBoot桂林旅游景点导游平台开发与设计
  • 【第14届蓝桥杯】软件赛CB组省赛
  • Cannl 数据同步-ES篇
  • Git 常用命令完全指南:从入门到高效协作
  • 【商城实战(39)】Spring Boot 携手微服务,商城架构焕新篇
  • 华为OD机试 - 九宫格按键输入 - 逻辑分析(Java 2023 B卷 200分)
  • helm部署metricbeat
  • 巧用 VSCode 与 AI 编码提升 Vue 前端开发效率
  • Vue 登录 记住密码,设置存储时间
  • R语言——变量
  • 计算机网络笔记
  • CI/CD 全流程全解
  • 提升AI性能的秘密武器:量化、蒸馏与剪枝全面解析
  • 购车补贴、“谷子”消费、特色产品,这些活动亮相五五购物节
  • 五部门:开展新就业形态劳动者劳动权益保障水平提升专项行动
  • 体重管理门诊来了,瘦不下来的我们有救了?|健康有方FM
  • 俄伏尔加格勒机场正式更名为斯大林格勒机场
  • 跟着京剧电影游运河,京杭大运河沿线六城举行京剧电影展映
  • 美航母一战机坠海,美媒:为躲避胡塞武装攻击,损失超六千万美元