BrainBank

Mac Studio 24/7 AI 主力机手册(修订版)

2026/8/2 22:46:52 · 更新于 2026/8/2 22:49:10

AI 翻译于 2026/8/2 22:54:52 · 使用 Qwen3.6 35B (fast, default) + local/qwen3-vl-30b

#automation#orchestration#best-practices#ollama#mac-studio#local-llm#resource-management#model-routing#self-hosting#mlx-framework#observability

将 Mac Studio M3 Ultra 转变为可靠的 7×24 小时私有 AI 服务的实操手册:通过智能模型路由、准入控制、持久化任务队列与定时可观测性,在避免 GPU 持续高负载运转的前提下实现稳定输出。

Mac_Studio_24x7_AI_Workhorse_Concise_Guide

Mac Studio 全天候 AI 主力机 —— 简明指南

平台: Mac Studio M3 Ultra,96 GB 统一内存,2 TB AI_DATA 卷
目标: 以最少的人力维护一个可靠的私有 AI 服务,自动运行预设的定时任务。
核心原则: 保证控制面随时可用;仅在任务需要时才加载高成本模型。

1. 目标运行模式

该系统应超越本地聊天机器人的范畴,它应当:

  • 服务于受信任的用户和应用程序。
  • 运行定时任务并监控指定数据源。
  • 维护可搜索的知识库集合。
  • 对信息进行提取、分类、摘要和比对整合。
  • 将简单任务路由至小模型,复杂任务路由至大模型。
  • 记录任务、变更、故障、输出结果及需人工介入的决策。

当机器能在无人值守的情况下产出经过验证的结果时,它才真正成为了主力机——而不是仅仅把模型加载在内存里。

每日成功运行模式

核心服务重启后自动恢复;健康检查持续运行;经批准的数据与文档同步并建立索引;模型按任务复杂度分发;晨间简报汇总输出结果、故障信息、洞察与建议决策。重型任务仅在通过策略、容量和审批检查后执行。

2. 架构与访问权限

d81d556a-2df0-4199-af9d-0da54b5e3bd0.jpg

Rendering diagram…
层级组件职责默认状态
私有访问Tailscale受信任设备组网始终开启
公网入口Tailscale Funnel受控的公网接入路径仅按需启用
API 控制Gateway :8787密钥、鉴权、限流、路由与重型任务闸门始终开启
模型运行时Ollama :11434默认与重型本地模型保持可用;按需加载
Apple 运行时MLX推理加速、语音、重排序与媒体处理负载按需提供 Worker
交互界面Open WebUI :8080聊天与知识库前端按需开启
智能体运行时FastAPI :8788RAG、工具链、记忆、反馈与多步任务稳定后始终开启
调度器launchd, GitHub Actions, Inngest定期与事件驱动任务依任务权属而定
数据AI_DATA 及知识库模型、数据源、索引、日志、输出结果已挂载并持续监控

公网访问规范

应用 → Funnel → 认证网关 → 路由器 → 已授权服务

切勿将 Ollama、MLX、Open WebUI、数据库或智能体服务器直接暴露给公网。Funnel 负责提供连通性;网关负责提供身份验证、授权、负载策略与速率控制。

现有控制系统

  • ai-stack:Ollama、Open WebUI、网关与 Funnel。
  • agent-server:FastAPI 检索、工具、记忆与智能体执行框架。
  • AI Local Server:仅网关、密钥、路由与重型模型策略。 在同一个仪表盘中监控这三部分,但保持它们的重启控制相互独立。

3. 模型组合与路由

功能定位模型决策运行策略
快速处理Qwen3.5-9B已新增并完成测试路由分发、内容打标签、信息提取、简短回复、后台批量处理
默认模型Qwen3.6-35B-A3B保留日常对话、分析、视觉理解、智能体推理、大部分编码任务
重型编码Qwen3-Coder-Next已新增;性能对照测试待定卸载冲突模型后加载;通过回归测试后方可提升至正式使用
重型推理gpt-oss-120B保留独占模式;需明确确认方可调用
重型候选Qwen3.5-122B-A10B已新增;比拼测试待定仅当可重复测试结果证明其性价比更优时,方替换 gpt-oss
视觉模型Qwen3-VL-30B临时替代仅在默认模型的视觉能力达到对等水平后停用
语音处理Whisper large-v3-turbo / Qwen3-TTS保留 / 已新增按需进行转录与语音输出
RAG检索nomic-embed-text / Qwen3 Reranker保留 / 已新增索引文档并优化检索结果段落
媒体生成FLUX.2 Klein / LTX-2.3已新增按需图像生成及独占/定时视频生成

路由策略

精确任务使用脚本处理;分类与提取使用 9B 模型;综合归纳、RAG 检索及大部分编码使用 35B 模型;仅在质量测试验证或人工明确要求时才调用重型模型。分析性结论需提供依据,外部操作需经审批方可执行。

4. 防止资源过载

96 GB 内存池由 macOS、模型权重、KV 缓存、应用程序及文件处理共同共享。需在多个层级对其进行保护。

现有防护措施

  • GPU 已锁定内存(wired memory)限制约为 88 GB,并为操作系统保留余量。
  • Ollama 通过 keep-alive 设置限制同时加载的模型数量,并自动卸载非活跃模型。
  • 重型请求需携带 X-Confirm-Heavy: yes 头信息;否则网关将返回 HTTP 428 Precondition Required
  • 大型编码、推理与媒体模型仅在需要时加载。
  • 在测量数据支持更大规模之前,重型模型的上下文长度应保持在 32K 或以下。

后续新增措施

  • 准入控制: 在执行重型负载前,检查内存、虚拟内存(swap)、已加载模型、任务队列、活跃会话、磁盘空间、UPS 状态及温度。
  • 持久化队列: 每次仅允许执行一个 heavy-exclusive(重型独占)任务。
  • 超时机制: 为每项任务设定截止时间、最大重试次数及取消路径。
  • 并发分级: 针对轻量、默认、嵌入、语音、图像、视频及重型工作设定独立限制。
  • 熔断机制: 暂停频繁故障的模型或数据源。
  • 反压机制: 实行排队或直接返回 HTTP 429,而非接受不安全的并发请求。
  • 磁盘水位线: 剩余空间低于 20% 时发出警告,低于 10% 时停止非必要下载/生成任务。
模式服务与工作负载
正常模式网关、界面、智能体服务器、检索,以及按需使用的默认模型
批处理模式控制性数据接入、嵌入向量生成、语音转写及报告生成
重负载独占模式最低限度的控制服务 + 一个 120B 模型、重型代码处理或视频任务
维护模式监控、备份、升级、索引 repairs 与模型测试

5. 高价值 24/7 持续工作

财务数据

同步 USAspending 数据;整合 A 表、B 表和 C 表;核对行数与金额;并标记到期资金、进度风险、缺失关联关系及来源变更。

知识运营

监控已审批目录;提取文本与元数据;管理重复项与版本;更新嵌入向量与索引;并汇报失败的接入、僵死的锁文件及未索引文件。

技术监控

监控相关 AI 实验室、GitHub、Hugging Face 及本地运行时环境。使用 9B 模型分类相关性,使用 35B 模型针对特定影响范围撰写简明分析报告。

文档与软件工作

提取决策、风险、待办事项与矛盾点;检索证据;起草简报;运行仓库测试与依赖审查;并确保所有外部操作均经过审批。

个人学习

将笔记转化为关联概念,识别矛盾之处,生成复习提示,并总结理解能力的变化轨迹。


6. 推荐任务调度表

频率任务执行者输出结果
每 5 分钟服务与端口健康状况脚本健康状态与事件记录
每 15 分钟内存、交换空间、磁盘、队列、温度、电源脚本容量状态概览
文件变更时已审批知识数据接入嵌入向量管道更新后的索引与日志
每日 06:00USAspending 数据同步脚本新文件列表与状态
数据到达后整合与核对Python 管道已验证的数据集
每日 07:00AI 与仓库监控快速模型相关变更汇总
每日 07:30运营简报默认模型任务、故障、变更、决策汇总
夜间备份与完整性检查脚本备份异常报告
每周一次知识质量审计快速/默认模型重复项、过期条目、薄弱元数据
每周一次模型回归测试套件选定模型质量、延迟、内存、错误率
按需触发120B 推理或视频任务重负载独占执行者已审批的高算力输出结果

c4b02197-9017-4038-933a-7d9355069615.jpg

7. 实用的 30 天构建计划

第 1–7 天 — 稳定化

  • 创建机器可读的服务注册表:包含名称、端口、命令、健康检查 URL、日志路径、依赖关系、负责人及重启策略。
  • 添加 launchd 重启控制逻辑,并在启动前等待 AI_DATA 目录与网络连接就绪。
  • 验证优雅关闭流程与重启恢复能力。
  • 修复 wiki-ingest 僵死锁问题,重新运行失败的 FY2026 同步任务,并将废弃脚本隔离至 quarantine 区域。

退出: 核心服务自动恢复,避免重启循环,并记录有用的失败原因。

第 8–14 天 — 观察

构建一个轻量级状态 API 和基于 SQLite 的面板。显示整体状态;服务与错误;已加载的模型、内存、请求和延迟;作业状态;内存、交换空间、磁盘、CPU/GPU 和温度;数据新鲜度与对账情况;以及认证、速率限制、Funnel(漏斗网关)和高权限门禁事件。

第 15–21 天 — 编排

添加持久的作业记录,包含 ID、类型、优先级、资源类别、模型、输入引用、时间戳、超时时间、重试次数、状态、结构化错误、输出位置、审批标志和幂等键。 使用资源类别:light(轻量)、default(默认)、embedding(嵌入)、speech(语音)、image(图像)、video(视频)和 heavy-exclusive(独占重型)。

第 22–30 天 — 产出

生成每日 AI 运营简报,涵盖过夜健康状态、作业结果、USAspending(美国支出透明度系统)对账情况、相关的 AI 发布动态、知识库变更、异常事件以及推荐的操作。 这份简报是生产力的证明。整夜运行却不产生决策支持,不是成功。


8. 标准作业流程

Rendering diagram…

9. 安全性、可靠性和电力保障

  • 将后端绑定到 localhost 或私有 Tailnet;仅通过 Funnel 暴露网关。
  • 使用独立的应用密钥、模型权限和速率限制;轮换密钥,永不记录密钥明文。
  • 当不需要公共访问时,禁用 Funnel。
  • 区分公共、个人、工作敏感和受限的知识集合。
  • 对摄入路径进行白名单管理,并记录来源、时间、哈希值和版本。
  • 为每项作业使用最小权限工具、超时设置、重试限制和输出大小限制。
  • 保留源文件和转换日志;将生成的输出视为草稿,除非经过验证。
  • 在更改默认设置前评估模型升级方案。
  • 对备份进行加密并测试恢复流程。
  • 将 Mac Studio 和存储连接到不间断电源 (UPS);测试安全关闭和恢复流程。
  • 在网络、存储、内存、散热和电力检查通过之前,推迟重型作业的执行。

本地托管提高了控制权,但本身并不能为组织数据或受限数据建立合规性。

初始可靠性目标

指标目标
网关可用性每月99%
自重启后恢复时间10分钟内
计划任务成功率至少95%
失败任务可见性5分钟内
高负载并发数严格限定为一个
磁盘警告/临界阈值剩余20%/10%可用空间
备份机制每日增量备份;每周执行恢复测试
财务输出发布前100%对账
默认模型变更必须通过回归测试并附带文档决策

10. 术语索引


术语含义
准入控制器在任务启动前检查容量和策略
API 网关验证、限制并路由请求到内部服务
背压机制当容量满时,队列或拒绝工作负载
熔断器停止对反复失败依赖的调用
上下文窗口模型在单次请求中可考虑的标记数
嵌入向量用于语义检索的矢量化表示
雪茄Tailscale 功能,将选定端点公开暴露
幂等性可重复执行而无 duplicate 效果
推理运行训练好的模型生成输出
任务队列待处理和运行中的工作持久记录
KV 缓存随上下文和并发增长的运行时注意力内存
观测性记录日志、指标、事件与告警,解释系统行为
量化降低精度权重以减少内存占用
RAG检索事实证据后再生成答案
对账将转换后的总计和计数与来源验证一致
重排序器按相关性重新排列检索到的段落
常驻模型当前加载在内存中的模型
资源类定义内存、并发和审批策略的任务标签
SLO可衡量的可靠性目标
Tailnet经认证 Tailscale 设备的私有网络
统一内存Apple 设计中 GPU/系统共享的内存架构
工作进程执行已排队任务的过程

11. 紧急检查清单

本周内完成

  • 修复 wiki-ingest 锁并重跑 FY2026 USAspending 作业
  • 验证重启至就绪状态和 UPS 关机/恢复流程
  • 创建服务注册中心
  • 收集服务、内存、交换空间、磁盘、队列及供电状态

接下来两周完成

  • 构建操作仪表盘与持久化任务模式
  • 添加准入控制和单一重载专用队列
  • 执行 Coder-Next 测试、视觉一致性测试和 122B 验证性能测试
  • 增加备份验证和磁盘水位阈值

第30天前完成

  • 自动生成每日 AI 运维简报
  • 对一周内系统正常运行时间、故障率、延迟、模型使用量和有用输出进行测量
  • 移除无实际负载证明的模型和服务
  • 文档化常规、批量、重载、维护与恢复流程

最终实施方向

机器已具备充足的模型能力。下一步的优势来自编排调度:可靠的启动、可控的路由、持久的队列、可信的数据、可观测性、评估机制与可复现的输出。

目标并非让 GPU 持续满载运行。它应是一个始终保持可用、精准识别有效任务、调用满足需求的最小资源、完整留存证据、安全处理上报,并向操作者清晰传达关键信息的系统。

来源:Mac_Studio_24x7_AI_Workhorse_Concise_Guide.md

学习地图

分级路线图

第一阶段 — 稳定化(第 1–7 天)

  • 创建机器可读的服务注册表(名称、端口、健康检查 URL、日志、依赖关系)
  • 添加 launchd 重启控制,包含 AI_DATA 和就绪网络检查
  • 验证优雅关闭和重启恢复
  • 隔离废弃脚本;修复过期锁文件

第二阶段 — 可观测性(第 8–14 天)

  • 构建基于 SQLite 的轻量状态 API
  • 展示:整体状态、模型加载数量、内存/交换空间/磁盘/CPU/GPU/温度、队列深度、作业结果
  • 跟踪数据新鲜度和对账结果

第三阶段 — 编排(第 15–21 天)

  • 实现具有幂等键的持久化作业模式
  • 添加准入控制:在工作开始前进行容量和政策检查
  • 定义资源类别:轻量 / 默认 / 嵌入 / 语音 / 图像 / 视频 / 独占重型
  • 执行并发限制;设置超时和重试上限

第四阶段 — 生产环境就绪(第 22–30 天)

  • 生成自动化日常运营简报
  • 模型路由:小型模型用于分类/提取,大型模型用于合成/RAG,重型模型仅在确认后使用
  • 对故障源实现熔断机制,并通过 HTTP 429 实现背压控制
  • 记录所有模式:正常、批处理、重型、维护、恢复

动手实践——分步指南

  1. 创建一个服务注册文件(JSON 或 YAML),列出每个组件的端口、健康检查 URL、日志路径、重启命令和负责人。

  2. 为每个服务编写 launchd plist 文件,包含 RunAtLoad、KeepAlive、用于 AI_DATA 挂载检测的 EnvironmentVariables,以及用于网络就绪检查的 WatchPaths。

  3. 编写一个健康检查脚本,通过 curl 请求各服务的 /health 端点,将结果连同时间戳记录到 SQLite 中,并在故障持续超过 5 分钟时发出告警。

  4. 配置 Ollama 的 keep-alive 设置,使其在空闲 10 分钟后自动卸载模型;验证正常运行期间仅默认模型(Qwen3.6-35B-A3B)保持加载状态。

  5. 实现一个准入控制函数,在接收重量级任务前检查内存使用率、交换分区状态、队列深度、磁盘可用空间和温度读数。

  6. 实现一个持久化的任务队列表,包含以下字段:id (UUID), type, priority, resource_class, model, input_ref, created_at, timeout_seconds, retry_count, max_retries, status, error_json, output_path, requires_approval, idempotency_key。

  7. 使用 if/elif 链编写模型路由逻辑:分类请求 → 将提取/标记任务路由至 9B,将合成/RAG/编码任务路由至 35B,或要求调用参数量超过 30B 的模型时必须携带 X-Confirm-Heavy 请求头。

  8. 添加熔断器,跟踪每个依赖的连续失败次数;在 1 小时内出现 3 次失败后,暂停该服务并安排带有指数退避(exponential backoff)的重试。

  9. 通过 launchd 调度每日任务:06:00(财务同步)、07:00(AI 监控)、07:30(运营简报输出),以及夜间执行备份与完整性验证。

  10. 测试完整流程:通过 API 网关(附带正确的 auth key)触发任务,验证准入控制通过,确认 worker 执行,验证并存储结果,最后检查当日 dashboard 是否正确反映所有状态。

三大推荐资源

  1. 1
    Ollama Documentation

    Official guidance on running local models locally, including model management and API reference for integration.

    https://ollama.com/blog

  2. 2
    MLX Framework Documentation

    Apple's machine-learning framework optimized for Apple Silicon, enabling fast inference and model workflows on Mac.

    https://ml-explore.github.io/mlx/

  3. 3
    Tailscale Administration Guide

    Documentation for setting up a private network with Tailscale Funnel, critical for secure external access to local AI services.

    https://tailscale.com/kb/1017/install

链接由 AI 推荐——使用前建议快速核实。