macOS fm 指令:終端機裡的蘋果本機大型語言模型。

macOS 27 內建一個叫 fm 的命令列工具,把蘋果自己的語言模型放進終端機:單次提問、對話、為指令碼輸出結構化 JSON。以下說明蘋果介紹的功能、你的 Mac 需要什麼、小型裝置端模型的能力邊界,以及同一台 Mac 上的開放模型還能做什麼。

更新於

重點整理

  • 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顯示所有選項。
蘋果說指令不只這些;在你的 Mac 上只輸入 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 --help
一些介紹 macOS 27 的貼文還提到了 fm 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 使用,見下表。
MacmacOS 27 上 Apple Intelligence 占用的儲存空間
搭載 M3 或更新晶片、統一記憶體至少 12GB最多 14GB
其他支援 Apple Intelligence 的 Mac(M1、M2,或記憶體少於 12GB)最多 8GB
來自蘋果的 Apple Intelligence 需求。這些數字是蘋果提供的 Apple Intelligence 整體占用,不只是 fm 所用的模型。

開啟 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約 6GB4-bit 的 Llama 3.1 8B4.5GB,含上下文 6.0GB
16GB約 12GB8-bit 的 Llama 3.1 8B,6-bit 的 Qwen3.5 9B8.5GB 和 7.3GB,含上下文 10.0GB 和 8.8GB
24GB約 18GBgpt-oss-20b,原生 4.25-bit13.8GB,含上下文 15.3GB
32GB約 24GB4-bit 的 Qwen3.6 35B A3B19.7GB,含上下文 21.3GB
我們根據各模型官方模型卡計算:MLX 每個權重占(位元數 + 0.5)位元,另加 8% 或 1.5GB 給上下文。每種記憶體能執行的全部模型及速度範圍:8GB、16GB、24GB、32GB。

這些模型的模型卡列出了長得多的上下文視窗: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)。

資料來源

  1. Appledeveloper.apple.com
  2. Applesupport.apple.com
  3. Appledeveloper.apple.com
  4. Appledeveloper.apple.com
  5. Appledeveloper.apple.com
  6. Appledeveloper.apple.com
  7. Applegithub.com
  8. Appledeveloper.apple.com
  9. Appledeveloper.apple.com
  10. Appledeveloper.apple.com
  11. mlx-lmgithub.com
  12. LM Studiolmstudio.ai
  13. Llama 3.1 8Bhuggingface.co
  14. Qwen3.6 35B A3Bhuggingface.co
  15. mlx-lmgithub.com

延伸閱讀