WWDC26: MLXを使ってMac上でローカルエージェンティックAIを実行する | Apple
原題: WWDC26: Run local agentic AI on the Mac using MLX | Apple
要点: Mac(Mac)上でApple(アップル)シリコンを活用するMLX(エムエルエックス)を使うことで、プライバシー、低遅延、オフラインアクセスが可能なローカルAI(AI)エージェントワークフローを構築・実行できる。これにより、クラウドやAPI(エーピーアイ)キーに依存せず、強力なエージェントワークフローを完全にデバイス上で実現する。

一行要約
このチュートリアルは、Apple(アップル)シリコンを搭載したMac(Mac)上で、MLX(エムエルエックス)フレームワークを使ってローカルAI(AI)エージェントを3ステップでセットアップし、プライバシーとパフォーマンスを両立した開発ワークフローを構築する方法を教える。
核心インサイト
AI(AI)エージェントは、モデルと連携して次の行動を決定し、ツールを呼び出してタスクを実行する「エージェンティックループ」を通じて動作する。このループは、ユーザー、エージェント、モデル、ツール間で繰り返され、タスクが完了するまでサイクルが継続する。
Apple(アップル)シリコンを搭載したMac(Mac)では、このエージェンティックループ全体をデバイス上でローカルに実行できる。これにより、データはデバイス上に留まり、AI(AI)はいつでもどこでも利用可能で、使用コストもかからないというメリットがある。
ローカルエージェンティックAI(AI)スタックは、Apple(アップル)シリコン向けに設計されたオープンソースのアレイフレームワークであるMLX(エムエルエックス)を基盤とする。その上にMLX-LM(エムエルエックス・エルエム)が言語モデルを、OpenAI(オープンエーアイ)互換のMLX-LM Server(エムエルエックス・エルエム・サーバー)がモデルを標準API(エーピーアイ)で公開し、最上位にエージェント本体(OpenCode(オープンコード)など)が位置する。
MLX(エムエルエックス)は、Apple(アップル)シリコンのM5チップに搭載された専用のNeural Accelerator(ニューラル・アクセラレーター)を活用し、プロンプト処理を最大4倍高速化する。これにより、エージェントはコードベースの読み込みやツール結果の処理を劇的に速く行える。
MLX-LM Server(エムエルエックス・エルエム・サーバー)は、継続的バッチ処理により、複数のサブエージェントからのリクエストを動的にバッチにグループ化してGPU(ジーピーユー)上でまとめて処理する。これにより、すべてのリクエストが並行してサービスを受けられ、エージェンティックワークフロー全体のパフォーマンスが向上する。
MLX(エムエルエックス)の分散サポートにより、Thunderbolt(サンダーボルト)やEthernet(イーサネット)経由で接続した複数のMac(Mac)にモデルを分散できる。これにより、1台のマシンでは動かせない大規模なモデルの実行や、デバイスをまたいだプロンプト処理の並列化が可能になる。
ローカルエージェントのセットアップは、pip install mlx-lmでMLX-LM(エムエルエックス・エルエム)をインストールし、ツール呼び出し対応モデルでmlx_lm.serverを実行してサーバーを起動する。その後、エージェントフレームワークのbase URL(ベース・ユーアールエル)をローカルサーバーのアドレスに向けるという3ステップで非常に簡単に行える。
実演デモでは、エージェントが空のXcode(エックスコード)プロジェクトからSwiftUI(スウィフトユーアイ)描画アプリをゼロから構築し、さらに既存のバグを修正する様子が示された。これは、ローカルAI(AI)が強力なコーディング支援能力を持ち、既存のXcode(エックスコード)開発ワークフローにシームレスに統合できることを強調している。
事前準備物
- Apple(アップル)シリコンを搭載したMac(Mac)デバイス
- Python(パイソン)環境(pip(ピップ)が利用可能であること)
- 基本的なターミナル操作の知識
- (オプション)GitHub CLI(ギットハブ・シーエルアイ)やXcode(エックスコード)など、エージェントが利用する開発ツール
ローカルエージェンティックAI(AI)スタックの構成
03:45では、Mac(Mac)上で実行されるローカルエージェンティックAI(AI)スタックの全体像が示されています。このスタックは以下の4層で構成されています。
| レイヤー | 役割 | 備考 |
|---|---|---|
| MLX(エムエルエックス) | Apple(アップル)シリコン向けに最適化されたオープンソースのアレイフレームワーク | 利用可能なハードウェアに最適なカーネルを自動選択する |
| MLX-LM(エムエルエックス・エルエム) | HuggingFace(ハギングフェイス)の数千のモデルをサポートする言語モデルレイヤー | モデルのロード、実行、量子化、ファインチューニングなどが可能 |
| MLX-LM Server(エムエルエックス・エルエム・サーバー) | OpenAI(オープンエーアイ)互換のHTTP(エイチティーティーピー)サーバー | 構造化ツール呼び出しとリーズニングモデルをサポート |
| Agent(エージェント) | OpenCode(オープンコード)やXcode(エックスコード)など、タスクを自律実行するエージェント本体 | OpenAI(オープンエーアイ)のchat completion(チャット・コンプリーション)プロトコルに対応 |
MLX(エムエルエックス)は、Ollama(オラマ)、LM Studio(エルエム・スタジオ)、vLLM(ヴィーエルエルエム)など人気の高いアプリの基盤としても使われています。
視覚資料: 「Local Agentic AI Stack on Mac(Mac上のローカルエージェンティックAIスタック)」という… — 4:00 ▶
段階別手順
Step 1: MLX-LM(エムエルエックス・エルエム)のインストール
07:15 から、最初のステップとしてMLX-LM(エムエルエックス・エルエム)のインストールが紹介されています。
MLX-LM(エムエルエックス・エルエム)は、HuggingFace(ハギングフェイス)の何千ものモデルをサポートするオープンソースの言語モデルレイヤーです。pip install mlx-lm コマンドをPython(パイソン)環境で実行するだけで、必要なライブラリとツールがすべてインストールされます。これにより、モデルのロード、実行、量子化、ファインチューニングなどの機能が利用可能になります。
pip install mlx-lm
このコマンドを実行するだけで、ローカルエージェントに必要な基礎が整います。
Python(パイソン)環境が適切に設定されていることを確認してください。
Step 2: MLX-LM Server(エムエルエックス・エルエム・サーバー)の起動
07:25 で、次のステップとしてMLX-LM Server(エムエルエックス・エルエム・サーバー)の起動方法が解説されます。
インストールしたMLX-LM(エムエルエックス・エルエム)を使って、OpenAI(オープンエーアイ)互換のHTTP(エイチティーティーピー)サーバーを起動します。これは、ローカルでロードされたモデルを標準API(エーピーアイ)を通じて公開する役割を果たすものです。mlx_lm.server --model <モデル名> コマンドで起動し、特にツール呼び出しをサポートするモデル(例: Mistral-7B-Instruct-v0.2(ミストラル・セブンビー・インストラクト・ブイゼロドットツー))を選択することが推奨されます。サーバーが起動すると、ローカルホストでリクエストを受け付ける準備ができます。
mlx_lm.server --model Mistral-7B-Instruct-v0.2 --port 8080
--port オプションでポート番号を指定でき、デフォルトでは8080(ハチマルハチマル)が使われます。
最初に小さなモデルから始めて、サーバーが正しく動作するかテストするのが良いでしょう。--port オプションでポート番号を指定できます(例: 8080)。
Step 3: エージェントをローカルサーバーに向ける
07:45 から、最終ステップとしてエージェントの設定が説明されます。
ほとんどのエージェントフレームワーク(例: OpenCode(オープンコード)、Xcode(エックスコード)など)は、OpenAI(オープンエーアイ)のchat completion(チャット・コンプリーション)プロトコルに対応しているため、base URL(ベース・ユーアールエル)をローカルサーバーのアドレスに設定するだけで、エージェントがローカルモデルと通信できるようになります。例えば、OpenCode(オープンコード)では、プロバイダー設定でURL(ユーアールエル)をhttp://localhost:<ポート番号>に、モデル名をサーバーで指定したものに設定します。
{
"provider": "openai",
"base_url": "http://localhost:8080",
"model": "Mistral-7B-Instruct-v0.2"
}
これで、エージェントは完全にローカル環境で動作し、クラウドやAPI(エーピーアイ)キーを使わずにタスクを実行できます。
エージェントのフレームワークによって設定方法が異なる場合があるため、各フレームワークのドキュメントを確認する必要があります。
ローカルエージェント実行の課題とMLX(エムエルエックス)の解決策
08:00 から、ローカルでエージェントを実行する際の3つの主な課題と、MLX(エムエルエックス)がそれらをどう解決するかが紹介されます。
| 課題 | 問題 | MLX(エムエルエックス)の解決策 |
|---|---|---|
| プロンプト処理 | エージェントは大規模なコードベースを読み込む際、長いプロンプトを処理する必要があり、これがボトルネックになる | M5チップのNeural Accelerator(ニューラル・アクセラレーター)を活用し、プロンプト処理を最大4倍高速化 |
| 並行処理 | エージェントは複数のサブエージェントを並行して実行するため、すべてのリクエストを効率的に処理する必要がある | **継続的バッチ処理(Continuous Batching)**により、複数のリクエストを動的にバッチ化してGPU(ジーピーユー)で並行処理 |
| モデルサイズ | 単一のMac(Mac)では大規模モデルを実行できない場合がある | **分散推論(Distributed Inference)**により、複数のMac(Mac)間でモデルをシャードして実行 |
視覚資料: 「Challenges of running agents locally(ローカルでエージェントを実行する際の課題)」… — 8:25 ▶
プロンプト処理の高速化
08:00 では、MLX(エムエルエックス)がApple(アップル)シリコンのM5チップに搭載された専用のNeural Accelerator(ニューラル・アクセラレーター)を活用し、プロンプト処理を最大4倍高速化することが示されています。これにより、エージェントは大規模なコードベースを迅速に読み込み、ツールからの出力を効率的に処理できます。
並行処理の最適化
09:15 で紹介される**継続的バッチ処理(Continuous Batching)**は、複数のサブエージェントからのリクエストを動的にバッチにグループ化し、GPU(ジーピーユー)上でまとめて処理する仕組みです。これにより、すべてのリクエストが並行してサービスを受けられ、エージェンティックワークフロー全体のパフォーマンスが大幅に向上します。
分散推論によるモデルサイズの拡張
10:05 からは、MLX(エムエルエックス)の分散サポートが解説されます。Thunderbolt(サンダーボルト)やEthernet(イーサネット)経由で複数のMac(Mac)を接続し、大規模モデルを各Mac(Mac)のGPU(ジーピーユー)に分散してシャード化することで、1台のマシンでは動かせないモデルも実行可能になります。また、複数デバイス間でプロンプト処理を並列化することもできます。
視覚資料: 分散推論(Distributed Inference)の概念図。複数のMac(Mac)がThunderbolt(サンダー… — 10:40 ▶
よくある失敗と解決法
失敗: サーバーが起動しない、またはエージェントがサーバーに接続できない。
解決: サーバー起動時に指定したモデル名が正しいか、ポート番号が他のアプリケーションと競合していないか確認してください。ファイアウォール設定もチェックしましょう。
失敗: エージェントのパフォーマンスが期待通りに出ない、またはエラーが発生する。
解決: まずは小さいモデルで動作を確認し、その後、より大規模なモデルを試してください。Mac(Mac)のRAM(ラム)やストレージが十分か確認し、必要に応じて分散推論のセットアップを検討しましょう。
完成結果物
クラウドやAPI(エーピーアイ)キーに依存せず、プライバシーが保護され、低遅延でオフラインアクセスが可能なローカルAI(AI)エージェントワークフローがMac(Mac)上で完全に動作します。エージェントはコード生成、デバッグ、ドキュメント要約などのタスクをApple(アップル)シリコンの性能を最大限に活用して実行できるようになります。
11:30 からのライブデモでは、エージェントが空のXcode(エックスコード)プロジェクトからSwiftUI(スウィフトユーアイ)描画アプリをゼロから構築し、さらに 13:00 では、Xcode(エックスコード)に統合されたローカルAI(AI)が既存のバグを修正する様子が実演されました。
💬 重要な引用: 「ローカルAIなら、コードがMacから出ることはありません。(With local AI, your code never leaves your Mac.)」
応用・次のステップ
このチュートリアルの技術をさらに発展させるために、以下の学習を推奨します。
- MLX(エムエルエックス)の分散推論セットアップを複数のMac(Mac)で試す
- 自分のプロジェクトに合わせたカスタムツール呼び出しを設計する
- HuggingFace(ハギングフェイス)の異なるモデルを比較し、タスクに最適なモデルを選定する
- Xcode(エックスコード)のIntelligence(インテリジェンス)機能にローカルAI(AI)を統合し、開発効率を向上させる
- MLX(エムエルエックス)のファインチューニング機能を使って、特定ドメインに最適化されたモデルを作成する
関連概念
- エージェンティックAI
- Apple Silicon
- MLX フレームワーク
- ローカル言語モデル
- プライバシー保護AI
- 分散機械学習
- SwiftUI開発
- Xcode統合
- OpenAI互換API
- HuggingFaceモデル
- 継続的バッチ処理
- Neural Accelerator
主要タイムスタンプ
- 01:10 — エージェンティックAIの進化とローカル実行のメリット
- 02:45 — ローカルエージェントのデモ:PR要約タスク
- 03:45 — ローカルエージェンティックAIスタックの解説
- 06:55 — ローカルエージェントのセットアップ方法(3ステップ)
- 08:00 — MLXによるハードウェア活用:プロンプト処理の高速化
- 09:15 — MLXによるハードウェア活用:並行処理(継続的バッチ処理)
- 10:05 — MLXによるハードウェア活用:モデルサイズ(分散推論)
- 11:30 — ライブデモ1:XcodeでのSwiftUIアプリ構築
- 13:00 — ライブデモ2:XcodeへのローカルAI統合とバグ修正
- 13:20 — まとめと今後の展望