axiom-ios-ai について
Apple IntelligenceとFoundation Modelsを使う iOS 開発者向けのルータースキルです。オンデバイスのApple AIとカスタムML、コンピュータビジョン、クラウドAPIを区別し、実装・リファレンス・診断の各スキルへ案内します。
主な機能
- 01Foundation Models実装作業の振り分け
- 02@Generableと構造化出力の案内
- 03Tool protocolとストリーミング生成の指針
- 04Apple AIとカスタムML・ビジョンの区別
- 05生成問題の診断先案内
活用シーン
- 01構造化生成に使うスキルの選定
- 02Foundation Models APIの例の確認
- 03生成のブロックや遅延の診断
- 04UIを停止させるセッション問題の振り分け
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ charleswiltgen/ axiom --skill axiom-ios-aiインストール後、Claude Code で/axiom-ios-aiを入力して読み込まれたか確認します。
詳細
iOS Apple Intelligence Router
Apple Intelligence または Foundation Models に関する作業では、必ずこのスキルを使用してください。
使用するタイミング
次の場合に、このルーターを使用します。
- Apple Intelligence の機能を実装するとき
- Foundation Models を使用するとき
- LanguageModelSession を扱うとき
- @Generable で構造化出力を生成するとき
- AI 生成の問題をデバッグするとき
- iOS 26 のオンデバイス AI を扱うとき
AI アプローチの振り分け
まず、開発者が必要としている AI の種類を判断してください。
| 開発者の意図 | 振り分け先 |
|---|---|
| オンデバイスのテキスト生成(Apple Intelligence) | ここにとどまる → Foundation Models スキル |
| カスタム ML モデルのデプロイ(PyTorch、TensorFlow) | ios-ml に振り分ける → CoreML 変換、圧縮 |
| コンピュータービジョン(画像分析、OCR、セグメンテーション) | ios-vision に振り分ける → Vision フレームワーク |
| クラウド API 統合(OpenAI など) | ios-networking に振り分ける → URLSession のパターン |
| システム AI 機能(Writing Tools、Genmoji) | カスタムコードは不要です — これらはシステムが提供します |
主な境界:ios-ai と ios-ml
- ios-ai = Apple の Foundation Models フレームワーク(LanguageModelSession、@Generable、オンデバイス LLM)
- ios-ml = カスタムモデルのデプロイ(CoreML 変換、量子化、MLTensor、音声テキスト変換)
- 開発者が「自分のモデルを実行する」と言った場合は → ios-ml。「Apple Intelligence を使う」と言った場合は → ios-ai。
分野横断の振り分け
Foundation Models + 並行処理(セッションがメインスレッドをブロックし、UI がフリーズする場合):
- Foundation Models のセッションは非同期です — ブロックの原因は、
awaitの不足か @MainActor での実行が考えられます - まずここで修正します。foundation-models スキルの非同期セッションパターンを使用してください
- 並行処理の問題が Foundation Models の範囲を超える場合は → ios-concurrency も呼び出します
Foundation Models + データ(@Generable のデコードエラー、構造化出力の問題):
- @Generable の出力の問題は Foundation Models 固有のものであり、一般的な Codable の問題ではありません
- ここにとどまります → foundation-models-diag で構造化出力をデバッグします
- 開発者に一般的な Codable/シリアライズに関する質問もある場合は → ios-data も呼び出します
振り分けロジック
Foundation Models の作業
実装パターン → /skill axiom-foundation-models
- LanguageModelSession の基本
- @Generable による構造化出力
- ツールプロトコルの統合
- PartiallyGenerated を使ったストリーミング
- 動的スキーマ
- WWDC のコード例 26 件
API リファレンス → /skill axiom-foundation-models-ref
- API ドキュメント一式
- @Generable の全例
- ツールプロトコルのパターン
- ストリーミング生成のパターン
診断 → /skill axiom-foundation-models-diag
- AI の応答がブロックされる
- 生成が遅い
- ガードレール違反
- コンテキストの上限超過
- モデルを利用できない
自動スキャン → foundation-models-auditor エージェントを起動するか、/axiom:audit foundation-models を実行します(利用可能性チェックの不足、メインスレッドのブロック、手動の JSON 解析、セッションのライフサイクルに関する問題)
判断ツリー
- カスタム ML モデル/CoreML/PyTorch の変換ですか? → ios-ml に振り分けます(このルーターではありません)
- コンピュータービジョン/画像分析/OCR ですか? → ios-vision に振り分けます(このルーターではありません)
- クラウド AI API の統合ですか? → ios-networking に振り分けます(このルーターではありません)
- Foundation Models/@Generable/ツールプロトコルを実装しますか? → foundation-models
- API リファレンス/コード例が必要ですか? → foundation-models-ref
- AI の問題(ブロック、遅延、ガードレール)をデバッグしますか? → foundation-models-diag
- Foundation Models が原因で UI がフリーズしますか? → foundation-models(非同期パターン)+ 必要に応じて ios-concurrency も呼び出します
- Foundation Models のコードを自動スキャンしますか? → foundation-models-auditor(エージェント)
不合理な正当化
| 考え | 実際 |
|---|---|
| "Foundation Modelsは単なるLanguageModelSessionです" | Foundation Modelsには@Generable、Toolプロトコル、ストリーミング、ガードレールがあります。foundation-modelsですべてをカバーします。 |
| "AIのパターンは使いながら理解すればいい" | AI APIには固有のエラー処理とフォールバック要件があります。foundation-modelsを使えば、実行時の失敗を防げます。 |
| "LLMは使ったことがあるので、同じようなものです" | Appleのオンデバイスモデルには、ガードレールやコンテキスト制限などの固有の制約があります。foundation-modelsはAppleに特化しています。 |
重要なパターン
foundation-models:
- LanguageModelSessionのセットアップ
- 構造化出力のための@Generable
- 関数呼び出しのためのToolプロトコル
- ストリーミング生成
- 動的なスキーマの進化
foundation-models-diag:
- ブロックされた応答の処理
- パフォーマンスの最適化
- ガードレール違反
- コンテキスト管理
呼び出し例
ユーザー: 「Apple Intelligenceを使って構造化データを生成するにはどうすればよいですか?」
→ 呼び出し: /skill axiom-foundation-models
ユーザー: 「AI生成がブロックされています」
→ 呼び出し: /skill axiom-foundation-models-diag
ユーザー: 「@Generableの例を見せてください」
→ 呼び出し: /skill axiom-foundation-models-ref
ユーザー: 「ストリーミングAI生成を実装してください」
→ 呼び出し: /skill axiom-foundation-models
ユーザー: 「アプリにAIを追加したいです」 → まず確認: Apple Intelligence(Foundation Models)とカスタムMLモデルのどちらですか?該当するものに振り分けます。
ユーザー: 「Foundation ModelsのセッションがUIをブロックしています」
→ 呼び出し: /skill axiom-foundation-models(非同期パターン)+必要に応じてios-concurrencyも呼び出し
ユーザー: 「Foundation Modelsのコードに問題がないかレビューしてください」
→ foundation-models-auditorエージェントを呼び出し
ユーザー: 「PyTorchモデルをデバイス上で実行したいです」
→ 振り分け先: ios-mlルーター(Foundation ModelsではなくCoreMLへの変換)