2026年8月25日時点では、Foundation Models Mac開発は、まず小さな評価セットを作り、統一したアプリ側のインターフェースからモデルを切り替えられる設計にするのが安全です。端末上のモデル、Private Cloud Compute、Core AI、第三者のクラウドモデルを、プライバシー、文脈の長さ、オフライン動作、端末条件で比較し、利用できない場合の代替経路まで先に実装してください。
このガイドを読むべき開発者
既存のMacアプリに要約、情報抽出、対話、ツール呼び出しを追加したいSwift開発者向けです。ローカル優先のAIエージェントを作りたい個人開発者や、複数のmacOS環境で自動評価と公開手順を整えたいチームにも適しています。
macOS 27のFoundation Models、Core AI、Private Cloud Compute関連のインターフェースはAppleの開発者向け資料で案内されています。ただし、2026年8月25日現在もテスト期間にあるため、API、権限、既知の問題は正式版まで変更される可能性があります。最新の更新記録は、AppleのFoundation Models更新情報で確認してください。
最終更新:2026年8月25日。内容はApple DeveloperのFoundation Models、Core AI、Private Cloud Compute関連資料と、macOS 27の更新情報を基に確認しています。
実装前は、機能名より評価可能なタスクを決める
最初から複雑なAIエージェントを組み立てると、どの処理が失敗したのか分からなくなります。最初の機能は、入力と正解を比較しやすいものに絞ってください。
候補は次のように分けます。
- 文章の要約:入力文と、含めるべき要点を固定します。
- エンティティ抽出:氏名、日付、製品名など、抽出対象の形式を定義します。
- 構造化生成:画面に表示する項目をスキーマとして決めます。
- ツール呼び出し:検索、ファイル取得、アプリ内操作など、呼び出し可能な機能を限定します。
評価用の入力には、通常例だけでなく、空欄、長文、複数言語、曖昧な依頼、機密情報を含む例も入れます。期待する出力、許容する失敗、ユーザーに再試行を促す条件を同じファイルに記録すると、モデルを変更しても比較できます。
この段階で、次の項目を決めておきます。
- 入力を端末外へ送ってよいか
- オフライン時に機能を維持する必要があるか
- 出力をそのまま表示するか、人が確認するか
- ツール操作に取り消し機能が必要か
- モデルが利用できないときに何を表示するか
Foundation Modelsの機能範囲とタスクの考え方は、生成とタスク実行に関するAppleの説明にも整理されています。
macOS 27の準備は、正式要件とテスト中の挙動を分けて管理する
開発環境を作るときは、OS、Xcode、対象デバイス、モデルの利用状態を一つのメモに混在させないでください。正式な開発要件と、ベータ版でだけ発生している問題を分離して記録します。
確認する順番は次のとおりです。
- Apple DeveloperのFoundation Models資料で、対象APIと対応環境を確認する
- macOS 27を使う検証用Macを、普段の開発機と分ける
- XcodeのSDKとSwiftの設定が、対象APIを参照できる状態か確認する
- Apple Account、署名、サンドボックス、必要な権限を確認する
- 端末上でモデルが利用可能か、利用不可状態を含めて確認する
- ベータ版固有の制限を、正式要件とは別の欄に記録する
公式ドキュメントに記載されていないバージョン番号や性能値を、別の記事から補って要件表にするのは避けてください。Foundation Modelsの入口はAppleの公式ドキュメントで確認し、更新後に同じ手順を再実行します。
最初のMac AI機能は、最小の会話と明確な失敗処理で作る
Foundation Modelsで最初に作るべきものは、画面、保存機能、複雑なエージェントを含まない最小会話です。公式資料にあるセッションの考え方を確認し、入力、応答、例外処理を分けて実装します。
実装の流れは次のようになります。
セッションを作る
Foundation Modelsのセッションを生成し、固定した入力を渡します。プロンプトには、役割、出力形式、禁止事項を明記します。文章を画面に表示するだけなら、最初からアプリ全体の状態管理と結び付けないほうが原因を追いやすくなります。
出力を構造化する
画面で扱う値が決まっている場合は、自由文を後から解析するのではなく、公式に案内されている構造化生成の仕組みを使います。日付や分類名などを文字列のまま受け取り、後段で無理に変換する設計は、入力言語が変わったときに壊れやすいです。
ストリーミングを分離する
ストリーミング出力を使う場合は、受信途中の文字列を確定データとして保存しないでください。表示用の一時状態と、完了後に検証した結果を別に持たせます。途中でキャンセルされた場合も、ユーザーが再実行できる状態に戻します。
利用不可を通常経路として扱う
モデルの利用不可、権限不足、通信切断、応答の形式不一致を、異常終了だけで処理してはいけません。利用不可の理由をログに残し、利用者には再試行、簡易機能、第三者モデルへの切り替えなど、次の操作を示します。
Foundation Modelsの言語モデルに共通する契約は、LanguageModelプロトコルの仕様で確認できます。
端末上のモデルとクラウドモデルは、要件で切り替える
モデル名や話題性だけで選ぶと、開発中は動いても公開後に運用できません。アプリ側にモデルアダプターを置き、同じ評価セットを各経路へ渡せるようにします。これがFoundation Modelsを第三者モデルへ接続するときの基本設計です。
端末上のモデルを優先するケース
個人情報、社内文書、オフライン利用が中心なら、端末上のモデルから検証します。入力を端末外に出さずに済む一方、端末性能、モデルの利用状態、対応OSに依存します。
Private Cloud Computeへ切り替えるケース
より複雑な推論や大きな文脈が必要で、通信とAppleの対応条件を受け入れられるなら、Private Cloud Computeを候補にします。送信するデータ、認証、通信失敗時の扱いを設計書に残し、端末経路と同じ出力を期待しないでください。接続条件はPrivate Cloud Computeの公式資料を基準にします。
Core AIや第三者モデルを使うケース
画像、音声、専門領域、組織内モデル、複数プラットフォーム対応が必要なら、Core AIや第三者のクラウドモデルが適する場合があります。Foundation Modelsのセッションと同じ入力形式にそろえ、出力の検証、認証情報の管理、利用料金、データ保持方針を個別に確認します。
選択の基準は次のとおりです。
- 機密性とオフライン性が最優先:端末上のモデル
- 文脈や推論を重視し、通信を許容:Private Cloud Compute
- 専門能力や他OS対応を重視:Core AIまたは第三者モデル
- どの経路でも、同一評価セットで正確性と失敗率を比較
Core AIの提供範囲は、AppleのCore AI開発資料で確認してください。
ツール呼び出しは、自由なエージェントではなく権限付き操作にする
Mac AIアプリがファイルを読む、予定を作る、設定を変更する場合、モデルに直接権限を渡してはいけません。ツールごとに入力、出力、許可範囲、取り消し方法を定義します。
実装時は、次の順番で制限を追加します。
- ツール名と目的を固定する
- 引数の型、必須項目、許可される値を検証する
- 読み取り操作と変更操作を分ける
- 変更前に対象と内容を画面で確認する
- 連続呼び出しに上限を設ける
- タイムアウト、通信切断、重複実行を処理する
- 高リスク操作は必ず人の確認を挟む
Toolプロトコルの定義は公式のTool仕様を確認し、呼び出しの流れはツール呼び出しの公式ガイドに合わせます。
評価と複数環境の検証を、公開前の工程に組み込む
モデルが返した文章を目視するだけでは不十分です。固定入力に対して、正確性、構造の妥当性、拒否すべき操作、応答時間、再試行結果を記録します。モデルやmacOSの更新で出力傾向が変わる可能性があるため、更新前後の差分も保存してください。
最低限、次の条件を同じ評価セットで確認します。
- 正常な日本語入力
- 英語を含む入力
- 長すぎる入力と空の入力
- 機密情報を含む入力
- モデル利用不可
- ネットワーク切断
- 不正なツール引数
- ユーザーが確認を拒否した場合
- ツールが同じ処理を繰り返す場合
- OSまたはモデル更新後の出力変化
手元に対応Macが足りない場合は、隔離したリモートMacでmacOSの構成を分けて検証します。特に、実機のモデル利用状態、署名、サンドボックス、画面操作、ツール呼び出しを確認する必要がある場合、シミュレーターだけでは判断できません。
MacでのAI開発環境を整理するときは、AI開発環境の構成を確認する記事も参考になります。複数のmacOS構成を並行して扱う場合は、リモートMacの運用パターンを確認できる記事と、実際に利用するOS、権限、評価項目を照合してください。
公開後はモデル、プロンプト、ツール結果を追跡する
運用ログには、少なくともモデル経路、プロンプトの版、入力の分類、ツールの結果、ユーザーが復旧できたかを残します。機密情報そのものを無制限に記録するのではなく、識別子や要約されたエラーなど、診断に必要な最小情報へ置き換えます。
macOSや端末上のモデルが更新されたら、公開時と同じ評価セットを再実行します。合格基準を満たさない場合は、プロンプトを変更する、対象機能を簡易経路へ戻す、Private Cloud Computeや第三者モデルへ切り替える、といった回避策を選びます。
開発チームで運用するなら、次のチェック項目をリリース作業に組み込んでください。
- [ ] 対象タスクと失敗条件を文書化した
- [ ] 固定入力と期待結果を保存した
- [ ] 端末上のモデル、Private Cloud Compute、代替モデルの選択条件を決めた
- [ ] モデル利用不可と通信切断を確認した
- [ ] 構造化出力をスキーマ検証した
- [ ] ツールの権限、引数、取り消し、確認画面を確認した
- [ ] 複数のmacOS環境で署名とサンドボックスを確認した
- [ ] 更新後に主要評価セットを再実行した
- [ ] ログにモデル、プロンプト、ツール結果の版を記録した
Foundation Models Mac開発では、APIを多く覚えることより、経路を切り替えても同じ基準で判断できることが重要です。最初は要約や抽出のような小さな機能から始め、評価が安定してからツール呼び出しへ広げると、原因の切り分けが容易になります。
手元のMac一台だけで進める方法は、構成差分、OS更新、実機の占有、モデル利用状態の確認が同時に起きる点が弱点です。一般的なクラウド環境だけに寄せる方法も、Mac固有の権限や端末上モデルを再現しにくく、通信切断や画面操作の検証が抜けやすくなります。
そのため、短期間の検証や複数のmacOS構成を並行して試す段階では、HashvpsのレンタルMacを隔離した検証環境として使う方法が現実的です。自社でMacを複数台購入するほどではないが、Foundation Modelsの実機挙動、ツール呼び出し、公開前の評価を繰り返したいチームなら、プロジェクト期間に合わせて環境を分けて運用できます。
Foundation Models対応のMac AI開発環境をHashvpsで整えませんか?
Hashvpsなら、Macを必要な期間だけ利用し、AIアプリの実装と検証を効率よく進められます。
遠隔のMac開発環境に接続できるため、手元の端末に依存せずSwift開発へ取り組めます。