AndroidGen是什么
AndroidGen 是智谱技术团队推出增强基于大语言模型(LLM)的Agent能力的框架,特别是在数据稀缺的情况下。框架通过收集人类任务轨迹基于这些轨迹训练语言模型,开发出无需人工标注轨迹的 Agent,显著提升 LLM 执行复杂任务的能力。
AndroidGen的主要功能
-
无需人工标注的数据收集与训练:AndroidGen 通过收集人类任务轨迹,能够在没有人工标注的情况下训练出高效的智能代理。
-
增强代理的任务执行能力:AndroidGen 通过四个核心模块(ExpSearch、ReflectPlan、AutoCheck 和 StepCritic)显著提升了 LLM 在执行复杂任务时的能力。
-
xpSearch(经验搜索):通过检索已完成的类似轨迹,帮助 LLM 进行上下文学习,从而使智能代理的能力得以提升,促进其在简单任务与复杂任务间的泛化。
-
ReflectPlan(反思计划):对当前环境进行自我反思并更新计划状态,增强智能代理的长期推理能力。
-
AutoCheck(自动检查):主动验证每个智能代理操作的有效性,降低因操作失误导致任务失败的风险。
-
StepCritic(步骤评估):将任务分解为多个子目标,并提供逐步轨迹评估,为模型优化提供细粒度标签。
-
高效的数据收集管道:AndroidGen 建立了一个高效的数据收集管道,能够生成大量高质量的 Android 浏览轨迹。
AndroidGen的技术原理
-
模型训练:利用 LoRA 技术,对自动构建的数据集进行微调,包括 GLM-4-9B 和 Llama-3-70B,从而得到 Android Agent 模型。无需人工标注轨迹,通过将轨迹中的每一步作为样本进行训练,充分挖掘数据集中的信息。
-
混合规划与执行步骤:将规划与执行步骤结合进行微调,使 LLM 同时具备规划与执行的能力。
-
数据收集流程:
-
任务制定 :基于 GPT-4o,从 AndroidWorld 中生成约 300 条任务指令。
-
代理采样:基于 AndroidWorld 和 GPT-4o 对每个任务的轨迹进行采样。
-
轨迹记录:记录每一步的环境和操作信息,构建可复现的 Android 导航轨迹。
-
轨迹评估:使用 StepCritic 对记录的轨迹进行评估,确保每个子目标的完成。
-
轨迹增强:扩充高质量数据集,最终构建了一个包含 1000 多个轨迹的数据集。
AndroidGen的性能效果
-
AndroidWorld 基准测试:
-
AndroidGen 显著提升了相同基础模型下智能代理的能力,与 M3A 和 SeeAct 相比,表现更为突出。
-
AndroidGen + GPT-4o 的平均得分达到了 46.8,远超其他组合。
-
模型参数较小且开源的 GLM-4-9B + AndroidGen 的平均得分,超过了模型参数更大且闭源的 GPT-4o + M3A。
-
AitW(Android in the Wild) 和八款全球流行的移动应用程序(如 Google Maps、YouTube 等)的评测中,AndroidGen 显示出色,在真实设备环境中对自然语言指令的理解与交互能力。
AndroidGen的应用场景
-
自动化任务处理:通过自然语言指令,智能代理能够自动完成发送邮件、设置提醒、查询信息等任务。
-
跨应用操作:智能代理能够在不同应用之间进行交互,实现如从一个应用复制数据到另一个应用等操作。
-
智能导航:在 Android 设备上,智能代理能够根据用户指令进行导航,如打开特定应用、查找文件等。
-
智能交互:通过自然语言理解,智能代理能够与用户进行互动,提供更加智能的用户体验。