macOS の fm コマンド:ターミナルで使う Apple のローカル LLM。

macOS 27 には fm というコマンドラインツールが付属し、Apple 自身の言語モデルをターミナルで使えます。単発のプロンプト、チャット、スクリプト向けの構造化 JSON。Apple が説明している機能、Mac に必要なもの、小さなオンデバイスモデルの限界、そして同じ Mac でオープンモデルなら何ができるかをまとめました。

更新日

要点

  • fm は macOS 27 に最初から入っています。ターミナルで fm と入力すると、respond、chat、schema などのコマンドが一覧表示されます(Apple)。
  • 初期設定では macOS に付属するオンデバイスモデルを使います。--model pcc を付けると、プロンプトは Apple のはるかに大きな Private Cloud Compute のモデルに送られます。こちらには利用制限があります。
  • オンデバイスモデルには Apple Intelligence に対応した Mac(M1 以降)が必要です。Apple Intelligence が使うストレージは、M3 以降でメモリ 12GB 以上の Mac で最大 14GB、それ以外の Mac で最大 8GB です(Apple)。
  • コンテキストウィンドウは小さく、Apple のドキュメントでは 4,096 トークン、WWDC26 のコードサンプルでは 8,192 トークンです。長い文書や難しい作業なら、Mac の GPU で動くオープンモデルのほうが先まで進めます。あなたの Mac で動くもの を見てください。

1fm とは

fm は、Apple Intelligence を支えるモデル群 Apple Foundation Models を使うための、Apple のコマンドラインツールです。Apple は WWDC26 のセッションで「Starting from macOS 27, this command line tool comes pre-installed on your Mac」と説明しています。ターミナルを開いて fm と入力するだけです(Apple)。Apple はこれを、「without writing a line of app code」でスクリプトや自動化に使えるものとして紹介しています(Apple)。

使えるモデルは 2 つです。初期設定では「the on-device model that comes with macOS, and that's always available」を使います。Private Cloud Compute 上の Apple Foundation Model も使えます。Apple はこれを「a much bigger model than the on-device model」と呼び、「will perform better on complex problems」一方で「has usage limits」としています(Apple)。オンデバイスモデルは Mac の上で動き、インターネット接続なしで使えます(Apple)。Private Cloud Compute に送ったプロンプトは Apple のサーバーに届きます。

fm は Apple のソフトウェアで、MLX Network とは無関係です。MLX Network は独立したプロジェクトで、Apple とは提携していません。

2コマンド一覧

Apple が WWDC26 のセッションで紹介しているコマンドとオプションです(Apple、Apple)。

コマンド・オプション機能
fm使えるコマンドを一覧表示します。
fm respond "…"モデルにプロンプトを送り、応答を表示します。スクリプトや単発の質問向けです。
fm chatターミナルで対話形式の会話をします。会話中に /model で Private Cloud Compute のモデルに切り替え、/save で会話を保存して後で再開できます。
fm schema objectスキーマを作成し、fm respond が構造化 JSON を返すようにします。
--model pccプロンプトをオンデバイスモデルではなく Private Cloud Compute のモデルに送ります。
--imageプロンプトに画像を加えます。
--schemafm schema object で作ったスキーマに沿って答えさせます。
--instructionsプロンプトとは別に、モデルへの指示を渡します。
--helpすべてのオプションを表示します。
Apple によると、コマンドはこれ以外にもあります。Mac で fm とだけ入力すれば一覧が出ます。

セッションで紹介されている Apple 自身の例です。

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 といったコマンドも紹介されています。Apple の WWDC26 セッションや、当サイトが読んだ Foundation Models のドキュメントには説明がないため、このガイドでも扱いません。お使いのバージョンに何があるかは、Mac で fm を実行して確かめてください。

3必要なものと、ダウンロードされる量

  • macOS 27。 fm は macOS 27 に付属します(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 の Apple Intelligence の要件 より。これは Apple Intelligence 全体の数字で、fm が使うモデル単体の数字ではありません。

Apple Intelligence をオンにした直後は、しばらくモデルが使えないことがあります。Apple のフレームワークは、「because it's downloading or because of other system reasons」でまだ準備ができていない、と報告します(Apple)。

同じオンデバイスモデルを使う Python SDK について、Apple は macOS 26.0 以降、使用許諾に同意済みの Xcode 26.0 以降、Python 3.10 以降を条件に挙げています(Apple)。Mac は Apple シリコン搭載のものが必要です(Apple)。

4オンデバイスモデルが得意なこと、できないこと

Apple ははっきり書いています。オンデバイスモデルは要約、固有表現の抽出、テキストと画像の理解、文章の手直し、ゲームの会話、創作コンテンツの生成など、さまざまなテキスト生成が得意で、より高い推論能力や大きなコンテキストが必要なら Private Cloud Compute か、任意のサーバーのモデルを使うように、とのことです(Apple)。

  • コンテキストウィンドウが小さい。 Apple のドキュメントでは、オンデバイスモデルは「a context window of 4096 tokens per session」とされ(Apple)、Private Cloud Compute の 32K に対して 4K と記載されています(Apple)。macOS 27 についての WWDC26 セッションでは、Apple のコードサンプルが contextSize として 8,192 を出力しています(Apple)。プロンプト、指示、答えのすべてがこのウィンドウを共有します。
  • どれくらい入るか。 英語では 1 トークンはおおむね 3〜4 文字です(Apple)。つまり 8,192 トークンは、入力と出力を合わせて英語で約 25,000〜33,000 文字。数ページ分で、本やコードベースは入りません。
  • 短く単純なプロンプト。 「An on-device model has fewer parameters and a small context window」なので、Apple はプロンプトを「short and succinct」にするよう勧め、オンデバイスモデルは「have limited reasoning abilities」としています。難しい作業はいくつかの段階に分けましょう(Apple)。
  • macOS とともに変わる。 Apple は OS のアップデートでモデルを更新し、macOS 27 には新しいバージョンが入っています(Apple)。アップデート後にスクリプトの結果が変わることがあります。

これらのページで Apple はオンデバイスモデルのサイズを示していないため、このガイドでも示しません。

5スクリプトやコードから fm を使う

fm respond は答えを出力するので、どんなシェルスクリプトにも組み込めます。--schema を付ければ答えは JSON になり、jq に渡せます。Apple のセッションでは、この方法でプロジェクトフォルダを整理しています。どのファイルが完成版でどれが下書きかをモデルに尋ね、そのとおりにコピーと移動をします。Apple のサンプルを短くしたものです(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 には Apple の Foundation Models SDK があります。pip install apple_fm_sdk で入り、同じオンデバイスモデル、ガイド付き生成、ツール呼び出しが使えます(Apple)。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)

多くのアプリやコーディングエージェントは、ローカルのポートで OpenAI 形式や Anthropic 形式の API を前提にしています。それが必要なら、mlx_lm.server が選んだオープンモデルを localhost:8080 の OpenAI 形式の API で提供し(mlx-lm)、LM Studio のローカルサーバーは OpenAI と Anthropic の形式に対応しています(LM Studio)。ほかの選択肢:Mac で LLM を動かすおすすめアプリ。

6オープンモデルに切り替えるとき

短い作業なら fm で十分です。メモの要約、ファイル名付け、テキストからの項目の抜き出し、ちょっとした質問。すでに Mac に入っていて、設定もいりません。入力が数千トークンに収まらないとき、もっと推論やコードの力が必要なとき、モデルを自分で選びたいとき、ツールが API を必要とするときは、オープンモデルを使いましょう。

オープンモデルは Mac の GPU で動き、何が収まるかはユニファイドメモリで決まります。当サイトの Compare の計算では、初期設定で GPU が使えるのはその約 75% で、コンテキスト用の余裕も残しています。

Mac のメモリGPU 用快適に動く例必要なメモリ
8GB約 6GBLlama 3.1 8B(4 ビット)4.5GB、コンテキスト込みで 6.0GB
16GB約 12GBLlama 3.1 8B(8 ビット)、Qwen3.5 9B(6 ビット)8.5GB と 7.3GB、コンテキスト込みで 10.0GB と 8.8GB
24GB約 18GBgpt-oss-20b(ネイティブ 4.25 ビット)13.8GB、コンテキスト込みで 15.3GB
32GB約 24GBQwen3.6 35B A3B(4 ビット)19.7GB、コンテキスト込みで 21.3GB
各モデルの公式カードをもとにした当サイトの計算です。MLX は重み 1 つあたり(ビット数 + 0.5)ビットで保存し、コンテキスト用に 8% または 1.5GB を加えています。各サイズで動くものすべてと速度の目安:8GB、16GB、24GB、32GB。

これらのモデルのモデルカードには、はるかに長いコンテキストウィンドウが記載されています。Llama 3.1 8B は 128K トークン、Qwen3.6 35B A3B は 262,144 トークンです。ただし長いコンテキストには、上で数えた分を超えるメモリが必要です。自分の Mac のメモリがわからない場合は、アップルメニューの「この Mac について」で確認し、チップ別の Mac を見てください。

mlx-lm はそれらを動かす方法の 1 つです。Apple 自身の MLX ツールで、Hugging Face から MLX モデルをダウンロードし、ターミナルでチャットし、上記のローカル API を提供します。LM Studio と Ollama は同じことをアプリで行います(Mac で LLM を動かすおすすめアプリ)。Mac を使っていないときは、MLX Node があなたの決めた範囲で MLX Network の AI ジョブを実行し、検証された作業に対して MLX トークンを得ます。MLX トークンは価値が下がることがあります。リスク をお読みください。

7よくある質問

macOS の fm コマンドは無料ですか?
macOS 27 に最初から入っていて、初期設定では macOS に付属するオンデバイスモデルを使います。より大きな Private Cloud Compute のモデルには利用制限があります(Apple)。
fm はオフラインで使えますか?
オンデバイスモデルなら使えます。Apple はインターネット接続なしで動くと説明しています(Apple)。ただし先に Apple Intelligence のダウンロードが必要で、--model pcc や fm chat の中の /model は Apple のサーバーを使います。
fm にはどれくらい長いプロンプトを渡せますか?
プロンプト、指示、答えは 1 つのコンテキストウィンドウを共有します。Apple のドキュメントでは 4,096 トークン、macOS 27 向けの Apple の WWDC26 サンプルでは 8,192 トークンです(Apple)。英語なら 1 トークンはおおむね 3〜4 文字です。
fm は OpenAI 互換の API を提供しますか?
Apple の WWDC26 セッションや、当サイトが読んだ Foundation Models のドキュメントにはサーバーモードの説明がないため、その仕組みは確認できません。ドキュメントのあるローカル API が必要なら、mlx_lm.server が localhost:8080 でオープンモデルを OpenAI 形式で提供し、LM Studio は OpenAI と Anthropic の形式で提供します。
fm を使える Mac は?
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

次に読む