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
WWDC26参加レポート ~In Person Labはいいぞ~
Search
kntk
June 19, 2026
Programming
61
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WWDC26参加レポート ~In Person Labはいいぞ~
Recap of WWDC26 Mercari
kntk
June 19, 2026
More Decks by kntk
See All by kntk
Swiftのレキシカルスコープ管理
kntkymt
0
220
"奇妙"なSwift
kntkymt
3
350
SwiftのSIMDとその利用方法
kntkymt
2
330
Swiftのオーバーロード選択のスコア規則21種類
kntkymt
0
220
Meet high-performance image filtering in Swift
kntkymt
0
180
プログラミングを始めてからiOSエンジニアになるまで
kntkymt
0
1.8k
SwiftUIでの非同期処理データの状態管理を考える
kntkymt
1
2.5k
大学で出席管理アプリ・掲示板閲覧アプリを開発・運用している学生の話
kntkymt
1
2.6k
Swiftを知って欲しい
kntkymt
1
160
Other Decks in Programming
See All in Programming
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
180
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
540
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.3k
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
280
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
2k
net-httpのHTTP/2対応について
naruse
0
470
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
7
4.1k
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
160
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4k
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
110
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
230
Webフレームワークの ベンチマークについて
yusukebe
0
160
Featured
See All Featured
The Curse of the Amulet
leimatthew05
1
13k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The SEO identity crisis: Don't let AI make you average
varn
0
490
Are puppies a ranking factor?
jonoalderson
1
3.5k
Bash Introduction
62gerente
615
220k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
190
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Exploring anti-patterns in Rails
aemeredith
3
400
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Transcript
88%$ࢀՃϨϙʔτ ʙ*O1FSTPO-BC͍͍ͧʙ !LOUL 88%$3FDBQ!ϝϧΧϦ
88%$ఔ %BZ 3FDFQUJPO %BZ ,FZOPUF 1MBUGPSN4UBUFPGUIF6OJPO *O1FSTPO-BC %BZ %FWFMPQFS4FTTJPO
88%$ఔ %BZ 3FDFQUJPO %BZ ,FZOPUF 1MBUGPSN4UBUFPGUIF6OJPO *O1FSTPO-BC %BZ %FWFMPQFS4FTTJPO
*O1FSTPO-BC w"QQMFͷΤϯδχΞʹࣗ༝ʹ࣭Ͱ͖Δ࣌ؒ
*O1FSTPO-BC w"QQMFͷΤϯδχΞʹࣗ༝ʹ࣭Ͱ͖Δ࣌ؒ wݱͰ͔͠ମݧͰ͖ͳ͍ΠϕϯτͷҰͭ
*O1FSTPO-BC w"QQMFͷΤϯδχΞʹࣗ༝ʹ࣭Ͱ͖Δ࣌ؒ wݱͰ͔͠ମݧͰ͖ͳ͍ΠϕϯτͷҰͭ wࣄલʹ࣭จࢿྉΛ༻ҙ͢ΔͱମݧΛ࠷େԽͰ͖Δ
*O1FSTPO-BC w"QQ*OUFOUTͷ࣮ߦϓϩηεʹ͍ͭͯ wඇυΩϡϝϯτڍಈ
"QQ*OUFOUTͷ࣮ߦϓϩηε @AppIntent(schema: .system.search) struct ShowInAppSearchResultsIntent: AppIntent { var criteria: StringSearchCriteria
func perform() async throws -> some IntentResult { // ԿΒ͔ͷॲཧ return .result() } }
"QQ*OUFOUTͷ࣮ߦϓϩηε @AppIntent(schema: .system.search) struct ShowInAppSearchResultsIntent: AppIntent { var criteria: StringSearchCriteria
func perform() async throws -> some IntentResult { // ԿΒ͔ͷॲཧ return .result() } } QFSGPSNؔͲͷϓϩηεͰݺΕΔʁ
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹ w݅ʹԠͯ͡બ
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ w *OUFOU͕0QFO*OUFOU TVQQPSUFE.PEFGPSFHSPVOE ͷ߹ w ৗʹΞϓϦϓϩηε w *OUFOU͕UBSHFUͷॲཧ͔ΒτϦΨʔ͞Εͨ߹ɹ#VUUPO JOUFOU
ͳͲ w ͦͷUBSHFUͷϓϩηε w *OUFOU͕γεςϜ͔ΒτϦΨʔ͞Εͨ߹ w ΞϓϦϓϩηε͕ੜ͖͍ͯΕΞϓϦϓϩηε w ΞϓϦϓϩηε͕ࢮΜͰ͍ΕଞUBSHFUϓϩηε
"QQ*OUFOUTͷ࣮ߦϓϩηεࣄલௐࠪ IUUQTHJUIVCDPNLOULZNUJPTBQQJOUFOUTTBNQMFUSFFNBJONVMUJUBSHFUTTIBSFEJOUFOUQSPDFTT
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹ w݅ʹԠͯ͡બ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 )J ͲΜͳ࣭Λ͖࣋ͬͯͨΜ͍ͩʁ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 "QQ*OUFOUTͷ࣮ߦϓϩηεϧʔϧ ʹ͍ͭͯฉ͖͍ͨ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 ͳΔ΄Ͳʂ ͦͷΤϦΞʹৄ͍͠ΤϯδχΞ
͕͍Δ͔ΒҊ͢ΔΑʂ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 ൴͕"QQ*OUFOUTͷ࣮ߦϓϩηε ʹ͍ͭͯฉ͖͍ͨΒ͍͠ʂ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 ͪΖΜʂ
*O1FSTPO-BC࣭ 😄 😄 😄 😄 😄 "QQ*OUFOUTΤϦΞ 😄 "QQ*OUFOUT͕୯ҰͷUBSHFUͷΈʹ ϦϯΫ͞Ε͍ͯΔ߹ʜ
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹ w݅ʹԠͯ͡બ
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w୯ҰͷUBSHFUʹͷΈϦϯΫ͞Ε͍ͯΔ߹ wͦͷUBSHFUͷϓϩηεͰ࣮ߦ͞ΕΔ:FT wෳͷUBSHFUʹϦϯΫ͞Ε͍ͯΔ߹ w݅ʹԠͯ͡બ:FT
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w *OUFOU͕0QFO*OUFOU TVQQPSUFE.PEFGPSFHSPVOE ͷ߹ w ৗʹΞϓϦϓϩηε w *OUFOU͕UBSHFUͷॲཧ͔ΒτϦΨʔ͞Εͨ߹ɹ#VUUPO JOUFOU
ͳͲ w ͦͷUBSHFUͷϓϩηε w *OUFOU͕γεςϜ͔ΒτϦΨʔ͞Εͨ߹ w ΞϓϦϓϩηε͕ੜ͖͍ͯΕΞϓϦϓϩηε w ΞϓϦϓϩηε͕ࢮΜͰ͍ΕଞUBSHFUϓϩηε
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ w *OUFOU͕0QFO*OUFOU TVQQPSUFE.PEFGPSFHSPVOE ͷ߹ w ৗʹΞϓϦϓϩηε w *OUFOU͕UBSHFUͷॲཧ͔ΒτϦΨʔ͞Εͨ߹ɹ#VUUPO JOUFOU
ͳͲ w ͦͷUBSHFUͷϓϩηε w *OUFOU͕γεςϜ͔ΒτϦΨʔ͞Εͨ߹ w ΞϓϦϓϩηε͕ੜ͖͍ͯΕΞϓϦϓϩηε w ΞϓϦϓϩηε͕ࢮΜͰ͍ΕଞUBSHFUϓϩηε 😄͓͓ɺ߹ͬͯΔΑʂͦ͏ͦ͏ɺ͜͏͍͏ෳࡶͳϧʔϧ͕͋ΔΜͩΑͶ
"QQ*OUFOUTͷ࣮ߦϓϩηε࣭ 😄͋ͱɺ࣮J04͔ΒϓϩύςΟͰϓϩηεΛࢦఆͰ͖ΔΑ͏ʹͨ͠Αʂ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBQQJOUFOUTBQQJOUFOUBMMPXFEFYFDVUJPOUBSHFUTLPM
*O1FSTPO-BC w"QQMFͷΤϯδχΞʹࣗ༝ʹ࣭Ͱ͖Δ࣌ؒ w࣌ؒఔ wͪ࣌ؒগͳ͍ͷͰ࣌ؒʹ༨༟͋Δ
*O1FSTPO-BC࣭༰ w"QQ*OUFOUTͷ࣮ߦϓϩηεʹ͍ͭͯ w"QQ4DIFNBͷޓੑ w'FFECBDL"TTJTUBOUͰใࠂͨ͠όάΛฉ͖ʹߦ͘
*O1FSTPO-BC࣭༰ w"QQ*OUFOUTͷ࣮ߦϓϩηεʹ͍ͭͯ w"QQ4DIFNBͷޓੑ w'FFECBDL"TTJTUBOUͰใࠂͨ͠όάΛฉ͖ʹߦ͘
w "TTJTUBOU4DIFNBͱ͍͏໊લͰ9DPEF4%,͔Βଘࡏ "QQ4DIFNBͷޓੑ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBQQJOUFOUTBTTJTUBOUTDIFNBTTZTUFNJOUFOU
w "TTJTUBOU4DIFNBͱ͍͏໊લͰ9DPEF4%,͔Βଘࡏ w 9DPEF4%,͔Β"QQ4DIFNBϦωʔϜ "QQ4DIFNBͷޓੑ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBQQJOUFOUTBQQTDIFNBTZTUFNJOUFOU
w "TTJTUBOU4DIFNBͱ͍͏໊લͰ9DPEF4%,͔Βଘࡏ w 9DPEF4%,͔Β"QQ4DIFNBϦωʔϜ w "QQ*OUFOUͰͷར༻ํ๏ಉ͡ʢιʔεޓʣ "QQ4DIFNBͷޓੑ
w "TTJTUBOU4DIFNBͱ͍͏໊લͰ9DPEF4%,͔Βଘࡏ w 9DPEF4%,͔Β"QQ4DIFNBϦωʔϜ w "QQ*OUFOUͰͷར༻ํ๏ಉ͡ʢιʔεޓʣ w J04 ʹόοΫϙʔτ͞Ε͍ͯΔ "QQ4DIFNBͷޓੑ
"QQ4DIFNBͷޓੑ @AppIntent(schema: .system.search) struct ShowInAppSearchResultsIntent: AppIntent { var criteria: StringSearchCriteria
func perform() async throws -> some IntentResult { // ԿΒ͔ͷॲཧ return .result() } }
"QQ4DIFNBͷޓੑ 😄 "QQ*OUFOUTΤϦΞ 9DPEF "TTJTUBOU4DIFNBͰϏϧυͨ͠ΞϓϦ J04ͷ4JSJ"*͔ΒೝࣝͰ͖Δʁ
"QQ4DIFNBͷޓੑ 😄 "QQ*OUFOUTΤϦΞ جຊతʹͰ͖ΔΑʂ
"QQ4DIFNBͷޓੑ 😄 "QQ*OUFOUTΤϦΞ جຊతʹͰ͖ΔΑʂ 9DPEFͰϏϧυ࣮͚ͤ֬ͩ͠Ͳ ͠ͳͯ͘େৎͳ4DIFNB͋ΔΑ
w 9DPEF "TTJTUBOU4DIFNBͰ4JSJ"*ରԠΞϓϦΛϦϦʔεͰ͖Δʂ "QQ4DIFNBͷޓੑ
"QQ4DIFNBͷཪଆ wϏϧυ࣌ʹ.FUBEBUBBQQJOUFOUTΛग़ྗ
"QQ4DIFNBͷཪଆ wϏϧυ࣌ʹ.FUBEBUBBQQJOUFOUTΛग़ྗ
"QQ4DIFNBͷཪଆ wFYUSBDUBDUJPOTEBUB KTPO { "actions": { "SearchItemIntent": { "assistantDefinedSchemaTraits": [],
"assistantDefinedSchemas": [ { "domain": "system", "name": "ShowInAppSearchResultsIntent", "version": "1.0.0" } ], "authenticationPolicy": 0, "availabilityAnnotations": { "LNPlatformNameWildcard": { "introducedVersion": "*" } },
"QQ4DIFNBͷཪଆ wFYUSBDUBDUJPOTEBUB KTPO w4JSJ͕SVOUJNFͰಡΈऔΔ
"QQ4DIFNBͷཪଆ ✅͍͔ͭ͘ͷ4DIFNB9DPEFલޙͰ NFUBEBUBग़ྗʹ͕ࠩͳ͍͜ͱΛ֬ೝ
*O1FSTPO-BC࣭༰ w"QQ*OUFOUTͷ࣮ߦϓϩηεʹ͍ͭͯ w"QQ4DIFNBͷޓੑ w'FFECBDL"TTJTUBOUͰใࠂͨ͠όάΛฉ͖ʹߦ͘
*O1FSTPO-BC·ͱΊ w࣭ΛӳޠͰࣄલʹ༻ҙ͓ͯ͘͠ wϝϞΞϓϦɺจষΛݟͤΒΕΔܗ͕ྑ͍ wʢͰ͖ͨΒʣΤϏσϯε༻ҙ͢Δ w࣭ଟΊʹ༻ҙ͢Δͱྑ͍ w'"μΠϨΫτΞλοΫޮՌత
͓·͚7JTVBM*OUFMMJHFODFࢀߟࢿྉ w 88%$ΞϓϦʹϏδϡΞϧΠϯςϦδΣϯεΛ౷߹͢ΔͨΊͷϕετϓϥΫςΟε w IUUQTEFWFMPQFSBQQMFDPNKQWJEFPTQMBZXXED w ެࣜαϯϓϧίʔυ w IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPO"QQ*OUFOUTBEPQUJOHBQQJOUFOUTUP TVQQPSUTZTUFNFYQFSJFODFT
w LOULͷαϯϓϧίʔυʢ࠷খߏίʔυʹͳ͍ͬͯΔͷͰ͓͢͢ΊͰ͢ʣ w IUUQTHJUIVCDPNLOULZNUJPTBQQJOUFOUTTBNQMFUSFFNBJOWJTVBMJOUFMMJHFODF QSPDFTT