重點整理
- fm 隨 macOS 27 預先安裝。在終端機輸入
fm即可列出它的指令,例如respond、chat和schema(Apple)。 - 預設使用 macOS 內建的裝置端模型。加上
--model pcc後,提示會改為傳送到蘋果大得多的私密雲端運算(Private Cloud Compute)模型,該模型有使用限制。 - 裝置端模型需要支援 Apple Intelligence 的 Mac(M1 或更新機型)。在搭載 M3 或更新晶片且記憶體不少於 12GB 的 Mac 上,Apple Intelligence 最多占用 14GB 儲存空間,其他 Mac 最多 8GB(Apple)。
- 它的上下文視窗很小:蘋果文件寫的是 4,096 個 token,WWDC26 的一個程式碼範例顯示 8,192 個。處理長文件或更難的工作,用 Mac GPU 執行的開放模型能走得更遠:看看你的 Mac 能執行什麼。
1fm 是什麼
fm 是蘋果為 Apple Foundation Models(Apple Intelligence 背後的模型)提供的命令列工具。蘋果在 WWDC26 的相關講座中說:「Starting from macOS 27, this command line tool comes pre-installed on your Mac」;打開終端機輸入 fm 即可(Apple)。蘋果把它定位為指令碼與自動化工具,「without writing a line of app code」(Apple)。
它可以呼叫兩個模型。預設使用「the on-device model that comes with macOS, and that's always available」。它也能使用私密雲端運算上的 Apple Foundation Model,蘋果稱之為「a much bigger model than the on-device model」,「will perform better on complex problems」,並且「has usage limits」(Apple)。裝置端模型在你的 Mac 上執行,不需連網(Apple);傳到私密雲端運算的提示則會送往蘋果的伺服器。
fm 是蘋果的軟體,與 MLX Network 無關。MLX Network 是獨立專案,與蘋果沒有關聯。
2指令一覽
以下是蘋果在 WWDC26 講座中展示的指令和選項(Apple、Apple):
| 指令或選項 | 作用 |
|---|---|
fm | 列出可用的指令。 |
fm respond "…" | 向模型傳送提示並印出回答,適合指令碼和一次性提問。 |
fm chat | 在終端機裡進行互動式對話。對話中用 /model 切換到私密雲端運算模型,用 /save 儲存對話以便之後繼續。 |
fm schema object | 建立一個 schema,讓 fm respond 回傳結構化 JSON。 |
--model pcc | 把提示傳送到私密雲端運算模型,而不是裝置端模型。 |
--image | 在提示中加入一張圖片。 |
--schema | 讓回答遵循用 fm schema object 建立的 schema。 |
--instructions | 在提示之外另外給模型指示。 |
--help | 顯示所有選項。 |
fm 就能列出全部。蘋果在講座中提供的範例:
fm respond "Provide a basic regex in Swift to parse an email address"
fm respond "Provide a comprehensive regex in Swift to parse an email address" --model pcc
fm schema object --name AppsIdentified --string app_names --array > schema.json
fm respond "What apps are the user actively using in this screenshot?" \
--image Screenshot.png --model pcc --schema schema.json
# {"app_names": ["Messages", "Mail", "Calendar"]}
fm respond --helpfm serve、fm available 和 fm license 等指令。蘋果的 WWDC26 講座和我們讀過的 Foundation Models 文件都沒有介紹它們,所以本指南也不介紹。在你的 Mac 上執行 fm,看看你的版本有哪些指令。3需要什麼,要下載多少
- macOS 27。 fm 隨它一起提供(Apple)。
- 支援 Apple Intelligence 的 Mac。 Apple Foundation Models 需要它(Apple);在 macOS 27 上,任何搭載 M1 或更新晶片的 Mac 都可以(Apple)。
- 支援的語言。 Apple Intelligence 要求裝置語言和 Siri 語言設為同一種支援的語言,目前也無法在中國大陸購買的裝置上使用(Apple)。
- 可用的磁碟空間,供 Apple Intelligence 使用,見下表。
| Mac | macOS 27 上 Apple Intelligence 占用的儲存空間 |
|---|---|
| 搭載 M3 或更新晶片、統一記憶體至少 12GB | 最多 14GB |
| 其他支援 Apple Intelligence 的 Mac(M1、M2,或記憶體少於 12GB) | 最多 8GB |
開啟 Apple Intelligence 後,模型可能會有一段時間無法使用:蘋果的框架會回報它尚未就緒,「because it's downloading or because of other system reasons」(Apple)。
對於使用同一個裝置端模型的 Python SDK,蘋果列出的需求是 macOS 26.0 或更新版本、已接受授權協議的 Xcode 26.0 或更新版本,以及 Python 3.10 或更新版本(Apple),並且要在 Apple 晶片 Mac 上執行(Apple)。
4裝置端模型擅長什麼,到哪裡為止
蘋果說得很直白:裝置端模型擅長各種文字生成工作,例如摘要、實體擷取、文字與影像理解、潤飾、遊戲對話、產生創意內容等;需要更強的推理能力和更大的上下文時,請使用私密雲端運算或任何伺服器端模型供應商(Apple)。
- 上下文視窗很小。 蘋果文件寫明裝置端模型有「a context window of 4096 tokens per session」(Apple),並列出裝置端 4K、私密雲端運算 32K(Apple)。在 WWDC26 關於 macOS 27 的講座中,蘋果的程式碼範例印出的
contextSize是 8,192(Apple)。提示、指示和回答共用這個視窗。 - 能裝下多少。 英文中一個 token 通常是三到四個字元(Apple),所以 8,192 個 token 大約是輸入和輸出合計 25,000 到 33,000 個英文字元:幾頁內容,而不是一本書或一個程式碼庫。
- 簡短、簡單的提示。 「An on-device model has fewer parameters and a small context window」,所以蘋果要求提示「short and succinct」,並說裝置端模型「have limited reasoning abilities」:把困難的工作拆成幾步(Apple)。
- 它會隨 macOS 改變。 蘋果透過系統更新來更新模型,macOS 27 帶來了新版本(Apple)。更新之後,指令碼的結果可能會變。
蘋果在這些頁面上沒有提供裝置端模型的大小,所以我們也不寫。
5在指令碼和程式中使用 fm
fm respond 會把回答印出來,所以可以放進任何 shell 指令碼。加上 --schema,回答就是 JSON,可以交給 jq 處理。蘋果在講座裡就用這種方法整理一個專案資料夾:讓模型判斷哪些檔案是定稿、哪些是草稿,再複製和搬移它們。以下是蘋果範例的精簡版(Apple):
fm schema object --name "TriagedFileList" \
--string 'final_files' --array \
--string 'draft_files' --array > /tmp/schema.json
output=$(fm respond \
--instructions "Return the latest files, then separately all draft files." \
"This is the list of all files:\n\n${files_list}" \
--schema /tmp/schema.json
)
echo "${output}" | jq -r '.draft_files[]'Python 可以用蘋果的 Foundation Models SDK,pip install apple_fm_sdk,同樣是裝置端模型,支援引導式生成和工具呼叫(Apple)。蘋果的範例:
import apple_fm_sdk as fm
model = fm.SystemLanguageModel()
is_available, reason = model.is_available()
if is_available:
session = fm.LanguageModelSession(model=model)
response = await session.respond(prompt="Hello!")
print(response)很多 App 和程式設計代理需要的是本機連接埠上的 OpenAI 或 Anthropic 風格 API。如果你需要這個,mlx_lm.server 能在 localhost:8080 以 OpenAI 風格的 API 提供你選擇的開放模型(mlx-lm),LM Studio 的本機伺服器則支援 OpenAI 和 Anthropic 格式(LM Studio)。更多選擇:在 Mac 上跑 LLM 的最佳 App。
6什麼時候換成開放模型
短工作用 fm 就好:摘要一則筆記、替檔案命名、從文字中擷取欄位、問個簡單問題。它已經在 Mac 上,不需設定。當輸入裝不進幾千個 token、工作需要更強的推理或寫程式、你想自己挑模型,或某個工具需要 API 時,就該用開放模型了。
開放模型在 Mac 的 GPU 上執行,能裝下什麼取決於統一記憶體。我們 Compare 頁面的計算預設以 GPU 可用約 75% 來算,並為上下文留出空間:
| Mac 記憶體 | GPU 可用 | 執行順暢的例子 | 所需記憶體 |
|---|---|---|---|
| 8GB | 約 6GB | 4-bit 的 Llama 3.1 8B | 4.5GB,含上下文 6.0GB |
| 16GB | 約 12GB | 8-bit 的 Llama 3.1 8B,6-bit 的 Qwen3.5 9B | 8.5GB 和 7.3GB,含上下文 10.0GB 和 8.8GB |
| 24GB | 約 18GB | gpt-oss-20b,原生 4.25-bit | 13.8GB,含上下文 15.3GB |
| 32GB | 約 24GB | 4-bit 的 Qwen3.6 35B A3B | 19.7GB,含上下文 21.3GB |
這些模型的模型卡列出了長得多的上下文視窗:Llama 3.1 8B 為 128K 個 token,Qwen3.6 35B A3B 為 262,144 個,不過長上下文需要的記憶體超出上面計算的餘裕。不確定你的 Mac 有多少記憶體?在蘋果選單的「關於這台 Mac」查看,然後看看依晶片分類的 Mac。
mlx-lm 是執行它們的一種方式:Apple 自己的 MLX 工具可以從 Hugging Face 下載 MLX 模型,在終端機裡和它們聊天,並提供上面提到的本機 API。LM Studio 和 Ollama 在 App 裡做同樣的事(在 Mac 上跑 LLM 的最佳 App)。你不用 Mac 時,MLX Node 可以在你設定的限制內為 MLX Network 執行 AI 工作,並為經過驗證的工作賺取 MLX 代幣。MLX 代幣可能貶值,請閱讀 風險說明。
7常見問題
- macOS 的 fm 指令免費嗎?
- 它隨 macOS 27 預先安裝,預設使用 macOS 內建的裝置端模型。更大的私密雲端運算模型有使用限制(Apple)。
- fm 可以離線使用嗎?
- 用裝置端模型可以:蘋果說它不需連網就能運作(Apple)。不過要先下載 Apple Intelligence,而
--model pcc或fm chat裡的/model會使用蘋果的伺服器。 - fm 能接受多長的提示?
- 提示、指示和回答共用一個上下文視窗:蘋果文件寫的是 4,096 個 token,蘋果針對 macOS 27 的 WWDC26 範例顯示 8,192 個(Apple)。英文中大約三到四個字元算一個 token。
- fm 提供 OpenAI 相容的 API 嗎?
- 蘋果的 WWDC26 講座和我們讀過的 Foundation Models 文件都沒有介紹伺服器模式,所以我們無法確認它如何運作。如果需要有文件的本機 API,
mlx_lm.server會在 localhost:8080 以 OpenAI 風格提供開放模型,LM Studio 則支援 OpenAI 和 Anthropic 格式。 - 哪些 Mac 可以使用 fm?
- 執行 macOS 27 且支援 Apple Intelligence 的 Mac:任何搭載 M1 或更新晶片的 Mac,設為支援的語言,並有最多 14GB(M3 或更新晶片且記憶體不少於 12GB)或最多 8GB 的可用儲存空間(Apple)。
資料來源
- Appledeveloper.apple.com
- Applesupport.apple.com
- Appledeveloper.apple.com
- Appledeveloper.apple.com
- Appledeveloper.apple.com
- Appledeveloper.apple.com
- Applegithub.com
- Appledeveloper.apple.com
- Appledeveloper.apple.com
- Appledeveloper.apple.com
- mlx-lmgithub.com
- LM Studiolmstudio.ai
- Llama 3.1 8Bhuggingface.co
- Qwen3.6 35B A3Bhuggingface.co
- mlx-lmgithub.com