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

AppAgent:基于大语言模型的纯视觉手机自动化智能体实践

1. 项目概述:一个能“看”会“点”的智能体

最近在折腾移动端自动化测试和智能交互时,发现了一个挺有意思的开源项目:AppAgent。这玩意儿本质上是一个基于大语言模型(LLM)驱动的智能体,但它干的活儿有点特别——它不直接写代码,而是通过“看”手机屏幕截图和“点”屏幕坐标,来学习并执行各种手机App上的任务。

想象一下,你刚拿到一个新App,想完成一个复杂操作,比如在某个电商App里找到特定商品并完成比价、加购。通常你得自己一步步摸索。而AppAgent的思路是,让它像人一样,先观察屏幕(截图),理解当前界面有哪些可操作的元素(按钮、输入框、列表),然后规划下一步该点哪里或输入什么,最后通过模拟点击或输入来执行。它甚至能在执行过程中“学习”,把成功的操作路径记录下来,下次遇到类似界面就能直接复用,越用越聪明。

这个项目由Tencent QQGY Lab开源,瞄准的是解决大模型在真实物理世界(这里特指移动设备数字界面)中执行任务的问题。它不依赖App的内部代码或可访问性服务,仅凭视觉感知和坐标控制,理论上可以操作任何Android/iOS应用,这对于自动化测试、无障碍辅助、个人效率工具乃至更泛化的AI智能体应用,都提供了一个很新颖的实践路径。

2. 核心设计思路:视觉感知与动作执行的解耦与协同

AppAgent的整体架构清晰体现了“感知-决策-执行”的经典智能体范式,但针对移动端GUI的特点做了具体化。

2.1 为什么选择“纯视觉”路径?

这是项目最根本的设计决策。传统移动端自动化方案,如Android的UIAutomator、iOS的XCUITest,或者跨平台的Appium,都严重依赖操作系统提供的UI元素树(Accessibility Tree)。这套方案稳定、精准,但有两个核心痛点:一是需要开启设备的开发者选项或可访问性权限,对非开发环境或某些受限制的设备不友好;二是严重受限于App本身对可访问性支持的完善程度,很多自定义控件或游戏界面无法被识别。

AppAgent选择纯视觉方案,直接分析屏幕截图,其优势在于:

  1. 无侵入性:不需要修改App、不需要开启特殊权限(除了屏幕截图和模拟点击的权限,这类权限通常更通用)。
  2. 普适性强:理论上能“看到”就能操作,无论是原生控件、WebView、Flutter界面还是游戏画面,一视同仁。
  3. 更贴近人类:人类操作手机就是靠“看”和“点”,这个方案模仿了最自然的交互方式。

当然,挑战也显而易见:视觉识别的准确性、动态内容(如视频、动画)的干扰、屏幕尺寸和分辨率的变化等。项目通过结合大语言模型的强大语义理解能力和计算机视觉技术来应对这些挑战。

2.2 双模型协作的工作流拆解

AppAgent并非单一模型包打天下,它巧妙地设计了一个双模型协作的流水线:

  1. 视觉感知模型:负责解析屏幕截图。它需要识别出界面中的各个交互元素(如按钮、文本框、开关)及其位置(边界框)。项目初期可能使用专门的物体检测模型(如YOLO系列),但更先进的思路是直接利用具备视觉能力的大语言模型(VL-LLM),如GPT-4V、Qwen-VL等,通过提示词工程让其输出结构化的元素描述。例如,模型会输出:[元素1: 类型=按钮,文本=‘登录’,坐标=(x1,y1,x2,y2)]

  2. 决策与规划大语言模型:这是智能体的“大脑”。它接收来自视觉感知模型的界面元素列表,以及用户下达的指令(如“在微信中搜索并添加好友‘张三’”)。LLM需要理解任务,结合界面上下文,规划出下一步的最优动作。动作是原子化的,比如CLICK [坐标],INPUT [文本] [坐标],SWIPE [起始坐标] [结束坐标],BACK,HOME等。

  3. 执行器:负责将LLM规划出的原子动作,转化为设备可以执行的命令。这通常通过ADB(Android Debug Bridge) for Android 或 WebDriverAgent for iOS 来实现。例如,CLICK (500, 800)会被翻译成adb shell input tap 500 800

这个工作流的核心循环是:截图 -> 视觉解析 -> LLM决策 -> 执行动作 -> 等待新界面稳定 -> 再次截图……如此循环,直到任务完成或失败。

2.3 关键创新:基于经验的学习与记忆

如果每次操作都从头开始解析和决策,效率低下且容易出错。AppAgent引入了一个关键机制:经验记忆库

  • 什么是经验?一次成功的任务执行路径(一系列<界面状态,动作,结果界面状态>的序列)被抽象成一条“经验”。经验中包含了关键界面元素的视觉特征(或描述)和与之关联的成功动作。
  • 如何工作?当智能体再次遇到一个“看起来相似”的界面时,它会优先从记忆库中检索匹配的经验,直接复用历史上成功的动作,而不是每次都让LLM重新思考。这大大提升了执行效率和稳定性。
  • 如何判断“相似”?这里涉及到视觉相似度计算或语义相似度计算。简单的可以用界面元素的布局和文本特征的哈希值,复杂的可以嵌入基于CLIP等模型的向量相似度检索。

这个机制让AppAgent具备了“学习”能力,越常用的App,它操作起来越熟练、越快速,模拟了人类用户的学习曲线。

3. 实操部署与环境搭建指南

要让AppAgent跑起来,你需要准备三个部分:模型服务、运行环境、目标设备。

3.1 模型服务准备

AppAgent依赖大语言模型,你需要一个LLM的API。项目通常兼容OpenAI API格式的接口。

  • 方案一(推荐,成本可控):使用国内可访问的、支持视觉能力的开源大模型API服务。例如,DeepSeek-V2、通义千问Qwen-VL-Max等提供的API服务。你需要注册相应平台,获取API Key。确保所选模型支持视觉输入(图片理解)和足够长的上下文。
  • 方案二(本地部署,隐私性好):在本地或自有服务器部署开源VL-LLM,如Qwen-VL-Chat、LLaVA等,并搭建兼容OpenAI API格式的代理服务(如使用FastChatvLLM框架)。这对硬件(尤其是GPU显存)要求较高。
  • 配置要点:在AppAgent的配置文件中(通常是config.yaml.env文件),你需要设置:
    llm: api_base: "https://api.deepseek.com" # 你的API服务地址 api_key: "your-api-key-here" model: "deepseek-vl" # 指定模型名称

3.2 Python运行环境搭建

AppAgent是一个Python项目,建议使用Conda或venv创建独立的虚拟环境。

  1. 克隆代码

    git clone https://github.com/TencentQQGYLab/AppAgent.git cd AppAgent
  2. 创建并激活虚拟环境

    conda create -n appagent python=3.10 conda activate appagent # 或使用 venv # python -m venv venv # source venv/bin/activate # Linux/Mac # venv\Scripts\activate # Windows
  3. 安装依赖

    pip install -r requirements.txt

    这里有个常见坑点:项目依赖可能包含一些与系统环境冲突的包(如特定版本的opencv-pythontorch)。如果安装失败,尝试先安装PyTorch(根据你的CUDA版本),再安装其他依赖。

    # 例如,在CUDA 11.8环境下 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install -r requirements.txt

3.3 移动设备连接与配置

这是与真实世界交互的关键一步。

  • 对于Android设备

    1. 在手机上开启“开发者选项”和“USB调试”。
    2. 通过USB连接电脑,在命令行执行adb devices,确认设备已连接。
    3. AppAgent需要通过ADB发送点击命令和获取截图。确保adb命令在终端中可用。通常安装Android SDK Platform-Tools即可。
    4. 权限注意:部分操作(如跨App)可能需要额外的adb权限授权,在手机弹出提示时点击允许。
  • 对于iOS设备

    1. 配置复杂得多。通常需要一台macOS电脑,并安装Xcode。
    2. 需要在iOS设备上安装并信任由Xcode构建的WebDriverAgentRunner应用,该应用提供了远程控制接口。
    3. 通过iproxy将设备端口转发到本地,供AppAgent连接。
    4. 实操心得:iOS的自动化配置一直是痛点,环境搭建成功率较低,且容易因系统升级而失效。对于普通开发者或研究者,初期强烈建议使用Android设备进行实验,生态更开放,工具链更成熟。
  • 模拟器方案:如果没有实体手机,可以使用Android模拟器(如Android Studio自带的AVD)或iOS模拟器。连接方式与真机类似,通过ADB连接模拟器即可。这对于开发和调试非常方便。

3.4 配置文件详解与初始化

环境搭好后,需要根据你的具体情况进行配置。

  1. 找到配置文件模板:项目根目录下通常有config.yaml.example或类似文件。复制一份并重命名为config.yaml
  2. 核心配置项
    device: platform: "android" # 或 "ios" adb_host: "127.0.0.1" adb_port: 5037 # 默认ADB端口 # 对于iOS,这里可能是wda的配置 llm: # 如前所述,配置你的LLM API storage: experience_dir: "./experiences" # 经验库存储路径 screenshot_dir: "./screenshots" # 截图缓存路径
  3. 运行初始化脚本:很多项目会提供一个setup.py或初始化脚本,用于检查环境、创建必要目录。执行它以确保一切就绪。
    python scripts/setup.py

4. 核心功能模块深度解析与使用

4.1 任务驱动执行:从指令到动作链

这是AppAgent最常用的模式。你给它一个自然语言指令,它尝试完成。

# 示例:假设有一个封装好的Agent类 from app_agent import AppAgent agent = AppAgent(config_path="./config.yaml") # 连接到设备 agent.connect_device(device_id="你的设备ID") # 下达指令 task_description = "打开微信,进入搜索页,查找公众号‘AI科技评论’并关注。" success, trajectory = agent.execute_task(task_description) if success: print("任务成功完成!") # trajectory 记录了整个执行过程的轨迹,可用于分析或存入经验库 else: print("任务执行失败。") print(agent.get_last_error())

内部运作流程详解

  1. 指令解析:LLM首先理解你的指令,并将其分解为子目标序列。例如:[目标1: 启动微信, 目标2: 找到并点击搜索框, 目标3: 输入关键词...]。
  2. 环境感知:Agent获取当前屏幕截图,调用视觉感知模型,得到当前界面的结构化描述。
  3. 动作规划:LLM结合当前界面描述和当前子目标,决定下一个原子动作是什么。例如,当前界面是桌面,子目标是“启动微信”,LLM可能规划动作CLICK [微信图标坐标]
  4. 动作执行:执行器将动作转化为ADB命令并发送。
  5. 状态验证与循环:执行后,Agent会等待片刻(如2秒)让界面稳定,然后再次截图。判断新界面是否意味着子目标达成(例如,是否进入了微信主界面)。然后基于新状态,规划下一个动作,直至当前子目标完成,再推进到下一个子目标。
  6. 异常处理:如果某个动作执行后长时间未进入预期状态,或LLM规划出了不可能的动作(如点击一个不存在的坐标),Agent会进入异常处理流程,可能尝试回退、重试或最终报错。

4.2 自主探索与经验收集

除了执行具体任务,AppAgent还可以被置于“探索模式”。在这种模式下,你给它一个App和一段时间,让它自己随机点击、滑动,观察结果,并自动将有意义的交互序列(如成功进入新页面、成功完成一个表单提交)作为“经验”保存下来。

python scripts/explore.py --package-name com.tencent.mm --duration 300

这个命令会让Agent在微信(包名com.tencent.mm)里自主探索5分钟。

  • 探索策略:通常不是完全随机,而是基于一些启发式规则,例如优先点击识别出的按钮、尝试在输入框输入测试文本、尝试滑动列表等。
  • 经验过滤:不是所有操作序列都值得保存。系统会通过一些规则(如是否跳转到了新的Activity/页面、是否出现了新的UI元素集合)来判断一次交互是否“有意义”,从而决定是否将其存入经验库。
  • 用途:这种方式可以快速为一个新的App构建初始的经验库,为后续的任务执行提供先验知识,减少LLM的规划负担和出错率。

4.3 经验记忆库的管理与应用

经验库是AppAgent性能提升的核心。它的管理通常涉及以下操作:

  • 存储格式:每条经验可能是一个JSON文件,包含:
    { "app_package": "com.tencent.mm", "state_before": {"screenshot_hash": "abc123", "elements": [...]}, "action": {"type": "CLICK", "coordinates": [500, 800]}, "state_after": {"screenshot_hash": "def456", "elements": [...]}, "description": "点击底部导航栏的‘发现’按钮" }
  • 检索过程:当遇到新界面时,系统计算当前界面的特征(如所有元素的文本和位置哈希),然后在经验库中查找具有相似state_before特征的记录。找到后,直接执行记录中的action
  • 经验管理命令行工具:项目可能会提供工具来查看、清理或合并经验库。
    # 列出所有为微信收集的经验 python scripts/experience_manager.py list --app com.tencent.mm # 删除无效或过时的经验(例如,对应界面已改版) python scripts/experience_manager.py cleanup --app com.tencent.mm

注意事项:经验库的有效性严重依赖于App界面的稳定性。如果App进行了一次大的UI改版,旧的经验可能全部失效,甚至导致错误操作。因此,需要定期更新或为经验引入版本管理机制(如关联App版本号)。

5. 实战案例:让AppAgent自动完成一个复合任务

我们以“在哔哩哔哩App中搜索某个UP主的最新视频并播放”为例,拆解整个过程,并观察可能遇到的问题。

任务指令: “在哔哩哔哩里搜索‘科技美学’,找到他最新发布的视频,点开播放。”

5.1 任务分解与预想路径

一个熟练的用户会这样操作:

  1. 在主屏或应用列表找到并打开B站App。
  2. 在首页找到搜索入口(通常是一个放大镜图标)并点击。
  3. 在搜索框输入“科技美学”。
  4. 在搜索结果页,切换到“用户”标签,找到对应的UP主并进入其个人主页。
  5. 在个人主页的“视频”列表中,按发布时间排序,点击第一个视频卡片。
  6. 进入播放页面。

对于AppAgent,它需要将这一系列步骤转化为数十个甚至上百个原子动作(点击、输入、滑动、等待)。

5.2 执行过程关键节点分析

  1. 启动与首页识别:Agent连接设备,截图。LLM识别出这是“桌面”,规划动作CLICK [哔哩哔哩图标坐标]。执行后,等待并截图。新截图被识别为“哔哩哔哩首页”。第一个难点:不同手机、不同主题下,B站图标位置不同。如果经验库里没有对应桌面的经验,LLM需要从零识别图标,可能失败。

  2. 定位搜索框:在首页,LLM需要从众多元素(推荐流、顶部Tab、底部导航栏)中找到搜索图标。这依赖于视觉感知模型的准确性。如果感知模型把某个广告图误识别为按钮,可能导致误点。

  3. 输入搜索词:点击搜索框后,界面应弹出键盘和输入光标。LLM规划INPUT [“科技美学”] [输入框坐标]第二个难点:输入法弹出可能会遮挡部分界面,影响后续步骤的视觉识别。好的策略是输入完成后,发送一个“回车”或点击“搜索”按钮的动作,并等待键盘收起。

  4. 筛选结果并进入主页:搜索结果页信息密集。LLM需要理解“切换到‘用户’标签”这个指令。这要求它不仅能识别“用户”这个文本元素,还要理解“标签”的交互模式(点击切换)。然后,在用户列表中识别出目标UP主的头像和名称。第三个难点:列表是动态的,可能需要滑动才能找到目标。LLM需要规划SWIPE动作,并在每次滑动后重新评估界面。

  5. 识别最新视频:进入UP主主页后,需要定位到“视频”列表,并理解“最新发布”的含义。如果列表默认不是按时间排序,可能还需要点击排序筛选器。这需要LLM对常见的UI模式有很强的先验知识。

  6. 点击播放:找到目标视频卡片后,点击。进入播放页即视为任务成功。

5.3 可能遇到的典型问题与现场调试

  • 问题一:找不到元素。现象:LLM反复输出“未找到可执行该操作的UI元素”。

    • 排查:首先检查截图是否成功获取且清晰。然后检查视觉感知模型的输出,看它是否漏掉了关键元素。可以临时增加日志,将感知模型输出的元素列表打印出来。
    • 解决:可能是感知模型能力不足,尝试更换更强大的VL-LLM。也可能是界面过于复杂,可以尝试在配置中调高感知模型对元素检测的置信度阈值,或提示LLM从更宏观的角度描述界面(如“顶部有一个搜索栏”),再规划下一步动作(如“请先找到顶部的搜索栏”)。
  • 问题二:动作执行无效。现象:日志显示发送了点击命令,但手机界面无反应。

    • 排查:确认ADB连接是否正常 (adb devices)。确认点击坐标是否在屏幕范围内,且坐标计算是否正确(有些模型返回的是归一化坐标,需要乘以屏幕分辨率)。直接手动执行ADB命令adb shell input tap x y测试。
    • 解决:如果是坐标问题,检查坐标转换代码。如果是ADB问题,尝试重启ADB服务 (adb kill-server && adb start-server)。对于iOS,检查WebDriverAgent服务是否正常运行。
  • 问题三:陷入循环。现象:Agent在两个界面间来回切换,或重复执行同一无效操作。

    • 排查:这通常是状态判断逻辑有缺陷。Agent执行动作后,新界面与旧界面在特征上区分度不够,导致LLM认为目标未达成,又规划了相同的动作。
    • 解决:增强状态判断的鲁棒性。不仅仅依赖截图哈希,可以结合页面Activity名称(Android)、关键元素的存在性等综合判断。或者在规划时引入“禁止重复最近N个动作”的规则。

6. 性能优化与高级技巧

要让AppAgent更稳定、更高效,除了调优模型,还可以在工程和策略层面下功夫。

6.1 视觉感知的优化策略

  • 元素描述增强:不要只让感知模型输出坐标和类型。提示词工程可以要求它输出更丰富的语义信息,例如一个按钮的“可能功能”(提交、取消、导航)、一个输入框的“预期输入类型”(文本、数字、密码)。这些信息能极大帮助LLM进行决策。
  • 分层感知:先进行粗粒度感知(识别界面主要区域,如导航栏、内容区、底栏),再进行区域内的细粒度元素识别。这可以减少计算量,提高识别精度。
  • 缓存与差分更新:连续截图间大部分区域是相同的。可以只对发生变化或可能包含交互元素的区域进行识别,大幅提升感知速度。

6.2 大语言模型提示词工程

给LLM的提示词(Prompt)直接决定了规划质量。一个优秀的任务规划Prompt应包含:

  1. 角色定义:明确告诉LLM它现在是一个手机操作助手。
  2. 能力与限制:说明它可以执行哪些原子动作(CLICK, INPUT等),以及坐标、文本如何表示。
  3. 当前状态:清晰描述当前界面(由视觉感知模块提供)。
  4. 任务历史:提供之前几步做了什么,避免重复或矛盾。
  5. 输出格式:严格要求LLM以指定的JSON或文本格式输出下一个动作,便于程序解析。
  6. 失败处理指引:指示LLM在无法继续时应该输出什么(如{"action": "FAIL", "reason": "..."})。

6.3 经验库的维护与泛化

  • 定期更新:随着App更新,建立定期重新探索的机制,淘汰旧经验。
  • 经验泛化:一条“在微信发现页点击‘朋友圈’”的经验,其state_before特征可能非常具体(包含特定用户的头像和昵称)。我们可以尝试对经验进行抽象,例如,忽略头像和昵称的具体像素特征,只保留“底部导航栏有‘发现’标签,其子区域有‘朋友圈’文本”这样的抽象描述。这样,即使界面细节微调,只要这个抽象模式匹配,经验依然可用。
  • 经验融合:当从不同设备、不同分辨率收集到同一操作的经验时,可以将坐标归一化后合并,形成更鲁棒的经验。

6.4 执行稳定性的增强

  • 智能等待:执行点击后,不要固定等待2秒。可以设置一个动态等待策略,例如,持续监控屏幕变化,直到连续1秒内界面无显著变化,才认为已稳定。
  • 动作后验证:执行一个重要动作(如点击“登录”按钮)后,除了等待,还可以主动验证预期结果是否出现(例如,是否出现了“登录成功”的Toast或跳转到了新页面)。如果没有,则触发重试或异常处理。
  • 超时与重试机制:为每个子步骤设置合理的超时时间。超时后,可以尝试备选方案(如从经验库中找另一个相似经验的动作),或回退一步。

7. 典型问题排查与解决方案速查表

在实际操作中,你会反复遇到一些共性问题。下表整理了常见症状、可能原因和解决思路。

问题症状可能原因排查步骤与解决方案
启动失败,无法连接设备1. ADB未安装或未在PATH中。
2. 设备未授权USB调试。
3. 端口被占用或ADB服务未启动。
1. 终端输入adb version检查。未安装则安装Android Platform-Tools。
2. 检查手机是否弹出“允许USB调试”提示,点击允许。执行adb devices查看设备状态是否为device
3. 执行adb kill-server && adb start-server重启服务。
截图全黑或花屏1. 屏幕保护或锁屏。
2. ADB截图命令权限问题。
3. 某些安全App禁止截图。
1. 确保设备屏幕常亮且已解锁。
2. 尝试手动命令adb exec-out screencap -p > screen.png测试。
3. 关闭某些安全软件或录屏限制(如游戏模式)。
LLM返回“无法理解”或规划出荒谬动作1. API Key或模型配置错误。
2. 提示词(Prompt)设计不佳。
3. 视觉感知模块输出质量太差,导致LLM获得错误上下文。
1. 检查配置文件中的API地址和Key,用简单文本对话测试API连通性。
2. 审查并优化发送给LLM的Prompt,确保指令清晰、格式明确。
3. 单独测试视觉感知模块,查看其输出的元素列表是否准确。可考虑更换或微调视觉模型。
点击坐标错误,点不到元素1. 坐标计算逻辑错误(如图像分辨率与设备分辨率不匹配)。
2. 视觉模型返回的坐标框不准。
3. 屏幕方向发生变化(横竖屏切换)。
1. 核对代码中坐标转换部分。确保截图分辨率与用于计算的基准分辨率一致。
2. 在截图上绘制出模型识别的边界框,人工验证准确性。可能需要调整模型置信度阈值或使用后处理算法。
3. 在执行动作前,检查当前屏幕方向,并做相应坐标转换。
任务陷入死循环1. 状态判断逻辑缺陷,无法区分任务成功/失败。
2. LLM在有限信息下规划能力达到极限。
3. 经验库中存在错误或过时的经验。
1. 增强状态判断,引入更多判断维度(如页面关键文本、Activity名)。
2. 在Prompt中增加更明确的任务分解指导和历史动作记忆,防止重复。
3. 清理或禁用当前任务相关的经验,让LLM重新规划。
执行速度非常慢1. LLM API响应慢。
2. 视觉模型推理耗时过长。
3. 等待策略过于保守。
1. 考虑更换响应更快的API服务,或使用本地部署的小模型进行简单决策。
2. 优化视觉模型(如量化、使用更轻量级模型),或采用缓存、差分更新策略。
3. 调整动态等待的参数,减少不必要的等待时间。

8. 项目局限性与未来演进思考

AppAgent展示了一条可行的道路,但距离真正稳定、通用的智能体还有距离。

  • 对动态内容的无力:对于视频流、游戏动画等高度动态的界面,基于静态截图的分析方法几乎失效。可能需要引入视频理解或与游戏引擎交互的专门方案。
  • 长链条任务的可靠性:任务步骤越多,出错概率指数级增加。任何一个环节的微小偏差都可能导致后续全盘错误。需要更强大的错误恢复和重规划机制。
  • “视觉歧义”问题:两个功能完全不同的按钮,可能看起来很像(例如,不同App的“设置”图标)。纯视觉方案难以区分,需要结合更多的上下文语义(如当前是哪个App,在做什么任务)。
  • 隐私与安全:持续截图和分析屏幕内容涉及高度隐私。所有处理应在用户可控的设备或环境中进行,数据不应无故上传。

未来的演进可能会集中在以下几个方向:

  1. 多模态融合:结合视觉、可访问性树(如果可用)、甚至网络请求监控,获得更全面、鲁棒的界面理解。
  2. 强化学习:让智能体通过与环境的不断试错来自主优化策略,而不仅仅依赖LLM的零样本或少样本规划。
  3. 分层抽象:建立一套关于移动端GUI交互的“常识库”或“技能库”,例如“登录流程”、“列表搜索”、“表单填写”等通用模式,让智能体可以快速调用,而不是每次都从头推理。
  4. 云端协同与知识共享:在充分保护隐私的前提下,允许经过脱敏处理的成功经验在用户间安全地共享,加速对新App的学习。

这个项目最大的价值在于它提供了一个可运行、可研究的原型,让开发者可以亲手实验大模型与真实世界交互的挑战与乐趣。无论是想深入智能体技术,还是仅仅想做一个强大的手机自动化工具,它都是一个绝佳的起点。

http://www.jsqmd.com/news/706276/

相关文章:

  • 深度神经网络训练五大核心难题与实战解决方案
  • Numba-SciPy:打破Python高性能计算壁垒,无缝集成科学计算库
  • NVIDIA GDN:云游戏与图形渲染技术解析
  • OpenOmniBot:端侧AI智能体实现Android自动化操作全解析
  • 终极跨平台MSG邮件查看器:5个理由让你告别Outlook依赖
  • 暗剑出鞘:3亿苹果设备沦陷背后,移动安全防线的全面崩塌
  • Windows蓝牙图表突然不见了怎么办
  • RISC-V架构MIPS P8700处理器在汽车电子的应用与优化
  • 基于MCP协议实现AI语音与文本指令操控AmoCRM
  • 2026年质量优的回收瓶洗瓶机TOP名录:啤酒瓶洗瓶机/毛刷式洗瓶机/玻璃瓶洗瓶机/组培瓶洗瓶机/自动化清洗瓶机/选择指南 - 优质品牌商家
  • 考场信号屏蔽器分布式信号屏蔽器手机信号屏蔽器
  • Windows系统函数操作码提取与应用:构建自动化签名数据库
  • MCP 2026多租户隔离配置实战:5步完成网络/存储/计算三域硬隔离,规避92.6%的跨租户数据泄露事件
  • FedAvg算法实战避坑指南:数据非独立同分布(Non-IID)到底有多坑?
  • Arm C1-Ultra SVE PMU事件架构与性能优化指南
  • CentOS 7 安装 jprofiler_linux64_7_2_3.tar.gz 详细步骤(解压、配置、远程连接)
  • Copilot Next 自动化流程突然中断?微软内部调试日志曝光的6个未文档化限制条件(附绕过补丁脚本)
  • Chord基于Qwen2.5-VL的视觉定位服务CI/CD:GitOps自动化更新流程
  • 为什么92%的AI工程师还没升级Docker AI Toolkit 2026?揭秘其动态算子编译器(DOCC)在x86/ARM/NPU三端的汇编级差异(附GDB调试截图)
  • 从‘小乌龟’到命令行:一个老派Java程序员迁移到Git的心路历程与配置清单
  • 别再手动写Prompt了!用这个ChatGPT万能模板,5分钟搞定小红书爆款大师/猫娘/起名专家
  • 深入解析Amazon ECS Agent:容器编排核心组件的工作原理与实战指南
  • 好的领导就是,能扛事不推责
  • AI漏洞核武器时代:Anthropic Mythos如何改写网络安全攻防规则
  • 2026Q2尖底纸袋机技术分享:全自动纸袋机/卷筒纸袋机/圆绳内折纸袋机/扁绳内折纸袋机/手提纸袋设备/方底纸袋机/选择指南 - 优质品牌商家
  • AI供稿2.0正式内测,赚的更多,也更简单
  • Ollama部署embeddinggemma-300m:支持中文/英文/日文等100+语言
  • 企业级Dev Containers标准化配置方案(已落地金融/云原生团队),含安全加固+CI/CD兼容+多架构支持
  • R语言集成学习实战:从基础到高级应用
  • Agentic框架:构建可编排AI工作流的开源智能体平台