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