Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Health Kit × Foundation Models でAIコーチを作ってみた
Search
Ryu-nakayama
October 24, 2025
Programming
350
0
Share
Health Kit × Foundation Models でAIコーチを作ってみた
mobile.stmn #14の登壇資料です
Ryu-nakayama
October 24, 2025
More Decks by Ryu-nakayama
See All by Ryu-nakayama
iOS機能開発のAI環境と起きた変化
ryunakayama
0
210
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
410
iOSアプリでフロントエンドと仲良くする
ryunakayama
0
140
「ジェン文字」使ってますか?
ryunakayama
0
71
iOSの画面の状態のアレコレを調査してみた
ryunakayama
0
92
作文ツール(Writing Tools)をアプリから制御する
ryunakayama
0
58
iOSアプリで測る!名古屋駅までの 方向と距離
ryunakayama
0
300
「ジェン文字」をアプリ内で使ってみよう
ryunakayama
0
190
SwiftDataと連携したWidgetを作ってみた
ryunakayama
1
220
Other Decks in Programming
See All in Programming
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
190
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.9k
Swiftのレキシカルスコープ管理
kntkymt
0
210
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
160
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
17
5.3k
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
550
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
600
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.3k
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
120
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
120
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
380
A designer walks into a library…
pauljervisheath
211
24k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
380
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Code Reviewing Like a Champion
maltzj
528
40k
The Curse of the Amulet
leimatthew05
1
13k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
170
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
570
Claude Code のすすめ
schroneko
67
220k
Transcript
Health Kit × Foundation Models でAIコーチを作ってみた iOSアプリ開発グループ 機能開発チーム 中山 龍
2025年10月24日 mobile.stmn #14
2 中山 龍 (なかやま りゅう) • 株式会社kubell ◦ 新卒3年目のiOSエンジニア(23) ◦
「Chatwork」アプリの機能開発を担当 ◦ 機能開発チーム(愛称: Ciel) チームリーダー • 愛知県在住 ◦ 自己紹介 @ryu_develop さっきまで東京にいました🗼 新幹線を降 りてその足で勉強会へ来ました📚
トレーニングを始めて半年が経ちました
4 トレーニングを始めて半年が経ちました(小話) 今年の4月で社会人になって3年目になり、気がつけば運動習慣がなくなっていた... • 学生の頃から +15kg (細かったので増量したかったが、さすがに増えすぎた) ↓ 4月の下旬からジムを契約し、半年が経ちました •
筋トレ と 有酸素運動 • 家での食事も気をつけるようになった 筋肉質な身体になってきており、とてもいい感じ! (体重も-4kg!)
5 トレーニングを始めて半年が経ちました(小話) Q. Appleから提供されている、運動の記録に便利なApple Watchの機能は? Apple信者ならわかりますよね?
6 トレーニングを始めて半年が経ちました(小話) Q. Appleから提供されている、運動の記録に便利なApple Watchの機能は? A. ワークアウト 引用: https://www.apple.com/jp/watch/ ランニングやサイクリングなど、さまざま運動の数
値 (時間・強度・距離など) を記録できる機能 記録可能な運動は約80種類も!! 記録した数値はフィットネスやヘルスケアなどのア プリから閲覧できる トレーニングの際に大変お世話になっています!
7 ワークアウトの記録の活用 ワークアウトで記録したデータは HealthKit を利用することでアプリでも活用す ることができます 今回はiOS26から利用できるようになった Foundation Models Framework
と組み合わせ、ワークアウトの記録からアドバイスをくれるAIコーチ を作っ てみました ※ Foundation Models Framework: Appleの大規模言語モデルをオンデバイスで動作させてアプリへ組み込むことがで きる仕組み
00 | 成果物のイメージ
9 成果物のイメージ アドバイスを生成
10 成果物のイメージ(処理の流れ) 過去30日のワークアウトの記録を取得 ↓ 取得したワークアウトの記録を参考にアドバイスを求めるプロンプトを作成 ↓ AIでプロンプトを実行 ↓ AIからの返答を画面に反映 HealthKit
FoundationModels
01 | HealthKitからのデータ取得
12 下準備 アプリに以下を追加 • Capabilities ◦ HealthKit • Info ◦
Privacy - Health Share Usage Description ◦ Privacy - Health Update Usage Description ◦ Privacy - Health Records Usage Description SwiftファイルでHealthKitをインポート
13 認可をリクエストする
14 データを取得する 期間を指定
15 データを取得する Queryの作成と実行
16 データを取得する Queryの作成と実行 過去30日間のワークアウトの記録が 取得できた!
02 | Foundation Models Frameworkの利用
18 下準備 SwiftファイルでFoundationModelsをインポート AI機能が利用可能かを確認する
19 Generableな型を準備する ワークアウトのアドバイスとなる型の作成 (この型でAIモデルから返事がくる)
20 プロンプトを実行する セッションを初期化する
21 プロンプトを実行する プロンプトを作成 (HealthKitから取得したデータを整形してプロンプト内に渡している)
22 プロンプトを実行する プロンプトの実行 → adviceを画面へ反映する
23 プロンプトを実行する プロンプトの実行 → adviceを画面へ反映する ワークアウトの記録に対してアドバイ スを求めるプロンプトを作成・実行 し、アドバイスを画面に出力できた!
まとめ
25 まとめ • FoundationModelsに対してHealthKitから取得したワークアウトの記録を渡し て返答を得ることができた ◦ HealthKitからはワークアウト以外にもさまざまな記録(体重や睡眠など)が 取得できるので、背景情報をさらに充実させたり、別観点でのアドバイス を求めることもできそう ◦
HealthKit以外にも組み合わせるものを工夫すればFoundationModelsの使 い道はさまざま! • やっていることは「トレーナー」というよりは「データの分析」に近かった り、細部まで的確なアドバイスをするには足りない情報もあるので物足りなさ もあるが、傾向からの気付きぐらいなら得られるかも?
働くをもっと楽しく、創造的に