1-Click: Make哔哩哔哩Easy
Attention is All you Need
摘要
本视频作者深入分析了豆包手机的内部工作机制,揭示了其AI助手如何读取屏幕、捕捉数据和模拟操作的真实流程。作者发现豆包手机利用底层的系统权限,直接从GPU缓冲区获取原始图像数据并注入输入事件,而非依赖截屏或无障碍服务。此外,手机还在一个独立的虚拟屏幕中执行后台任务,并将图像低频发送至云端进行推理,云端则返回操作指令。作者进一步探讨了AI Agent对移动互联网注意力经济的深远影响,并将其与科技革命中先进生产力与落后生产关系的矛盾进行对比。
亮点
- 📱 作者通过深度拆解豆包手机,掌握了其AI助手的核心工作原理,包括服务分工、数据抓取和模型推理路径 。
- 🧠
aikernel被作者推断为手机端侧AI的核心进程,内存占用特性(Native堆高达160M)表明它可能是一个本地AI推理框架 。 - 🔗
aikernel异常高的Binder数量,证明有大量外部进程通过RPC调用它,进一步印证了其系统级服务的角色 。 - 🎮
autoaction是豆包手机AI自动操作的关键APK,其权限允许直接从GPU渲染的图形缓冲区读取数据,而不是通过上层截图API 。 - 🚫 豆包手机的AI能够捕获受保护的视频输出,这意味着它可以绕过银行App等应用的反截图/录屏限制 。
- 👆 AI通过
INJECT_EVENTS权限直接注入输入事件来模拟屏幕点击,此权限高于无障碍API,且为系统签名 。 - ↔️ 豆包手机在执行自动操作时,利用一个与物理屏幕分辨率相同的“无头”虚拟屏幕在后台运行,且拥有独立的焦点,不影响用户在前台的操作 。
- 💡 虚拟屏幕的画面由GPU合成后,其缓冲区信息直接被
autoaction消费,再次证实AI无需通过截图API即可获取屏幕内容 。 - 🤖 作者分析
autoaction的APK代码,发现其通过调用系统隐藏APIinjectInputEvent来控制手机,并通过adb日志验证了注入事件的存在 。 - 🔓 豆包手机的AI RPA工具区别于其他同类工具的关键在于两个底层系统权限:直接从缓冲区获取原始Bitmap和直接注入事件控制手机 。
- 📡 豆包手机在自动化操作时,会频繁地(每3到5秒)与
obriccloud.com服务器通信,发送约250K的单帧图片进行推理 。 - 📝 云端在接收图片后,会返回约1K的数据,内容是告诉手机下一步要执行的7种指令之一,如打开应用、点击、输入、滑动等 。
- ☁️ 整个自动化Agent的推理和路径规划主要在云端完成,云端思考后将执行步骤指令发回本地执行,本地任务很轻 。
- 💰 作者认为AI Agent的出现将动摇移动互联网的底层商业逻辑——注意力经济,使“注意力”这一硬通货的重要性降低 。
- ⚔️ 腾讯、阿里、美团等平台对豆包手机的围追堵截是先进生产力(AI Agent)与落后生产关系(注意力经济)之间的矛盾 。
- 🚨 作者提醒,打破旧秩序后,新的AI寡头可能会形成更中心化、更强势的权力,且马太效应更明显 。
#豆包手机 #AIAgent #注意力经济 #自动化 #隐私
思考
- 豆包手机的AI通过创建一个“无头”虚拟屏幕来实现后台独立操作。这个虚拟屏幕与物理屏幕分辨率相同,但亮度始终为0,且拥有自己独立的焦点,因此AI在虚拟屏幕上进行操作时,不会干扰用户在物理屏幕上的前台活动。
- 在自动化操作过程中,豆包手机会以低频(每3到5秒一次)向云端服务器发送单帧的图片数据,每张图片大小约250K。这些图片是AI从GPU渲染缓冲区直接获取的屏幕画面。云端接收图片后进行推理,并返回约1K的操作指令给手机。
术语解释
- Java堆 (Dalvik): 安卓虚拟机(Dalvik或ART)中用于运行Java代码的内存区域。通常,日常安卓应用的大部分内存消耗体现在Java堆上。
- Native堆: 安卓虚拟机之外的内存区域,直接在CPU上运行C或C++代码。对于底层系统服务或高性能计算(如AI推理),Native堆的占用通常较高。
- READ_FRAME_BUFFER: 一种比传统截图接口
media.projection更底层的安卓权限,允许直接从GPU渲染的图形缓冲区获取原始Bitmap数据,无需经过上层截图API。 - INJECT_EVENTS: 安卓系统权限,允许直接向系统注入输入事件(如点击、滑动),从而模拟用户操作。这种方式比无障碍服务API层级更高,通常需要系统签名才能使用。
- 虚拟屏幕 (Virtual Display): 一种“无头”的屏幕,没有实际的显示输出,但可以独立运行应用程序并渲染内容。豆包手机利用虚拟屏幕使AI能在后台执行任务,同时不干扰用户物理屏幕上的操作。