在自动化脚本中如何使用AI大语言模型?

在自动化脚本开发领域,大语言模型的融入为脚本赋予了智能分析、自然语言交互、动态决策的能力,让传统的自动化操作从 "机械执行" 升级为 "智能处理"。本文将从平台基础能力、大模型 API 核心用法、前置配置、实战案例、避坑技巧等方面,全面讲解如何在自动化脚本中使用大语言模型。

一、大模型集成优势

冰狐智能辅助平台平台内置了BigModel专属 API,支持百度千帆、DeepSeek、豆包、千问等主流大语言模型的一键调用,让自动化脚本具备了 AI 能力。其集成大模型主要有三个方面:一是语法简单 ,冰狐 JS 去除了标准 JS 中繁杂的语法特性,取消了===/!==等复杂运算符,变量声明、循环、条件判断等基础语法极易掌握;二是安全可靠 ,大模型的 Key/Secret 无需硬编码在脚本中,可通过平台自定义数据功能统一存储,避免信息泄露;三是深度融合,大模型的调用结果可直接与冰狐的自动化操作结合,比如通过大模型分析通知内容后执行对应的 APP 操作,实现 "AI 决策 + 自动化执行" 的闭环。同时,冰狐 JS 支持多线程并发编程、在线编辑、动态部署立即生效,还提供了丰富的系统事件回调(如通知监听、窗口切换、屏幕状态变化)和设备内置常量(屏幕分辨率、设备 UUID、当前窗口类名等),这些能力为大模型与自动化脚本的结合提供了丰富的场景支撑。

二、大模型核心 API 详解

冰狐平台为大语言模型调用提供了两个核心 API:BigModel构造函数和invoke调用方法,这是实现大模型集成的基础,所有大模型操作均围绕这两个 API 展开。

2.1 BigModel 构造函数

BigModel用于创建大模型实例,初始化模型类型、鉴权信息和模型参数,其参数为必填 + 选填组合,具体说明如下:

参数名 类型 是否必填 默认值 说明
type integer - 模型类型标识,百度千帆 = 1、DeepSeek=2、豆包 = 3、千问 = 4
custom_data_key string - 平台自定义数据中存储模型 API Key 的键名
custom_data_secret string - 平台自定义数据中存储模型 API Secret 的键名,部分模型仅需 Key 则传空字符串
options object {model:'', temperature:0.7, maxTokens:1024} 模型配置参数,model 指定具体模型版本,temperature 控制生成随机性(0-1),maxTokens 限制生成文本长度

核心注意点custom_data_keycustom_data_secret并非直接传入 API Key/Secret 的字符串,而是平台自定义数据中对应的键名,这是冰狐平台为了安全设计的鉴权信息存储方式,避免硬编码导致的信息泄露。

2.2 invoke 调用方法

invokeBigModel实例的核心方法,用于向大模型发送请求并获取返回结果,返回值为字符串类型,其唯一参数prompt支持两种格式,适配不同的调用场景:

  1. 字符串格式 :适用于简单的单次提问场景,直接传入自然语言问题即可,如bm.invoke("如何编写冰狐自动化脚本?")
  2. 数组格式 :适用于多轮对话、带系统提示词的场景,数组中每个元素为键值对对象,支持system(系统角色,定义模型身份)、user(用户角色,提问)、assistant(模型角色,历史回答)三种角色,如[{"system":"你是自动化脚本专家"}, {"user":"冰狐JS如何实现循环操作?"}]

三、自定义数据存储鉴权信息

在调用大模型前,必须先在冰狐平台配置自定义数据,用于存储大模型的 API Key 和 Secret,这是脚本成功调用大模型的前提,具体配置逻辑如下:

  1. 从对应大模型官网(如百度千帆、DeepSeek)获取有效的 API Key 和 Secret,部分模型(如 DeepSeek)仅需 API Key;
  2. 进入冰狐智能辅助平台的微服务 / 自定义数据 模块,创建自定义数据项:
    • 若模型需要 Key 和 Secret,创建两个数据项,分别定义键名(如bd_qianfan_keybd_qianfan_secret),值为对应的 API Key 和 Secret;
    • 若模型仅需 Key,创建一个数据项存储 Key,Secret 对应的键名在脚本中传空字符串即可;
  3. 脚本中BigModel构造函数的custom_data_keycustom_data_secret参数,填写上述自定义数据的键名,而非实际的 Key/Secret 值。

该配置方式的优势在于,自定义数据可云端统一管理,多台设备执行脚本时无需重复配置,且开发者可灵活修改鉴权信息,不影响脚本代码。

四、实战案例

以下所有 Demo 均基于冰狐自研 JS 子集开发,严格遵循平台语法规范(如变量先声明后使用、循环 / 条件判断必须带{}、不使用匿名函数等),包含基础单次调用多轮对话调用自动化 + 大模型融合调用三个核心场景,覆盖大部分实际开发需求,可直接在冰狐平台在线编辑并运行。

4.1 基础单次调用

场景 :向百度千帆模型发送简单提问,获取并打印返回结果,适用于一次性的智能问答场景。前置配置 :在冰狐自定义数据中创建bd_qianfan_key(存储百度千帆 API Key)、bd_qianfan_secret(存储百度千帆 API Secret)两个数据项。Demo 源码

javascript 复制代码
// 冰狐JS必须以main作为入口函数
function main() {
    // 1. 创建百度千帆模型实例,type=1,传入自定义数据键名,使用默认模型参数
    var bm = new BigModel(1, 'bd_qianfan_key', 'bd_qianfan_secret');
    // 2. 定义提问内容,字符串格式prompt
    var question = '冰狐智能辅助平台的自动化脚本有哪些核心功能?';
    // 3. 调用invoke方法获取大模型返回结果
    var aiResult = bm.invoke(question);
    // 4. 打印结果,冰狐JS支持console.log标准输出
    console.log('大模型回答:');
    console.log(aiResult);
    // 5. 返回结果,main返回值为脚本整体返回值
    return aiResult;
}

代码说明 :该脚本是大模型调用的基础模板,核心步骤为创建实例→定义 prompt→调用 invoke→处理结果,冰狐 JS 会自动从自定义数据中读取鉴权信息,无需开发者手动处理。

4.2 多轮对话调用

场景 :将大模型定义为 "冰狐自动化脚本专家",并进行针对性提问,适用于需要模型具备特定身份的专业问答场景,DeepSeek 模型仅需 API Key,因此custom_data_secret传空字符串。前置配置 :在冰狐自定义数据中创建dp_seek_key数据项,存储 DeepSeek API Key。Demo 源码

javascript 复制代码
function main() {
    // 1. 创建DeepSeek模型实例,type=2,Secret传空,自定义模型参数(temperature=0.8提高随机性)
    var bm = new BigModel(2, 'dp_seek_key', '', {temperature: 0.8, maxTokens: 2048});
    // 2. 定义多轮对话prompt,数组格式,包含system和user角色
    var promptArr = [
        {system: '你是冰狐智能辅助平台的自动化脚本专家,精通冰狐自研JS语法,回答简洁易懂,只讲核心要点'},
        {user: '冰狐JS中数组支持负索引,具体如何使用?请举一个实际的例子'}
    ];
    // 3. 调用invoke方法
    var aiAnswer = bm.invoke(promptArr);
    // 4. 打印结果
    console.log('冰狐JS专家解答:');
    console.log(aiAnswer);
    // 5. 全局变量存储结果,供其他模块使用(冰狐JS__global修饰符声明全局变量)
    var __global aiResult = aiAnswer;
    return '调用成功';
}

代码说明 :通过options参数自定义了模型的temperaturemaxTokens,让生成结果更灵活、长度更长;使用__global修饰符声明全局变量,可将大模型结果共享给脚本的其他模块或线程,这是冰狐 JS 的专属特性。

4.3 融合调用

场景 :冰狐自动化脚本监听x信通知,当收到新通知时,调用豆包大模型分析通知内容,并打印分析结果,实现 "自动化监听 + AI 分析" 的融合,是实际开发中最典型的场景之一。前置配置 :在冰狐自定义数据中创建doubao_keydoubao_secret数据项,存储豆包大模型鉴权信息;开启设备的无障碍权限(冰狐移动端脚本必备)。Demo 源码

javascript 复制代码
// 声明全局变量,存储x信通知内容,用于main函数和回调函数通信
var __global wxNoticeContent = '';

// 入口函数,初始化大模型实例
function main() {
    console.log('开始监听x信通知,启动大模型分析服务...');
    // 启动x信APP,冰狐自动化核心API
    var ret = launchApp('com.tencent.mm', 'txt*:x信', {maxStep: 40, afterWait: 2000});
    if (1 == ret) {
        console.log('x信启动成功,已开始监听通知');
    } else {
        console.log('x信启动失败,脚本退出');
        return '启动失败';
    }
    return '监听中';
}

// 系统通知回调函数,冰狐JS内置,收到通知时自动调用
function cbNotification(textList, className, packageName, rawEvent) {
    // 仅处理x信的通知,packageName为x信包名com.tencent.mm
    if (packageName == 'com.tencent.mm') {
        console.log('收到x信通知,内容数组:', textList);
        // 将通知数组转为字符串,作为大模型提问的参数
        wxNoticeContent = textList.join(',');
        // 调用自定义的大模型分析函数
        analysisWxNotice(wxNoticeContent);
    }
}

// 自定义函数:调用豆包大模型分析x信通知内容
function analysisWxNotice(noticeText) {
    // 创建豆包模型实例,type=3
    var bm = new BigModel(3, 'doubao_key', 'doubao_secret', {model: 'doubao-pro', temperature: 0.5});
    // 构造带通知内容的prompt
    var prompt = `请分析以下x信通知的核心内容,判断是好友消息、群消息还是公众号通知,提取关键信息:${noticeText}`;
    // 调用大模型
    var analysisResult = bm.invoke(prompt);
    // 打印分析结果
    console.log('x信通知AI分析结果:');
    console.log(analysisResult);
    // 发送消息到UI线程,更新前端显示(冰狐JS内置sendMessage API)
    sendMessage('wx_notice_analysis', analysisResult);
}

// 脚本被强制停止时的回调函数,释放资源
function cbForceExit() {
    console.log('脚本被强制停止,停止监听x信通知,关闭大模型服务');
    wxNoticeContent = '';
}

代码说明

  1. 该脚本融合了冰狐的自动化 APP 操作launchApp)、系统事件回调cbNotificationcbForceExit)、大模型调用跨线程通信__globalsendMessage)四大核心能力;
  2. 通过cbNotification监听系统通知,根据packageName过滤x信通知,实现精准监听;
  3. 自定义analysisWxNotice函数封装大模型调用逻辑,让代码更模块化,符合冰狐 JS 的开发规范;
  4. 使用sendMessage将分析结果发送到 UI 线程,可实现前端页面的实时更新,提升交互体验。

五、语法规范与避坑技巧

冰狐自研的 JS 子集虽简单,但有专属的语法规范,若违反则会导致脚本运行失败,结合大模型调用的场景,整理了核心的语法规范和避坑技巧,确保脚本开发一次成功。

5.1 核心语法规范

  1. 变量必须先声明后使用 :所有变量必须通过var声明,未声明的变量会直接导致脚本报错,如var bm = new BigModel(...)不可简写为bm = new BigModel(...)
  2. 语句块必须带 {}ifforwhile、函数体等即使只有一条语句,也必须使用大括号包裹,如if (ret == 1) {console.log('成功');}不可省略{}
  3. 取消 ===/!== 运算符 :冰狐 JS 仅支持==!=进行相等判断,无需考虑数据类型,如1 == '1'的结果为true
  4. 数组支持负索引 :可通过arr[-1]获取数组最后一个元素,arr[-2]获取倒数第二个,简化数组操作;
  5. 注释支持 // 和 / / **:单行注释用//,多行注释用/**/,可在脚本中灵活添加注释,提升可读性。

5.2 关键避坑技巧

  1. 鉴权信息配置错误 :若脚本提示 "模型调用失败",首先检查自定义数据的键名是否与脚本中custom_data_key/custom_data_secret一致,且 Key/Secret 值有效,部分模型需要绑定 IP 白名单,需确保冰狐设备的 IP 在白名单内;
  2. 调试模式与发布模式区分:冰狐分调试模式和发布模式,调试脚本仅能在调试模式的 APP 上运行,若调试时脚本失败,先确认设备已开启冰狐调试模式(非 Android 系统调试模式);
  3. 避免中文符号:脚本中除字符串外,不可出现任何中文符号(如中文逗号、中文括号),即使是不可见的中文字符也会导致解析失败,若简单脚本运行失败,可删除代码重新编写;
  4. 模型参数合理设置temperature值过高会导致生成结果杂乱,过低则会过于死板,建议根据场景设置 0.5-0.8;maxTokens需根据需求设置,避免因值过小导致结果被截断;
  5. 多线程通信使用全局变量 :系统回调函数(如cbNotification)与main函数不在同一线程执行,需通过__global修饰的全局变量实现数据通信,不可直接在回调函数中使用main函数的局部变量。

六、大模型与冰狐自动化脚本的融合场景拓展

冰狐平台的大模型 API 并非单独存在,而是与自动化脚本的核心能力深度融合,除了上述的 "通知监听 + AI 分析",还有诸多典型的落地场景,开发者可基于基础 API 灵活拓展:

  1. APP 操作智能决策 :通过大模型分析 APP 页面的文本内容(冰狐textList获取),判断下一步执行的自动化操作(如点击、滚动、输入),让脚本具备动态决策能力;
  2. 自然语言驱动自动化:通过大模型解析用户的自然语言指令(如 "打开x信并给张三发送消息"),转换为冰狐的自动化 API 调用,实现 "说一句话就执行脚本";
  3. 自动化脚本异常处理:当脚本执行失败时,将错误信息传入大模型,由大模型分析失败原因并给出解决方案,甚至自动生成修复后的代码;
  4. 数据智能分析与处理:通过冰狐自动化脚本爬取 APP 中的数据(如商品价格、资讯内容),再由大模型进行数据清洗、分析、总结,生成可视化的报告;
  5. 智能客服自动化:结合冰狐的窗口监听和大模型的自然语言生成,实现 APP 内的智能客服自动回复,无需人工干预。

七、总结

开发者只需掌握BigModel构造函数和invoke方法的核心用法,遵循 JS 的语法规范,即可快速实现 "AI + 自动化" 的融合,让脚本从 "机械执行" 升级为 "智能处理"。在实际开发中,建议先从基础的单次调用开始,熟悉 API 的使用和前置配置,再逐步尝试多轮对话和自动化融合场景,同时注意避坑技巧,确保脚本的稳定性和可用性。

相关推荐
活跃的煤矿打工人2 小时前
【星海出品】智能科普(一)
ai·语言模型
Learn Beyond Limits2 小时前
RNN的多样化用途|The diverse applications of RNN
人工智能·深度学习·神经网络·机器学习·ai·语言模型·自然语言处理
智算菩萨3 小时前
GPT-5.4 进阶思考模式全面解析:从推理等级到实战提示词,代码、论文、数据处理一站通
人工智能·gpt·深度学习·机器学习·语言模型·自然语言处理·chatgpt
FelixZhang0283 小时前
从 PDF 到 AI 知识库:RAG 数据预处理的六步标准流水线 (SOP)
人工智能·python·目标检测·计算机视觉·语言模型·ocr·numpy
前端摸鱼匠4 小时前
【AI大模型春招面试题15】自回归(Autoregressive)与自编码(Autoencoding)语言模型的区别?
人工智能·语言模型·面试·回归·大模型·求职招聘
姚青&4 小时前
OpenAI ChatGPT 大语言模型
人工智能·语言模型·chatgpt
Jump 不二4 小时前
Meta 提出 HyperAgents:让智能体实现自主进化
人工智能·深度学习·语言模型
吴佳浩 Alben5 小时前
Vibe Coding 时代:Vue 消失了还是 React 太强?
前端·vue.js·人工智能·react.js·语言模型·自然语言处理
小超同学你好5 小时前
面向 LLM 的程序设计 1:API 契约设计:从 REST 到「能力端点」
人工智能·语言模型