🤖在迷你 PC 上运行的智能体
正是在这里,一台专用机器显出全部意义:一个始终开着的智能体,在后台或按计划运行,私密,而且在本地不花您一分钱。您那位永不睡觉的小同事。
到目前为止,您手动启动智能体,看着它干活,关掉终端。这很好, 但也错过了一台专用机器的真正威力。您的笔记本,您一合上,它就睡了,跟您一起去开会了。而迷你 PC,它一直开着,安静,电费几乎为零,日夜不停。这就改变了一切:它成了那些不需要您在场就能工作的智能体的完美宿主。
这恰恰是一台笔记本做不到的事。一个每天早上 7 点在您还睡着时醒来的智能体、一个整天盯着某个数据流的智能体、一个在您过周末时给您准备报告的智能体, 它需要一台永不关机的机器。您有这么一台。我们来看看拿它做什么。
思路:一台始终在线的机器 = 不用您也能跑的智能体
智能体,我们在 什么是智能体 里看过,是一个循环:目标、行动、观察、再来一遍。没有任何规定要求这个循环必须在您眼皮底下展开。如果您能让它自己触发, 按时间表、按事件、在后台, 那么您的迷你 PC 就变成了一位在您过自己生活时替您干活的同事。
几个在机器不再睡觉那天变得可能的例子:
- 每天早上,一个智能体复审打开的 pull request,给您往 Slack 发一份摘要。
- 一个智能体盯着一个 RSS 流或一个 API,有动静就提醒您。
- 一份周期性报告(前一天的数字、某个服务的状态)自动生成并发出,您连小指头都不用动。
- 一个智能体监控一个服务,它一倒就告警您。
共同点:没人在屏幕前。正是在这里,专用迷你 PC 把笔记本远远甩在后头。
后台或按计划运行的智能体
怎么从「一个我启动的智能体」走到「一个自己启动的智能体」?用 Linux 两个老牌的计划工具:cron 和 systemd timer。您在 系统设置 里碰到过它们, 正是它们在固定时刻触发一条命令,一遍又一遍,不用您。
诀窍在于,您的智能体会以非交互模式(「headless」)运行:与其开一个终端跟它聊,您一次性把一个任务交给它,它执行,它交出结果,它停下。把这个模式接到一个 timer 上,您就有了一个周期性智能体。
实际的形态,略去语法细节:
# crontab -e, 每天早上 7 点,唤醒智能体执行一个固定任务
0 7 * * * cd ~/projets/veille && /chemin/vers/agent "复审打开的 PR 并发一份摘要" >> ~/logs/veille.log 2>&1
timer 带着一个任务调用智能体,智能体自己循环直到「完成了」,写进一个日志,交还控制权。明天早上,再来一遍。
制胜组合:本地智能体 + Ollama
一个一天跑一百次的智能体,您不会想一天付一百次钱。而如果它处理敏感数据,您也不会想每转一圈数据就跑到第三方那儿去。这恰好是 云 + 本地混合 的用武之地,应用到自主工作上。
思路:对那些高频、私密或离线的循环,您把智能体指向一个由 Ollama 服务的本地模型。边际成本:零。流出的数据:没有。一个一天分类、概括或监控上千次的后台智能体,在您的机器上免费且私密地运行。您把云端(Claude)留给那种真正需要顶尖推理的罕见时刻。
随处可达
迷你 PC 在您的私有网络上。所以您不需要人在它跟前,就能把活交给它、或看它进展到哪儿。从地铁里的手机上、从客户那儿的笔记本上:您给您的机器发一个任务,它在您身处别处时干活,您晚点再复审结果。
这正是接下来那一章网络的全部主题, Tailscale 在您的设备之间织起私密链接,远程工作 展示如何从任何地方驾驭智能体。迷你 PC 成了一间您揣进口袋随身带走、却从不拔电的工坊。
用 tmux 让一个会话保持鲜活
不是所有智能体都是计划任务。有时您启动一个长时间的交互式会话,您合上笔记本,然后……它随您的连接一起死了。除非您是在 tmux 里启动的它(从 系统设置 起就装好了)。
tmux,是一个能在您断开连接后幸存的终端会话。您在里头启动智能体,您脱离,会话继续在迷你 PC 上运行。稍后,从任何地方,您重新接上,就找回了停在您离开那一刻的智能体。
tmux new -s agent # 创建一个命名会话并在里头启动您的智能体
# Ctrl-b 然后 d → 您脱离,智能体继续
tmux attach -t agent # 稍后,从您想要的任何地方,您重新接管
一个自主智能体的安全
我们说到正经事了。一个没有人在回路里而行动的智能体,恰恰是最小权限原则最要紧的地方。当您在屏幕前,您可以在闯祸之前说「不」。凌晨三点的后台任务里,没人会替您说不。
搭建一个周期性智能体:清单
一个边界清晰且幂等的任务
目标明确,结果可验证,尤其是:跑两遍不该把一切弄坏。一个后台智能体必须能跑一百次而不产生累积的副作用。
按频率和敏感度选云端或本地
勤、或私密、或离线 → 通过 Ollama 的本地模型。罕见且对推理要求高 → Claude。这是 混合 的取舍。
用 cron、systemd timer 或 tmux 启动它
计划任务用于安静的周期性活;tmux 用于一个您想能随时回来接上的长会话。非交互启动的确切形态在 资源 里。
权限收紧 + 目录受限
最小权限,封闭的工作目录,零 sudo。我们刚在上面反复强调过, 这对无人监管的智能体是不可商量的。
日志 + 结果通知
把输出重定向到一个日志文件,并让自己被 ping 到(Slack、邮件、通知)带上结果。一个在黑暗里默默干活的哑巴智能体,您永远不会知道它有没有跑偏。
在信任之前盯紧头几次执行
真正让它独自上岗之前,先看它跑几天。信任靠盯着挣来,不靠指望挣来。
Claude Code 在固定 prompt 上以非交互方式启动得很好,这让它成为一个出色的计划任务引擎。用一个 CLAUDE.md(记忆文件)来框住它,提醒它的边界, 允许的工具、工作目录、它从不碰的东西。对一个跑得勤的智能体,让它把量交给本地模型,把它的智慧留给最后的综合。
关于长程自主的一句老实话
把话说清楚:在长程、开放任务上的无监管自主,仍然是这一领域的前沿。本地模型尤其如此,它们作为界限清晰的后台工人远比作为完全自主的操作者出色, 我们在 选择您的本地模型 里直言不讳地说过。把一个本地模型放到一个模糊而遥远的目标上,它会信心满满地、循环不止地产出看似有理却是错的东西。
对策很简单,两个字就够:划界与核验。切成短而清晰的任务,把它们做成幂等的活,留一个人来复审结果。一个把一件小事做好一千次的后台智能体,无限优于一个雄心勃勃却迷失的智能体。这没那么壮观, 却有用得多。