Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Gemini Intelligence 入門 ― AppFunctions と Gemini ...
Search
takuro abe
October 19, 2026
Technology
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuro abe
October 19, 2026
More Decks by takuro abe
See All by takuro abe
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
530
Other Decks in Technology
See All in Technology
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.6k
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
720
DGX Spark でどこまでハッキングができるのか?
kash1064
2
1.3k
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
740
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
170
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
270
Getting Started with Google Antigravity
glaforge
0
270
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
430
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
250
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
140
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
400
Optunaの最新リリースv5.0について
pfn
PRO
0
110
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Optimising Largest Contentful Paint
csswizardry
37
4k
A Soul's Torment
seathinner
8
3.8k
The Curious Case for Waylosing
cassininazir
1
570
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
RailsConf 2023
tenderlove
30
1.6k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
930
Done Done
chrislema
187
17k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Accessibility Awareness
sabderemane
1
250
Transcript
Gemini Intelligence ⼊⾨ ― AppFunctions と Gemini Nano リテールアプリ共創部 takuro
abe
⾃⼰紹介 takuro abe クラスメソッド株式会社 リテールアプリ共創部 • • • • •
兵庫県出⾝、現在は東京都在住 Flutter を中⼼にモバイルアプリを開発 FlutterKaigi 2026 運営スタッフ(クラスメソッドも協賛) 直近の案件ではバックエンド‧インフラにも挑戦中 DevelopersIO: abe-tk / X: @abe_tk6 2
⽬次 01 Gemini Intelligence とは 02 AppFunctions 03 Gemini Nano
04 まとめ 3
このセッションは「ちょっと未来」の話です お話しする機能は、すべて正式リリース前です ※2026 年 10 ⽉ 16 ⽇時点 Gemini Intelligence
2026 年夏から提供開始 ⼀部の国‧⾔語が対象 ⽇本での提供時期は未発表 AppFunctions Gemini Nano Early Access Program Gemini 連携は限定公開プレビュー ML Kit GenAI API:ベータ (⾳声認識 API のみアルファ) 出典: developer.android.com/ai/intelligence-system、developers.google.com/ml-kit/genai(2026/10 確認) 4
01 Gemini Intelligence とは 5
Gemini Intelligence は Android 端末向けの AI 機能群 操作 ⼊⼒ UI
アプリ操作の⾃動化 Autofill with Google Create My Widget アプリをまたぐ操作を代⾏ フォーム⼊⼒を⾃動で埋める ⾔葉でウィジェットを作る Gemini in Chrome Rambler UI デザインの刷新 調査‧⽐較、auto browse で代⾏ 話し⾔葉を⽂章に整える Material 3 Expressive 出典: Google「A smarter, more proactive Android with Gemini Intelligence」(2026 年 5 ⽉) 6
Gemini がアプリを操作する 1 写真を添えて Gemini に依頼 2 Gemini が Expedia
アプリを操作 3 進捗は通知で確認できる 4 最後の予約はユーザーが確定 「これに似た 6 ⼈で参加できるツアーを Expedia で探して」 その間ユーザーはチャットを閉じて、ほかのことをしていてよい 通知から「タスクを停⽌」「進捗を表⽰」をいつでも選べる Gemini は予約画⾯まで準備し、確定はユーザーが⾏う デモ GIF: Android Developers Blog「Building for the Intelligence System on Android」(2026/5) より。CC BY 2.5 7
Intelligence System:エージェントがアプリを動かす 4 つの⽅法 対応:不要 Computer Control 画⾯を⾒て操作する 対応:必要 AppFunctions
アプリの関数を呼ぶ 本セッションで深掘り Remote MCP A2UI バックエンドにつなぐ ⽣成された UI を描画 出典: developer.android.com/ai/intelligence-system、Android Developers Blog(2026/2‧5) 8
02 AppFunctions 9
AppFunctions とは 頼む相⼿ 操作するための⼝ 操作される側 PC Claude Code MCP Gmail‧GitHub
など スマホ Gemini AppFunctions アプリ アプリの機能を「関数」として公開し、AI エージェントが呼び出せるようにする仕組み 出典: developer.android.com/ai/appfunctions (2026 年 9 ⽉更新) 10
AppFunctions の仕組み アプリ Android OS エージェント ① 関数と説明(KDoc)を登録する ② 関数の⼀覧と説明を読む
③ 依頼に合う関数を選び、OS 経由で呼ぶ ④ 実⾏結果を返す 出典: developer.android.com/ai/appfunctions 11
公式サンプル:TODO を作成する AppFunction @AppFunctionServiceEntryPoint( serviceName = "TaskAppFunctionService", ...) abstract class
BaseTaskAppFunctionService : AppFunctionService() { /** * Creates a task based on [createTaskParams]. * * @param createTaskParams The parameter to describe * how to create the task. */ @AppFunction(isDescribedByKDoc = true) suspend fun createTask( createTaskParams: CreateTaskParams, ): Task { if (createTaskParams.title == null && ...) { throw AppFunctionInvalidArgumentException("...") } val id = taskRepository.createTask(...) return taskRepository.getTask(id)?.toTask() ?: throw AppFunctionElementNotFoundException("...") } } @AppFunctionServiceEntryPoint 関数をまとめるサービスの⼊⼝ KDoc AI が読む説明(何をする関数か‧引数) @AppFunction 関数を公開し、KDoc を説明として登録 AppFunction…Exception 失敗の理由をエージェントに伝える 出典: AppFunctions ロジックを実装する(公式サンプルを抜粋‧簡略化) 12
試してみたいけど… EAP(Early Access Program)は定員に達して、受付が⽌まっていた… 出典: forms.gle/GN5ybjQFhzHRCguM7(2026/10 確認) 13
⼿元の Android で探してみたら… $ adb shell cmd app_function list-app-functions 9
アプリ 47 関数 すでに端末に⽤意されていた • • • • • • • • • Google Play 開発者サービス 18 設定 13 eSIM 4 Pixel Buds 4 Digital Wellbeing 3 Google アプリ 2 メッセージ 1 権限コントローラ 1 Pixel サポート 1 ※ ただし Gemini から AppFunctions を呼ぶのは限定公開プレビュー。そこで今回は Claude Code を代わりに使って試す Pixel 10 / Android 17 で確認、2026/10 14
検証:AI エージェントは端末の関数をどう⾒つけて、どう呼ぶのか 構成 Claude Code(Mac) → adb(USB) → Pixel 10
/ Android 17 依頼 「ダークモードをオンにして」 Claude Code が adb shell cmd app_function を実⾏して、端末の関数を直接呼ぶ 問い 1 問い 2 ⾒つける 呼ぶ AI はどうやって関数を⾒つけ、使い⽅を知るのか 呼ぶと、何が起きるのか Pixel 10 / Android 17、adb shell cmd app_function で実⾏、2026/10(公開前の機能のため仕様は変わる前提) 15
問い 1 ⾒つける:関数名で絞り、項⽬の説明から探す 依頼 「ダークモードをオンにして」 1 関数を探す list-app-functions 2 項⽬を探す
getDeviceStateMetadata 3 項⽬と引数を決める 他アプリの共通仕様を参照 $ adb shell cmd app_function \ list-app-functions # 出力(抜粋)9 アプリ・47 関数 com.android.settings: getDeviceStateMetadata getDeviceStateItem setDeviceStateItem … ほか 10 個 # 説明・引数の定義:なし $ adb shell cmd app_function \ execute-app-function \ --package com.android.settings \ --function getDeviceStateMetadata \ --parameters '{}' # 291 項目を dark・ダーク・night・ # theme・ui_mode で絞り込み dark_ui_mode api_dark_ui_mode api_night_display … ほか 4 画面(計 7 画面) # 選んだ項目 key: dark_ui_mode/dark_ui_activated possibleValues: BOOL writable: true # 引数の形(Play 開発者サービス・ # Wellbeing の定義から) schema: devicestate.v1 SetDeviceStateItemParams: key(必須), value(必須) → 関数名で設定アプリに絞る → キーワードで 7 画⾯に絞れた → 引数は他アプリの定義で判明 Claude Code が adb shell cmd app_function で実⾏した記録から抜粋‧整形。Pixel 10 / Android 17、2026/10 16
問い 2 呼ぶ:その場で切り替わった 依頼 「ダークモードをオンにして」 4 今の値を読む 5 getDeviceStateItem 値を変える
setDeviceStateItem 6 確かめる getDeviceStateItem $ adb shell cmd app_function \ execute-app-function \ --package com.android.settings \ --function getDeviceStateItem \ --parameters '{"getDeviceStateItemParams": {"key":"dark_ui_mode/dark_ui_activated"}}' # 戻り値 jsonValue: "false" $ adb shell cmd app_function \ execute-app-function \ --package com.android.settings \ --function setDeviceStateItem \ --parameters '{"setDeviceStateItemParams": {"key":"dark_ui_mode/dark_ui_activated", "value":"true"}}' # 戻り値 isSuccessful: true currentValue: "true" # ④ と同じコマンドを再実行 $ adb shell cmd app_function \ execute-app-function … \ --function getDeviceStateItem … # 戻り値 jsonValue: "true" → 今はオフ(false) → ダークモードに切り替わった → 値も true に変わっていた Claude Code が adb shell cmd app_function で実⾏した記録から抜粋‧整形。Pixel 10 / Android 17、2026/10 17
わかったこと 特別なことはなく、探す → 決める → 呼ぶ だけだった PC で Claude
Code に頼むときと同じ流れ(実際そうなんですが‧‧) だから、正しく呼ばれるかは呼ばれる側(アプリ)の設計次第 Claude Code が adb shell cmd app_function で実⾏した記録から抜粋‧整形。Pixel 10 / Android 17、2026/10 18
開発者として AppFunctions をどう設計するか 観点 考えること ポイント 公開範囲 どの機能を関数として公開するか AI に頼まれそうな操作から選ぶ(例:写真検索)
説明 AI に関数を正しく選ばせる KDoc に⽤途と引数を書く。ないと AI は推測で補う ことになる 確認 取り消せない操作をどう扱うか 取り消せない操作は、アプリ側で確認を挟む 出典: AppFunctions 概要‧追加ガイド、Android Developers Blog(2026/2)、実機検証(2026/10) 19
03 Gemini Nano 20
Gemini Nano とは:OS が持つ AI で、Gemini Intelligence の前提 Android 端末
アプリ開発者が作る部分 Google / OS が提供する部分 スマホアプリ Gemini Intelligence (エージェント) AppFunctions @AppFunction で公開した機能 AIがアプリの機能を呼ぶ ML Kit GenAI API を使う機能 対応条件(nano-v3 以上) アプリがAIに推論を依頼 AICore + Gemini Nano(OS のシステムサービス) Gemini Nano:端末の中で動く Google の LLM。モデルの配布‧更新は AICore が管理する 出典: developer.android.com/ai/gemini-nano、android.com/gemini-intelligence(英語版、2026/10 確認) 21
アプリが AI を使う:ML Kit GenAI API で Gemini Nano を呼ぶ
呼ぶ側 呼ぶための⼝ 呼ばれる側 AI が アプリを使う Gemini AppFunctions アプリ アプリが AI を使う アプリ ML Kit GenAI API Gemini Nano (AICore) 端末の中で動く LLM の Gemini Nano を、アプリから ML Kit GenAI API で呼び出せる API:要約‧校正‧書き換え‧画像説明‧Prompt(Beta)、⾳声認識(Alpha) 制約:対応端末のみ(checkStatus() で確認)∕ フォアグラウンドのみ ∕ ⼊⼒は 4,000 トークン未満 出典: developers.google.com/ml-kit/genai(2026/10 確認) 22
使い所:⾼頻度で軽い処理を、端末で オンデバイスが向く処理 • • • 実例:⾃然⽂検索をタグに翻訳 オフラインでも動かしたい 機密データを端末の外に出したくない ⾼頻度の軽い処理(⾔い換え‧分類) 「春に着られる安いジャケット」
Prompt API がタグに⾔い換え ⻑い⼊⼒や複雑な処理は苦⼿。その場合はクラウドに 切り替える(ハイブリッド推論) クラウドで同じ処理をすると 1 万ユーザー × 1 ⽇ 10 回で ⽉約 4 万円 10 万ユーザーなら ⽉約 40 万円 ジャケット, アウター, 春, プチプラ, カジュ アル 既存のタグ検索に OR で渡す 単語⼀致では出なかった商品もヒット Gemini 2.5 Flash-Lite、1 回 ⼊⼒ 500‧出⼒ 100 トークンで試算 モデルには検索させず、⾔い換えだけ任せる 詳しくはブログで: DevelopersIO「Prompt API で⾃然⽂検索をタグに翻訳する」(2026/7) 23
04 まとめ 24
まとめ Gemini Intelligence で、Android は「AI がアプリを操作する」OS になる 開発者が関わる⼊⼝は 2 つ
AI がアプリを使う AppFunctions で機能を公開し、何をどう呼ばせるかをアプリ側で決める アプリが AI を使う 同じ端末の Gemini Nano を ML Kit GenAI API で呼び、軽い処理を端末内で済ませる 今からできること:⾃分たちのアプリで、AI に任せるとユーザーの⼿間が減る場⾯を探す 25
ご清聴ありがとうございました