从“全能主力机”到“职责分离”:一次个人设备架构重构

背景:我曾经想让一台机器解决所有问题

很长一段时间里,我默认认为:性能最强的机器,就应该成为主力机器。

于是我的游戏本开始承担越来越多职责:

  • Windows 日常
  • Linux 开发
  • SSH
  • 远程工作流
  • CUDA
  • AI
  • x86 编译
  • 课程作业
  • Docker
  • 网络实验
  • 长期开机节点

最开始这看起来很合理。毕竟它有:

  • x86
  • NVIDIA
  • 更强的性能
  • 更大的散热
  • 更高的兼容性

问题在于,当所有职责都叠加到同一台机器上后,系统开始变得越来越不稳定。

转折点:Mac 并没有像我想象中那样“受限”

最开始我对 Apple Silicon 一直有一种潜意识里的不信任。

总觉得:

  • ARM 不够通用
  • x86 才是真正的开发平台
  • Linux 才是严肃工作环境

所以游戏本一直被我默认为真正的生产力核心。

但后面事情开始变化。

我逐渐开始长期使用:

  • SSH
  • CLI
  • Remote Workflow
  • Agent
  • AI Coding
  • 多终端工作流

与此同时,Mac 上的体验开始变得越来越顺滑:

  • 唤醒即用
  • 续航稳定
  • Terminal 体验稳定
  • 网络切换稳定
  • 多设备切换稳定

最关键的是,我开始越来越少真正依赖本地 x86。

Lima:x86 不一定需要物理 x86

真正改变我认知的是 Lima。

我最开始只是想解决一个现实问题:课程作业要求 x86 Linux。

于是我开始折腾:

  • QEMU
  • VMware
  • 远程 Linux
  • VSCode Remote
  • 游戏本远控

后来我发现:Lima + QEMU 已经足够解决绝大部分 x86 兼容问题。

最终跑通后的状态其实非常简单:

limactl start --name=x86dev x86dev.yaml
ssh x86dev
uname -m
# x86_64

那一刻我第一次认真意识到:

“我真正需要的是 x86 环境,而不是一台 x86 主力电脑。”

这是完全不同的两件事。

设备开始失去“唯一性”

当 Lima 跑通后,事情开始变化。

游戏本原本最大的不可替代性“它是唯一 x86 Linux 环境”开始消失。

与此同时,Mac 已经逐渐承担:

  • 主力 Terminal
  • SSH 控制面
  • Agent Workflow
  • AI Coding
  • 日常开发

而游戏本开始越来越少真正参与核心工作流。

最后甚至出现一种很奇怪的状态:性能最强的机器,反而两个月没真正用过。

我开始尝试“节点化”

接下来我做了一件很典型的工程师行为:我开始尝试给游戏本重新定义角色。

既然它不再适合做主力工作站,那它还能干什么?

于是我开始尝试:

  • Ubuntu Server
  • 有线网络
  • SSH
  • AI node
  • local inference
  • automation
  • ForgeFlow
  • 本地多模态模型

这时候它不再是“我的电脑”,而开始变成“我的一个节点”。

现实:校园网不适合长期基础设施

问题也很快出现。

Linux 装好后:

  • Wi-Fi 正常
  • 有线始终卡在 Getting IP Configuration
  • DHCP 一直只有 DHCPDISCOVER
  • IPv6 正常
  • IPv4 始终没有 DHCPOFFER

最开始我怀疑过 Ubuntu、驱动、Realtek、r8169r8168

后来发现,真正不稳定的其实是校园网环境。

也就是说,机器能发出请求,但校园网没有给它分配 IPv4 地址。

游戏本并不是不能当 node,只是宿舍网络环境并不适合长期基础设施。

我最后意识到:设备职责应该分离

折腾到最后,我开始重新划分职责,而不是继续给单机叠加能力。

最终形成的结构非常清晰:

角色 设备
主力生产力 MacBook
x86 compatibility layer Lima
游戏 / CUDA / AI sandbox Windows 游戏本
AI reasoning DeepSeek
本地多模态 Gemma / Qwen-VL

设备终于不再互相争夺角色。

为什么最后又装回 Windows

最后我还是把 Ubuntu 删了。

不是因为 Linux 不好,而是因为游戏本真正适合的是:高性能 + 娱乐 + CUDA + AI 沙盒,而不是“每天都依赖的主力工作站”。

于是我最后装回:Windows 11 + WSL2

原因也很现实:

  • NVIDIA 最稳定
  • 游戏最稳定
  • 校园网兼容最好
  • WSL2 已经足够承担 Linux 小实验
  • 不需要维护第二套完整 Linux Desktop

那一刻我终于接受:Mac 已经是我的真正主力,而游戏本终于可以不再被强迫承担它不适合的角色。

ForgeFlow:设备开始变成系统的一部分

这次折腾还有一个意外收获。

我开始越来越少把设备理解成“电脑”,而开始理解成“系统中的节点”。

比如:

职责 节点
Control Plane Mac
Compatibility Layer Lima
AI Sandbox Windows + WSL2
Reasoning DeepSeek
Orchestration ForgeFlow

这时候设备本身已经不再重要,真正重要的是谁负责什么。

和《简单的事》的关系

《简单的事》讲的是复杂度控制。

这篇文章想表达的是:很多时候,问题并不是“设备不够强”,而是系统里没有明确的职责边界。

如果你还没读过,可以先看《简单的事》。

结论:设备不该承担所有角色

我最后得到的结论其实很简单:真正成熟的工作流,不是让一台机器承担所有职责,而是让每个节点只承担它擅长的角色。

Mac 不需要强行变成 CUDA 工作站。游戏本也不需要强行变成长期 Linux bastion。Lima 不需要替代真实 Linux。Windows 也不需要承担主力开发。

当职责边界清晰后,整个系统反而第一次真正稳定了。

也许这也是我越来越喜欢“简单系统”的原因:不炫技,只是把东西放在该放的地方。