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
190
AppIntentsの用途 - AppleのGPT元年
WWDC24 でのアプリ内のApp Intentsの用途が強化された点についての説明。Intentsで使用するentityをSpotlight検索の検索対象に加えることができるようになる。
notoroid
June 22, 2024
Tweet
Share
More Decks by notoroid
See All by notoroid
GeometryReader - SwiftUI
notoroid
0
53
iOS 26 SDKの新機能 (liquid抜き) - iOS26orLaterUpdateAndSceneForUIKit
notoroid
0
140
UIテスト自動化サポート- Testbed for XCUIAutomation practice
notoroid
0
190
UIViewController - Interactive PopGesture
notoroid
0
59
Xcodeショートカット 2025年版
notoroid
0
78
ZIPでくれ - Apple謹製 geocoding/ reverse geocoding
notoroid
0
120
WeatherKit iOS18 update - お天気の更新
notoroid
0
97
Privacy manifests - Appleと開発コミュニティ
notoroid
1
250
とっさのAutoLayout - Rewind autolayout
notoroid
0
140
Other Decks in Programming
See All in Programming
業務でAIを使いたい話
hnw
0
240
Functional Calisthenics in Kotlin: Kotlinで「関数型エクササイズ」を実践しよう
lagenorhynque
0
100
Bakuraku E2E Scenario Test System Architecture #bakuraku_qa_study
teyamagu
PRO
0
470
Kotlin 2.2が切り拓く: コンテキストパラメータで書く関数型DSLと新しい依存管理のかたち
knih
0
360
Researchlyの開発で参考にしたデザイン
adsholoko
0
110
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
310
Webサーバーサイド言語としてのRustについて
kouyuume
1
5.1k
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
200
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
3
1.8k
CSC509 Lecture 11
javiergs
PRO
0
290
組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する #phpconfuk
o0h
PRO
9
3.4k
CSC305 Lecture 14
javiergs
PRO
0
250
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.5k
Six Lessons from altMBA
skipperchong
29
4.1k
Git: the NoSQL Database
bkeepers
PRO
431
66k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Done Done
chrislema
186
16k
Balancing Empowerment & Direction
lara
5
730
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
The Cult of Friendly URLs
andyhume
79
6.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Building Adaptive Systems
keathley
44
2.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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