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
AppIntentsの用途 - AppleのGPT元年
Search
notoroid
June 22, 2024
Programming
1
140
AppIntentsの用途 - AppleのGPT元年
WWDC24 でのアプリ内のApp Intentsの用途が強化された点についての説明。Intentsで使用するentityをSpotlight検索の検索対象に加えることができるようになる。
notoroid
June 22, 2024
Tweet
Share
More Decks by notoroid
See All by notoroid
ZIPでくれ - Apple謹製 geocoding/ reverse geocoding
notoroid
0
38
WeatherKit iOS18 update - お天気の更新
notoroid
0
45
Privacy manifests - Appleと開発コミュニティ
notoroid
1
200
とっさのAutoLayout - Rewind autolayout
notoroid
0
90
UVC(USB video class)と マルチプラットフォーム - UVC support by Apple multiplatform
notoroid
0
320
SwiftUIむけに 整理された状態監視 Observation
notoroid
0
710
よせあつめSwift - Swift5.9
notoroid
1
650
Transferable - SwiftUI ドキュメントアプリ
notoroid
2
420
整理されたSwift言語仕様 - Swift 5.7 any/some
notoroid
1
1k
Other Decks in Programming
See All in Programming
Alba: Why, How and What's So Interesting
okuramasafumi
0
210
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
26
6k
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
420
ASP.NET Core の OpenAPIサポート
h455h1
0
120
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.9k
良いユニットテストを書こう
mototakatsu
11
3.6k
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
550
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
450
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
28
4.2k
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
940
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
390
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
1.4k
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Music & Morning Musume
bryan
46
6.3k
Documentation Writing (for coders)
carmenintech
67
4.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
870
Art, The Web, and Tiny UX
lynnandtonic
298
20k
How to Ace a Technical Interview
jacobian
276
23k
Done Done
chrislema
182
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Transcript
"QQ*OUFOUTͷ༻్ "QQMFͷ(15ݩ ೳొཁ !OPUPSPJE J1IPOFΞϓϦ։ൃऀ݄
͢༰ w "QQ*OUFOUT֓ཁ w ΞϓϦ্ͷ"QQ*OUFOUTద༻ൣғ
͞ͳ͍༰ w FYUFOUJPOͰͷ*OUFOU w 'JMF&OUJUZ w $POUSPMXJEHFU
͓ w ͏͋͢͡88%$ w "QQ*OUFOUTͷഎܠ w "QQ*OUFOUTͷ৽ػೳ
ࣗݾհ w J1IPOFΞϓϦ։ൃऀ 9!OPUPSPJE w ΞϓϦ։ൃऀྺ ʙ w
ΞϓϦ࡞࢛ͬͯੈل ౸ୡ w झຯήʔϜ ࣹਆܦ͕ਰ͑ͱͷർΕ͕ൈ͚ͳ͍
͏͋͢͡88%$
88%$ ։࠵͞Ε·ͨ͠
৽͍͠ϋʔυΣΞൃද͕ ͳ͔ͬͨͷ͕ऐ͍͠
جௐߨԋͷ༰ ബຯ͔ͩͬͨʜ
جௐߨԋͱ͍͑
None
͏͋͢͡
None
"QQMF*OUFMMJHFODFհ༰ʹ ৽ػೳؚ͕·Ε͍ͯͨͷͰ 04͝ͱͷհ͕ബຯͩͬͨ
04Ͱڞ௨Խ͞Εͨػೳͱͯ͠ "QQ*OUFOUTΛ͍ͬͯΔͷ͕ଟ͍
"QQ*OUFOUTʹ͍ͭͯઆ໌
"QQ*OUFOUTͷഎܠ
"QQ*OUFOUTొͷഎܠͱͳͬͨ ͷͷ4JSJͷొ
ԻφϏήʔγϣϯγεςϜ w 4JSJࣾΛ"QQMF͕ങऩ w J04͔Βొ w J1IPOF4͔Βར༻Մೳ w J04͔Β4JSJ,JUͱͯ͠αʔυ ύʔςΟʔʹެ։
4JSJ
4JSJͷαʔυύʔςΟʔରԠ શͯͷΞϓϦʹ։͔Ε͍ͯΔ w 4JSJ,JUެ։લ͔Β"QQMF͕ԻφϏήʔγϣϯʹରԠͯ͠΄͍͠αʔϏεΛબΜͰ͍ͨ w ܾࡁ w ϥΠυγΣΞ w ϑʔυσϦόϦʔ
w ֤छφϏήʔγϣϯ 04ʹΞϓϦͷػೳ͕౷߹͞ΕͯࠔΒͳ͍ΞϓϦͦ͏ଟ͘ͳ͍
4JSJͷಛ ԻೝࣝͰݎ࣮ʹಈ࡞͢ΔൣғͰ༏ल w ΞϓϦ͕ఏڙ EPOBUF ͢ΔจݴͷΈ࣮ߦͰ͖Δ w 04ͷΩʔϫʔυݕࡧػೳ 4QPUMJHIU ͷػೳΛ౷߹
w ΞϓϦ໊ͷݕࡧ w ϝʔϧͳͲͷݕࡧ
4JSJͷಈ࡞ᶃ ֎෦ΤΫεςϯγϣϯͰಈ࡞ ઃఆϑΝΠϧ 04͕ΞϓϦʹؚ·Ε͍ͯΔ֦ுػೳΛ֬ೝɻ ֦ுػೳͷઃఆ JOGPQMJTU Λ֬ೝ͠4JSJͰݺͼ ग़͠ՄೳͳػೳΛ04͕ཧɻ
͠Β͘4JSJΛӡ༻ͯ͠ "QQMFߟ͑ͨ
ΞϓϦ͕ಈ࡞͍ͯ͠ͳ͍ͱ ΞϓϦͷػೳΛ4JSJʹఏڙͰ͖ͳ͍ͷͰ
4JSJͷಈ࡞ᶄ ಈ࡞தΞϓϦ͔Βػೳఏڙ ॳظԽλΠϛϯά ΞϓϦ͕ىಈதʹ04ʹ4JSJ͕ݺͼग़ ͠ՄೳͳػೳΛఏڙ͢Δɻ ىಈ %POBUF
"QQMFߟ͑ͨ
04ʹΞϓϦ͕ػೳΛఏڙ͢Δ Έͷ༻్ʹ͑ΔͷͰ
֦ுػೳΛଞͷ༻్ʹద༻ Οδοτͷઃఆ
4JSJ,JU͔Β"QQ*OUFOUT 4XJGUઐ༻ͷϑϨʔϜϫʔΫʹมߋ 0CKFDUJWF$ 9DPEFੜ 4XJGU 4JSJ,JU $VTUPN*OUFOU ʙ 4XJGUHFOFSJD
4XJGU ରԠݴޠ ϘΠϥʔϓϨʔτ ίʔυରࡦ "QQ*OUFOUT ʙ μΠΞϩάੜ 4XJGU6* 4UPSZCPBSE6*,JU"QQ,JU ΤϯςΟςΟ ఆٛ ઃఆϑΝΠϧϕʔε ίʔυϕʔε
"QQ*OUFOUTͷద༻ൣғ &YUFOTJPOͱΞϓϦੜڞଘ "QQ*OUFOUT &YUFOTJPO ΞϓϦ w4JSJTIPSUDVU w8JEHFUDPO fi HSBUJPO wΞΫγϣϯ
wίϯτϩʔϧ w"QQMFQFODJMQSPͷγϣʔ τΧοτ w4JSJTIPSUDVU
"QQ*OUFOUTͷద༻ൣғ &YUFOTJPOͱΞϓϦੜڞଘ "QQ*OUFOUT &YUFOTJPO ΞϓϦ w1SPT wΞϓϦ͕ىಈ͠ͳͯ͘ಈ࡞ w$POT wΞϓϦͱͷσʔλڞ༗ʹ "QQ(SPVQ,FZDIBJO͕ඞ
ཁ w1SPT wΞϓϦͷ๛ͳใ͕ར༻Մ ೳ wΞΫγϣϯରॲ͕༰қ w$POT wΞϓϦΛىಈ͠ͳ͍ͱఏҊ͕ ߋ৽͞Εͳ͍
"QQ*OUFOUTͷ৽ػೳ
"QQ*OUFOUTͷഎܠΛ આ໌͢Δ͚ͩͰई
"QQMF"QQ*OUFOUTͷઆ໌ʹ ۤ࿑͍ͯ͠ΔΑ͏Ͱ
w IUUQTEFWFMPQFSBQQMFDPN WJEFPTQMBZ XXED w ΞϓϦͷίΞػೳ͕ΞϓϦʹ͓ ͞·͍ͬͯΔͷར༻ऀͷମݧΛ ଛͳ͍ͬͯΔ͜ͱΛड़্ͨͰ "QQ*OUFOUTΛͬͨղܾखஈΛ આ໌
w αϯϓϧίʔυͷ·· #SJOHZPVSBQQ`TDPSFGFBUVSFTUP VTFSTXJUI"QQ*OUFOUT88%$ 7JEFPT"QQMF%FWFMPQFS
ͷηογϣϯ༰ʹ ໟ͕ੜ͑ͨఔ
ຊ໋ͪ͜Β
w IUUQTEFWFMPQFSBQQMFDPN WJEFPTQMBZ XXED w "QQ*OUFOUTΛͬͨ৽ػೳΛઆ ໌ w ͷαϯϓϧίʔυ༗Γ 8IBU`TOFXJO"QQ*OUFOUT
88%$7JEFPT"QQMF %FWFMPQFS
"QQ*OUFOUTͷ৽ػೳ w 4JSJͷγϣʔτΧοτͰར༻Ͱ͖ΔFOUJUZΛ4QPUMJHIUݕࡧʹొͰ͖Δ w "QQMFଆͰ༻్͚ͷ*OUFOUTςϯϓϨʔτΛ૿Ճ༧ఆ
*OUFOUTͱ&OUJUZ ҙਤͱଘࡏ ʓʓΛ։͍͍ͯͩ͘͞ɻ ˚˚Λ։͍͍ͯͩ͘͞ɻ *OUFOUT" *OUFOUT# (SPVQ *UFN *UFN *UFN
*OUFOUTʹ͢ύϥϝʔλʔͱ ͯ͠FOUJSZΛ͢͜ͱ͕Ͱ͖ Δɻ άϧʔϓάϧʔϓͷΞΠς ϜͳͲΛͤΔܗʹม͢Δ ͚ͩɻ ˚˚ΛબΜͰ։͘ɻ *OUFOUT$
৽ػೳᶃ&OUJUZΛ4QPUMJHIUʹొՄೳʹ 4JSJܦ༝Ͱ4QPUMJHIUݕࡧʹؚΊΔ͜ͱ͕Մೳ (SPVQ *UFN *UFN *UFN 4QPUMJHIU 4QPUMJHIUͰݕࡧͨ݁͠ՌΛλοϓͨ͋͠ͱʹΞϓϦ Ͱ։͘߹ɺ&OUJUZ͝ͱʹ0QFO*OUFOUʹ४ͨ͡ *OUFOUΛ༻ҙ͢Δɻ
ΞϓϦͰ4QPUMJHIUݕࡧ ͢Ͱʹ࣮ݱࡁΈ
w IUUQTEFWFMPQFSBQQMFDPN XXED w "QQ*OUFOUTܦ༝Ͱఏڙ͞Εͨ FOUJUZݕࡧ༻ͷύϥϝʔλʔΛ Ճ w J04͔Β͋ͬͨػೳʹ͍ͭʹ٭ ޫ͕͋ͨΔ
4VQQPSUTFNBOUJDTFBSDIXJUI $PSF4QPUMJHIU88%$ 7JEFPT"QQMF%FWFMPQFS
J04·Ͱͷ*OUFOUT&OUJUJFT
J04·Ͱͷ*OUFOUT&OUJUJFT
༻్͚ͷ*OUFOUTςϯϓϨʔτ ਪΛޮ͔ͤΔͨΊͷࢪ࡞ w "QQMF"QQMF*OUFMMJHFODFରԠͰͰ͖Δ͜ͱΛ૿͢ඞཁʹഭΒΕ͍ͯΔ w ༻్ 4DIFNF Λఆٛ͢Δ͜ͱͰ w 04ଆ͕*OUFOU༻్ΛѲͰ͖Δ
w ΞϓϦଆͰͷ࣮Λ؆ܿԽͰ͖Δ
৽ػೳᶄ༻్͚ͷ*OUFOUTςϯϓϨʔτ .BLJOH:PVS"QQT'VODUJPOBMJUZ"WBJMBCMF5P4JSJ"TTJTUBOU4DIFNBT&YBNQMF"QQ*OUFOUT"MCVN"MCVN*OUFOUTTXJGU @AssistantIntent(schema: .photos.createAlbum) struct CreateAlbumIntent: AppIntent { var name:
String @Dependency var library: MediaLibrary func perform() async throws -> some ReturnsValue<AlbumEntity> { let album = try await library.createAlbum(with: name) return .result(value: album.entity) } } 1IPUPTͷΞϧόϜΛ࡞
!"TTJTUBOU*OUFOU w *OUFOUTʹࢦఆͰ͖ΔϚΫϩ w 4DIFNFʹج͍ͮͨ*OUFOUTͷ࣮Λߦ͏ w 04ଆʹ*OUFOU͕ԿͰ͋Δ͔ͷώϯτΛఏڙ w TDIFNFͲͷυϝΠϯ ൣᙝ
ʹؚ·Εͨಈ࡞ͳͷ͔Λنఆ͢Δ w ྫTZTUFN QIPUPT NBJM w ݄ݱࡏυϝΠϯTZTUFN QIPUPT NBJMͷΈ
·ͱΊ w"QQMFϚϧνϓϥοτϑΥʔϜઓུ͕ޭΛ͠"QQMF*OUFMMJHFODF Λల։͠Α͏ͱ͍ͯ͠·͢ w04ʹΞϓϦػೳΛఏڙ EPOBUF Έͱͯ͠"QQ*OUFOUT͕උ͞ Ε͍ͯ·͢ w"QQMF"QQMF*OUFMMJHFODFͷ׆༻ʹඞཁͳΞϓϦͷใΛ"QQ *OUFOUTΛ༻ͯ͠Ҿ͖ग़ͦ͏ͱ͍ͯ͠·͢ w"QQMFͷҙਤ͕ޭ͢Δ͔ͬͨ͜ͱͰ͋Γ·ͤΜ͕ɺΞϓϦ
Ͱݕࡧػೳར༻Ͱ͖ͦ͏Ͱ͢
ࢀߟ w 8IBU`TOFXJO"QQ*OUFOUT 88%$7JEFPT"QQMF %FWFMPQFS w #SJOHZPVSBQQ`TDPSFGFBUVSFT UPVTFSTXJUI"QQ*OUFOUT 88%$7JEFPT"QQMF %FWFMPQFS
w 4VQQPSUTFNBOUJDTFBSDIXJUI $PSF4QPUMJHIU88%$ 7JEFPT"QQMF%FWFMPQFS w #SJOHZPVSBQQUP4JSJ 88%$7JEFPT"QQMF %FWFMPQFS w $PSF4QPUMJHIUc"QQMF %FWFMPQFS%PDVNFOUBUJPO