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
200
大規模プロダクトで実践する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
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
170
Claude Code 10連ガチャ
uhyo
3
670
バグと向き合い、仕組みで防ぐ
____rina____
0
260
今日から使える AWS Step Functions 小技集 / AWS Step Functions Tips
kinunori
7
660
[CV勉強会@関東 ICCV2025] WoTE: End-to-End Driving with Online Trajectory Evaluation via BEV World Model
shinkyoto
0
180
ユーザーストーリー x AI / User Stories x AI
oomatomo
0
180
やり方は一つだけじゃない、正解だけを目指さず寄り道やその先まで自分流に楽しむ趣味プログラミングの探求 2025-11-15 YAPC::Fukuoka
sugyan
1
580
Pythonで構築する全国市町村ナレッジグラフ: GraphRAGを用いた意味的地域検索への応用
negi111111
8
3.5k
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
1
530
「O(n log(n))のパフォーマンス」の意味がわかるようになろう
dhirabayashi
0
110
自己的售票系統自己做!
eddie
0
430
エンジニアに定年なし! AI時代にキャリアをReboot — 学び続けて未来を創る
junjikoide
0
180
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
Typedesign – Prime Four
hannesfritz
42
2.9k
How STYLIGHT went responsive
nonsquared
100
5.9k
It's Worth the Effort
3n
187
28k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
118
20k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
How to Ace a Technical Interview
jacobian
280
24k
Done Done
chrislema
186
16k
The Pragmatic Product Professional
lauravandoore
36
7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
660
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Ͱࣝج൫Λ࡞ΓɺͦΕΛ"*ͱڞʹҭ͍ͯͯ͘ ΈʹΑͬͯՌ͕ग़࢝Ί͍ͯΔ • ͦΕͧΕͷνʔϜ͕࣮֬ʹ"*Λ͍͜ͳ͢νʔϜʹมԽ͍ͯ͠Δ
ͥͻ͋ͳͨͷ৫Ͱࢼͯ͠ Έ͍ͯͩ͘͞