刚刚看到一个很有意思的方案:有人买了一台 48GB 内存的 MacBook Pro,利用虚拟机、模拟器和远程控制工具,让 AI Agent 在一台电脑上完成 Windows、macOS、Linux、Android、iOS 五个平台的软件开发。
这个思路我觉得很值得借鉴,不过学习研究了一下,发现还是有一些可以优化提升的地方。
我个人的想法是,没必要强求五个系统全部运行在一台 Mac 上,真正重要的是让 AI Agent 能够统一管理不同平台的开发、编译和测试环境。
一、整体方案
先说优化后的技术选型。
| 平台 | 开发环境 | Agent 控制方式 |
|---|---|---|
| macOS | Mac 原生环境 | Shell、原生开发工具 |
| iOS | Xcode + iOS Simulator | xcodebuild、simctl |
| Windows | VMware Fusion / 独立 Windows PC | PowerShell、RDP + agent-rdp |
| Android | Android Studio + ARM64 模拟器 | ADB、Gradle |
| Linux | OrbStack / VMware | SSH、Shell、Docker |
AI Agent 可以选择 Codex、Claude Code 等具备工具调用能力的编程 Agent。
代码统一用 Git 管理,不同平台使用各自的原生构建工具。Agent 负责调度任务,完成代码修改、编译、测试和错误修复。
这样就相当于搭建了一套个人版的跨平台 AI 自动化开发环境。
二、Mac 负责 macOS 和 iOS 开发
这部分没什么争议,也是 Mac 最大的优势。
macOS 软件直接使用 Xcode 或对应的开发工具,iOS 则使用 Xcode + iOS Simulator。
AI Agent 不必每次都操作图形界面,大部分工作可以直接通过命令行完成。
比如:
-
xcodebuild:编译、构建和运行测试。 -
xcrun simctl:管理 iOS 模拟器、安装 App、启动应用。 -
Swift Package Manager:构建和测试 Swift 项目。
如果涉及界面交互测试,可以配合 XCTest、XCUITest 等官方测试框架。
这里我更推荐优先使用官方命令行和测试工具,而不是让 AI 不停地截图、识别、点击。
原因很简单:速度更快、结果更稳定,也更容易定位错误。
三、Windows:PowerShell + agent-rdp,才是比较有意思的部分
这是整套方案中我认为最值得研究的地方。
如果使用 Apple Silicon Mac,可以通过 VMware Fusion 运行 Windows 11 ARM 虚拟机。
但需要注意,Windows ARM 虽然能够模拟运行很多 x86/x64 软件,但不代表完全兼容传统 Windows。特别是一些驱动、底层系统工具、特殊组件,还是可能存在兼容性问题。
所以我更倾向于两种方式:
方案 A:Windows ARM 虚拟机
适合普通 Windows 应用开发、界面调试和轻量测试。
方案 B:独立 Windows x64 电脑
适合 WPF、Win32、安装程序、系统管理工具,以及需要验证传统 x86/x64 Windows 兼容性的项目。
不管哪种方式,都可以引入一个挺有意思的开源工具:
agent-rdp
GitHub:
RDP 是微软的远程桌面协议,平时我们用它连接 Windows 电脑,查看桌面、操作鼠标和键盘。
而 agent-rdp 可以理解为:给 AI Agent 配备了一套远程操作 Windows 图形界面的能力。
它不仅可以获取屏幕截图、模拟鼠标和键盘,还支持借助 Windows UI Automation 读取和操作界面控件。
举个例子:
让 Codex 编写一个 Windows 桌面程序,编译完成后,通过 agent-rdp 连接 Windows,启动软件、点击按钮、填写表单、检查界面是否正常。
发现问题后,Agent 再修改代码、重新编译、再次测试。
整个过程就形成了一个闭环:
写代码 → 编译 → 启动软件 → GUI 测试 → 发现问题 → 修复代码。
当然,agent-rdp 并不是万能的。它需要正确配置 RDP 连接、Windows 远程桌面权限,以及 Agent 的工具调用环境。
我的建议是,Windows 开发仍然以 PowerShell、dotnet CLI、MSBuild 等命令行工具为主,只有需要操作 GUI 时,再调用 agent-rdp。
这样远比所有操作都依赖截图和鼠标点击更加高效。
四、Android:ARM64 模拟器 + ADB
Android 在 Apple Silicon Mac 上的开发体验也不错。
使用 Android Studio,搭配 arm64-v8a 系统镜像,可以利用硬件虚拟化加速运行模拟器,避免传统跨架构模拟带来的大量性能损耗。
而且 Android 的自动化工具非常成熟。
例如:
# 查看连接的设备
adb devices
# 安装 APK
adb install app.apk
# 启动应用
adb shell am start -n com.example.app/.MainActivity
# 获取屏幕截图
adb exec-out screencap -p > screen.png
Agent 可以通过 ADB 完成安装、启动、日志收集和基础操作。
如果需要复杂的 UI 自动化,还可以使用 UI Automator、Espresso 等测试框架。
这部分其实不需要再额外折腾一套类似 agent-rdp 的工具。
需要注意的是,模拟器不能完全替代真实 Android 手机,尤其涉及蓝牙、摄像头、厂商 ROM 和性能测试时,最好再配合实机。
五、Linux:优先考虑 OrbStack
Linux 这部分,我更推荐 OrbStack,而不是每次都启动一台完整的 VMware 虚拟机。
官网:
OrbStack 是 macOS 上的一款轻量化容器和 Linux 虚拟机工具,可以运行 Docker 容器,也可以创建 Linux 环境。
如果平时主要开发 Web 应用、部署 Nginx、PHP、MySQL、Redis 等服务,使用 OrbStack 会比较方便。
例如,可以让 Agent 直接通过 Shell 或 SSH 进入 Linux 环境,完成软件安装、代码部署、服务重启、日志排查和自动化测试。
其实 Linux 也是最适合 AI Agent 操作的系统之一,因为大量管理工作都能通过命令行完成。
只有涉及内核模块、特殊网络配置、驱动或完整桌面环境时,我才会考虑使用 VMware 等完整虚拟机。
六、进一步优化:不要只依赖图形界面
这也是我认为整套方案最关键的一点。
Agent 能通过鼠标键盘操作电脑,不代表这就是最好的自动化方式。
能用 API 的优先用 API,能用 CLI 的优先用 CLI,需要操作 GUI 时才使用远程桌面或视觉自动化。
例如:
-
Windows 编译:
dotnet build、MSBuild。 -
iOS 编译:
xcodebuild。 -
Android 编译:Gradle。
-
Linux 部署:SSH、Shell、Docker。
-
Windows GUI 测试:agent-rdp、UI Automation。
-
iOS GUI 测试:XCUITest。
-
Android GUI 测试:UI Automator、Espresso。
再进一步,可以给不同平台准备统一的构建和测试脚本,让 Agent 只需要调用固定命令,就能自动执行任务。
项目代码放在 Git 仓库,不同环境分别拉取代码,构建结果、测试日志统一保存。
这样 Agent 不必记住每个软件的操作步骤,也不需要频繁在不同桌面之间切换。
七、硬件需要多高配置?
原方案使用的是 48GB 内存、1TB SSD 的 M5 Pro MacBook Pro。
如果确实要同时运行 Windows 虚拟机、Android 模拟器、Linux 环境、Xcode 和多个 IDE,这样的配置当然很舒服。
不过对大多数个人开发者来说,我觉得完全没必要一开始就追求顶配。
如果主要使用命令行 Agent,开发网站、轻量桌面软件和移动 App,24GB 内存就可以作为起点,32GB 会更从容。
如果需要长期同时运行多个虚拟机、模拟器以及大型 IDE,48GB 内存才更有意义。
还有一个更灵活的方案:Mac 专门负责 macOS、iOS 和 Android 开发,Windows 交给局域网内的独立 x64 电脑,Linux 则交给 OrbStack 或远程 VPS。
通过 SSH、RDP、ADB 等协议,Agent 一样可以统一调度。
不一定所有环境都要挤在同一台电脑里。
最后
我觉得 AI Agent 时代的软件开发,正在从过去单纯的“AI 帮忙写代码”,逐渐转向“AI 自己编译、运行、测试和修复软件”。
这个过程中,操作系统其实只是不同的执行环境。
真正值得研究的,是怎么让 Agent 通过标准化工具,可靠地控制这些环境。
Mac 确实是一台非常适合跨平台开发的机器,特别是它拥有 Xcode 这一不可替代的优势。
但如果已经有 Windows 电脑和 VPS,完全可以充分利用现有设备,不必为了凑齐五种系统而购买一台高配 Mac。
我更看好的是:一台开发主机 + 多个可远程控制的运行环境 + 一个能够统一调度的 AI Agent。
这可能比单纯追求一台电脑运行五种操作系统,更实用,也更容易扩展。
相关工具:
agent-rdp:
VMware Fusion:
OrbStack:
Android Studio:
Xcode: