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
大規模プロダクトで実践するAI活用の仕組みづくり
Search
daiki
November 16, 2025
Technology
1
240
大規模プロダクトで実践するAI活用の仕組みづくり
daiki
November 16, 2025
Tweet
Share
More Decks by daiki
See All by daiki
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
9
2.1k
状態管理ライブラリZustandの導入から運用まで
k1tikurisu
3
750
Other Decks in Technology
See All in Technology
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
6
370
エンタープライズ企業における開発効率化のためのコンテキスト設計とその活用
sergicalsix
1
370
What's the recommended Flutter architecture
aakira
3
1.3k
やり方は一つだけじゃない、正解だけを目指さず寄り道やその先まで自分流に楽しむ趣味プログラミングの探求 2025-11-15 YAPC::Fukuoka
sugyan
1
580
「O(n log(n))のパフォーマンス」の意味がわかるようになろう
dhirabayashi
0
110
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
49
14k
Flutterで実装する実践的な攻撃対策とセキュリティ向上
fujikinaga
1
360
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
22
4.7k
コンピューティングリソース何を使えばいいの?
tomokusaba
1
150
フライトコントローラPX4の中身(制御器)を覗いてみた
santana_hammer
1
140
Spring Boot利用を前提としたJavaライブラリ開発方法の提案
kokihoshihara
PRO
2
170
[mercari GEARS 2025] Keynote
mercari
PRO
0
190
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Practical Orchestrator
shlominoach
190
11k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
1.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Done Done
chrislema
186
16k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
970
GraphQLとの向き合い方2022年版
quramy
49
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
େنϓϩμΫτͰ࣮ફ͢ΔAI׆༻ͷ Έͮ͘Γ EBJLJ+4$POG+1$ZCP[V*OD
EBJLJ • αΠϘζגࣜձࣾ • ϑϩϯτΤϯυΤϯδχΞ • LJOUPOF։ൃνʔϜʹॴଐ
ίʔσΟϯάΤʔδΣϯτͬͯ·͔͢ʁ • (JU)VC$PQJMPU • $VSTPS • $PEFY • $MBVEF$PEF
• ʜ
ͰɺνʔϜશମͰ׆༻Ͱ͖͍ͯ·͔͢ʁ • ։ൃϑϩʔʹΈࠐ·Ε͍ͯΔ • ݟ͕νʔϜશମɾԣஅͰڞ༗͞Ε͍ͯΔ • ୭Ͱ͍͜ͳ͍ͯ͠Δ • ʜ
ݸਓͷ"*׆༻͔ΒνʔϜͷ"*׆༻ʹ Ϊϟοϓ͕͋Δ
✅ίʔσΟϯάΤʔδΣϯτͷಋೖੵۃత • (JU)VC$PQJMPU • $VSTPS • $MBVEF$PEFʜ ❌νʔϜϨϕϧͰ͍͑ͯͳ͍ •
ݟڞ༗͕ͳ͍ ◦ ͏·͑ͯ͘Δਓ͍ΔΒ͍͚͠ͲͲ͏͍ͬͯͬͯΔ͔Βͳ͍ɻɻ αΠϘζͷ"*ಋೖͷঢ়گʢCFGPSFʣ
ࠓ͓͢͠Δ͜ͱ • αΠϘζͷLJOUPOF։ൃνʔϜͷऔΓΈͷ͝հ • ݸਓͷ"*׆༻ͱνʔϜͷ"*׆༻ͷΪϟοϓΛݮΒͨ͢Ίʹ ◦ ͲΜͳΈΛ࡞ΓͲͷΑ͏ʹ"*Λ׆༻͍ͯ͠Δ͔ ◦ ͦͷΈΛνʔϜʹਁಁͤ͞Δࢪࡦ ◦
ͲΜͳޮՌ͕͔͋ͬͨ
αΠϘζΤϯδχΞ࠾༻ϐον<> <>IUUQTTQFBLFSEFDLDPNDZCP[VJOTJEFPVUDZCP[VFOHJOFFSSFDSVJU TMJEF
LJOUPOF • Ҏ্ӡ༻͞Ε͍ͯΔେنαʔϏε • ϑϩϯτΤϯυ͚ͩͰສߦҎ্ͷίʔυϕʔεΛ࣋ͭ ◦ ސ٬ྖҬ͝ͱʹνʔϜɾίʔυϕʔεׂ͕͞Ε͍ͯΔ • ։ൃ͢ΔͨΊʹෳࡶͳυϝΠϯ͕ࣝඞཁ
LJOUPOFΛ"*Ͱ࡞͍ͬͯͨ͘Ίʹɺ ·ͣɺ"*ʹυϝΠϯࣝΛ༩͑ΔΈΛ࡞Δ
"*ͷͨΊͷΨΠυΛ࡞Δ • ༻ޠू • ػೳͷઆ໌ • ΞʔΩςΫνϟ • ςετํ •
ʜ
"*ͷͨΊͷΨΠυΛ࡞ΔʢBJHVJEFʣ • ίʔσΟϯάΤʔδΣϯτʹґଘ͠ͳ͍ϚʔΫμϯͰཧ ◦ $-"6%&NEɺ"(&/54NE͔Βࢀরͤ͞Δ
ϙΠϯτ • ίʔσΟϯάΤʔδΣϯτʹґଘ͠ͳ͍͜ͱ ◦ ͦͷ࣌༏Ε͍ͯΔΤʔδΣϯτɺ༻్ʹԠͨ͡ΤʔδΣϯ τΛ͍͚ΒΕΔΑ͏ʹ • ϚʔΫμϯͰϦϙδτϦͷதʹཧ͢Δ͜ͱ ◦ طଘͷυΩϡϝϯτʢ(JU)VC
$POGMVFODFͳͲʣΛ.$1ܦ ༝Ͱಡ·ͤΔͷɺɺ ▪ τʔΫϯͷফඅ͕ܹ͘͠ͳΓ͍͢ ▪ ݹ͘ͳ͍ͬͯΔ͜ͱଟ͘ɺ৽ͳঢ়ଶʹอͭͷ͕͠ ͍
BJHVJEFͷͦͷ • େنϓϩδΣΫτͩͱBJHVJEF͕ංେԽͯ͠શ෦ಡΜͰ͘ Εͳ͘ͳΔ • ྖҬ͝ͱʹػೳઃܭ͕ҟͳΔͨΊɺ࣮͍ͨ͠ྖҬɾػೳ ʹΑͬͯಡΜͰཉ͍͠ΨΠυ͕ҟͳΔ
• LJOUPOFνʔϜ͝ͱʹΦʔφʔγοϓΛ࣋ͬͨNPOPSFQP ߏ BJHVJEFΛྖҬ͝ͱʹׂ͢Δ
• ϧʔτʹLJOUPOFڞ௨ͷBJHVJEFΛஔ͖ͭͭɺ֤ྖҬʹಛԽ ͨ͠BJHVJEFΛͦΕͧΕʹ࡞Δ BJHVJEFΛྖҬ͝ͱʹׂ͢Δ ˠංେԽΛ͗ͭͭɺ֤νʔϜ͕ࣗͷྖҬʹಛԽͨ͠BJHVJEFΛ࣋ͭ
BJHVJEFͷͦͷ • BJHVJEF͕Խ͢Δ ◦ ࣮͕ਐΉ ◦ ৽͍֓͠೦͕૿͑Δɾطଘͷ֓೦͕ஔ͖ΘΔ ◦ BJHVJEFʹө͞Εͳ͍ ◦
͍ͬͯ͘ɻɻɻ ˠBJHVJEFΛܧଓతʹҭͯΔΈ͕ඞཁ
"*ΛͬͯBJHVJEFΛҭ͍ͯͯ͘ • ຖճͷηογϣϯͷ࠷ޙʹɺBJHVJEFΛߋ৽͢Δ ◦ ৽͍࣮͠ύλʔϯ͕Ճ͞Εͨ߹ ◦ طଘͷઆ໌͕ݹ͘ͳͬͨ߹ ◦ ॏཁͳઃܭมߋ͕͋ͬͨ߹
• ఆظతʹɺBJHVJEF͕ίʔυϕʔεͱဃ͍ͯ͠ͳ͍͔ νΣοΫΛೖΕΔ
BJHVJEFΛҭͯΔΈΛίϚϯυͰࣗಈԽ • VQEBUFBJHVJEF ◦ ηογϣϯͷ༰ͱίϛοτཤྺͳͲ͔ΒBJHVJEFΛ࠷৽Խ
BJHVJEFΛҭͯΔΈΛίϚϯυͰࣗಈԽ • DIFDLBJHVJEF ◦ BJHVJEFͱίʔυϕʔεͷဃΛνΣοΫͯ͠࠷৽Խ
"*ʹ༩͑ΔυϝΠϯࣝͷཧͱɺͦΕΛ ܧଓతʹҭ͍ͯͯ͘ج൫͕Ͱ͖ͨʂ
࣍"*Λ͍͜ͳͨ͢ΊͷΈ࡞Γ
"*Λ͏ίʔσΟϯάͷ͍͠ͱ͜Ζ • ݟҧ͍ͳ࣮Λ࢝͠ΊΔ • τʔΫϯ੍ݶͱͷઓ͍ ◦ ࣮͕େ͖͘ͳΔͱɺ్தͰDPNQBDU͕ͬͯࡉ͔͍ܦ Ң͕ࣦΘΕΔ ◦
ಛʹϑϩϯτΤϯυपΓͷ.$1τʔΫϯͷফඅྔ͕ଟ ͍
ηογϣϯΛ֎෦ϑΝΠϧͰཧ͢Δ • ηογϣϯ͝ͱʹEJSΛ࡞Δ • ࣮ܭըͱΓऔΓͷཤྺΛϑΝΠϧग़ྗ͢Δ ˠ࣮ܭըͱͲ͜·Ͱ࣮͔ͨ͠ͷཤྺ͕͋ΕɺͦΕΛಡΜͰ͍ͬͯ͏͚ͩͰ ɹࢥ͍ग़ͯ͠Β͑Δ
։ൃͷྲྀΕΛίϚϯυͰࣗಈԽ • TUBSUJNQM ◦ ηογϣϯ։࢝࣌ʹQMBONEͱQSPNQUNEΛੜ ◦ ηογϣϯதܧଓతʹQSPNQUNEΛߋ৽
࣮ܭըʢQMBONEʣ
• ࣮લʹܭըΛཱͯΔ͜ͱͰɺݟҧ͍ͳ࣮Λ͙ ◦ "*ཱ͕ͯͨܭըΛϨϏϡʔͯ͠ɺ࣮Λ։࢝Ͱ͖Δਫ਼ʹ ͳΔ·ͰΓऔΓΛଓ͚Δ • QMBOϞʔυͰܭըΛཱͯͨޙɺͦΕΛϑΝΠϧग़ྗͯͬͯ͠ ͍͏ͷ༗ޮ ◦ QMBOϞʔυʹɺ࣮ܭըΛޮతʹਐΊΔͨΊͷγες
Ϝϓϩϯϓτ͕ॻ͔Ε͍ͯΔ ࣮ܭըʢQMBONEʣ
ΓऔΓͷཤྺʢQSPNQUNEʣ
• ਐḿΛϑΝΠϧʹग़ྗ͓ͯ͘͜͠ͱͰɺҙͷλΠϛϯάͰίϯ ςΩετΛDMFBSͰ͖Δ ◦ ෳࡶͳ࣮ͷखલͰҰ୴DMFBS͠ɺ్࣮தͰDPNQBDU ͕Βͳ͍Α͏ʹͨ͠Γ • ηογϣϯ్தʹผπʔϧʹΓ͑ΒΕΔ ◦ Λ$PEFYͰ࡞ͬͯඍௐ$PNQPTFSͳͲ
• ΓͱΓͷཤྺࣗମ͕υϝΠϯࣝͷๅݿʹͳΔ ◦ ఆظతʹηογϣϯͷཤྺΛ୨Էͯ͠͠ɺBJHVJEFΛߋ৽ ΓऔΓͷཤྺʢQSPNQUNEʣ
͜͜·Ͱͷ·ͱΊ • ྖҬ͝ͱʹׂ͞Εɺ"*ͱҰॹʹҭ͍ͯͯ͘BJHVJEFʹΑͬͯ "*͕υϝΠϯࣝΛཧղ • ηογϣϯΛϑΝΠϧཧ͢Δ͜ͱͰɺDPNQBDUରࡦͱ"*πʔ ϧͷΓସ͑ʹରԠ ◦ ͜ΕΒΛίϚϯυͱͯࣗ͠ಈԽ ˠج൫ͱͳΔΈͰ͖ͨ
࣍νʔϜͷਁಁ
νʔϜͷਁಁ • ࠓճ࡞ͬͨΈɺ͢Ͱʹ͏·͍͘͜ͳ͍ͯ͠ΔਓͷݟΛ νʔϜԣஅʹڞ༗͠ɺਁಁ͍͖͍ͤͯͨ͞ • "*ʹ৺ͳਓ͍Εɺͦ͏Ͱͳ͍ਓ͍Δ
νʔϜͷਁಁࢪࡦ"*Ϟϒ৴ • "*׆༻ʹशख़ͨ͠ϝϯόʔ͕Ϟϒϓϩάϥϛϯά • ࣮ͷλεΫΛ"*Ͱ࣮͢Δ༷ࢠΛϥΠϒ৴ • .$1Λ׆༻ͨ͠6*ߏஙෳࡶͳ+4ͷϩδοΫ࣮ͳͲҟͳΔ ςʔϚͰ༷ʑͳਓ͕ࢀՃ
"*Ϟϒ৴ͷޮՌ • ΈΜͳͰج൫Λҭ͍ͯͯ͘จԽ ◦ "*ϞϒͰಘͨݟΛίϚϯυʹىͨ͜͠Γ ◦ QMBOͱQSPNQUͷϑΝΠϧཧϝϯόʔͷΛίϚϯυ Խͨ͠ͷ ◦ ج൫͕ݹ͘ͳΒͳ͍Α͏ʹ৽͍͠ݟΛೖΕ͍ͯ͘
• ٯʹݱঢ়ͷ"*ͩͱ͍͜͠ͱͷཧղ ◦ ෳࡶ6*ͷߏஙͳͲ ◦ Ͱ͖Δ͜ͱͰ͖ͳ͍͜ͱͷཧղʹͭͳ͕Δ
LJOUPOF։ൃνʔϜେ͖͍৫ શମͷਁಁ·ͩ·ͩ͜Ε͔Βɺɺ
"*׆༻ͷΈΛ͑ͯɺͲΜͳՌ͕͋ͬͨʁ
"*πʔϧΛͬͨ։ൃ߹॓Λͨ͠ • ඪɿLJOUPOFͷ+4"1*ΛҰؾʹ࣮͢Δ͜ͱ ◦ ϒϥβͷը໘্ͷใΛऔಘɾૢ࡞Ͱ͖Δ"1* ◦ ಠࣗͷϝιου͕XJOEPXΦϒδΣΫτʹੜ͓͑ͯΓɺ༷ʑ ͳૢ࡞͕Ͱ͖Δ
"*πʔϧΛͬͨ։ൃ߹॓Λͨ͠ • ؒɺਓͷϝϯόʔ
"*πʔϧΛͬͨ։ൃ߹॓Λͨ͠ • ௨ৗͳΒʙिؒఔ͔͔ΔنΛؒͰ࣮ͬͨ͠
ͳͥ͏·͍ͬͨ͘ͷ͔ • ࣮ͷઃܭͱɺࢀরͰ͖Δίʔυ͕ॆ࣮͍ͯͨ͠ ◦ "*͕໎Θͳ͍ϕʔε͕͋Δͱ্͕͕Δ • ϨϏϡʔ͔ΒϚʔδ·ͰΛಉظతʹଈ࣌Ͱߦͳͬͨ ◦ 13Λ͙͢Ϛʔδ͢Δ͜ͱͰɺ"*͕ࢀߟʹͰ͖Δίʔυ͕૿ ͑ɺ͞ΒʹڧྗʹͳΔ
• ؒظूத͢Δ͜ͱͰϝϦϋϦΛ͚ͭͨ ◦ "*Ͱ։ൃͷෛ୲ܰݮ͞ΕΔ͕ɺ͔ͩΒͱݴͬͯฒྻͰ"*Λ ճ͠͠Ό͔Γ͖ʹಇ͖ଓ͚Δͷ࣋ଓ͠ͳ͍ɻɻ
"*Ͱ։ൃΛ্͛Δʹ ઃܭͱɺ"*͕ࢀߟʹͰ͖ΔίʔυϕʔεΛ࡞Δ w ઃܭͷ࣭͕શͯͷʹͳΔ "*Λͬͯ·ͱ·ͬͨ࣌ؒͰಉظతʹҰؾʹ্͛Δ ͦͷޙɺखಈςετϦϑΝΫλͳͲΛ͢Δ ಈ͘ͷ͕ૣ͘ग़དྷ্͕ΔͱؔऀͱͷίϛϡχέʔγϣϯऔΓ ͍͢
՝͋Δ • +4"1*"*ͱ૬ੑ͕ྑ͔ͬͨ ◦ ೖग़ྗ͕໌֬ ◦ ༷͕͖ͬΓ͍ͯ͠Δ • ٯʹ6*͍͠ ◦
σβΠϯͱͷ࿈ܞʹΑΔᐆດ͞ ◦ 'JHNB.$1ҰൃͰ͍͍ײ͡ʹͳΒͳ͍ ▪ ࡉ͔͍ඍௐ͕ඞཁͰ݁ہखͰͬͨํ͕ૣ͔ͬͨɺΈͨ ͍ͳ͜ͱଟʑ͋Δ ▪ ͔ͱ͍ͬͯ'JHNBΛ࣮͍͢͠Α͏ʹ࡞ͬͯΒ͏͔ʁ
·ͱΊ • ݩʑͦΕͧΕݸਓ͕"*׆༻ • ࠓɺBJHVJEFͰࣝج൫Λ࡞ΓɺͦΕΛ"*ͱڞʹҭ͍ͯͯ͘ ΈʹΑͬͯՌ͕ग़࢝Ί͍ͯΔ • ͦΕͧΕͷνʔϜ͕࣮֬ʹ"*Λ͍͜ͳ͢νʔϜʹมԽ͍ͯ͠Δ
ͥͻ͋ͳͨͷ৫Ͱࢼͯ͠ Έ͍ͯͩ͘͞