Slide 1

Slide 1 text

AI׆༻ʹ͍ͭͯޠΖ͏ - Progate Bar 2025/11/28 AIͰՃ଎͢ΔจԽࡇιϑτ΢ΣΞ։ൃ Katsuya Ogata

Slide 2

Slide 2 text

ࣗݾ঺հ • ॹํ ࠀ࠸ (͓͕ͨ ͔ͭ΍) • େࡕେֶ 4೥ੜ • LLMΛ༻͍ͨಈըղੳͷݚڀ • ͜ͷલ·ͰΦʔετϥϦΞͷϝϧϘϧϯʹ ߦͬͯ·ͨ͠ • ݸਓαΠτ • www.ogatakatsuya.com

Slide 3

Slide 3 text

Agenda 1. ग़లͨ͠΋ͷ 2. ΞϓϦέʔγϣϯͷ֓ཁ 3. ߏ੒ 4. AI׆༻ 5. ݁Ռ 6. ·ͱΊ

Slide 4

Slide 4 text

1. ग़లͨ͠΋ͷ

Slide 5

Slide 5 text

·͔ͪͶࡇͰग़లͨ͠΋ͷ ԰֎ɾ԰಺ܕͷṖղ͖ ԰಺ܕͷνϥγ ԰֎ܕͷνϥγ

Slide 6

Slide 6 text

·͔ͪͶࡇͰग़లͨ͠΋ͷ ԰֎ɾ԰಺ܕͷṖղ͖ ԰಺ܕͷνϥγ ԰֎ܕͷνϥγ

Slide 7

Slide 7 text

·͔ͪͶࡇͰग़లͨ͠΋ͷ ԰֎ɾ԰಺ܕͷṖղ͖

Slide 8

Slide 8 text

2. ΞϓϦέʔγϣϯͷ֓ཁ

Slide 9

Slide 9 text

ΞϓϦέʔγϣϯͷ֓ཁ ԰಺ମݧܕṖղ͖

Slide 10

Slide 10 text

σβΠϯ • େֶͷެࣜWebϖʔδͷσβΠϯΛ౿ऻ (AIͰ͸Ͱ͖ͳ͍ͷͰखͰஸೡʹ)

Slide 11

Slide 11 text

ΞϓϦέʔγϣϯͷཁ݅ • λΠϚʔػೳ • ڈ೥ͷ൓লΛੜ͔ͯ͠ɺਫ਼ີʹΧ΢ϯτ͢Δ͜ͱ • ਐḿ෮ݩػೳ • ڈ೥ͷ൓লΛੜ͔ͯ͠ɺ్தͰిݯ͕੾Εͯ͠·͏͜ͱΛ૝ఆ • Ṗղ͖ղ౴ػೳ • ࠾఺ػೳ • ϥϯΩϯάػೳ

Slide 12

Slide 12 text

3. ߏ੒

Slide 13

Slide 13 text

ΞϓϦέʔγϣϯͷߏ੒ • APαʔόʔʹ͸GolangΛ࠾༻ • ࠾఺ॲཧ౳ͷCPUॲཧͷߴ଎Խ • ECSͷϦιʔε࠷খԽ • Valkey CacheΛ࠾༻ • ϥϯΩϯά౳ͷॏ͍ΫΤϦΛҰ࣌తʹ Ωϟογϡ • VPC EndpointΛ༻͍ͯઅ໿ • ΍΍ΦʔόʔεϖοΫ • αʔόʔϨεͰྑ͔ͬͨ

Slide 14

Slide 14 text

4. AI׆༻

Slide 15

Slide 15 text

νʔϜߏ੒ • ࣗ෼ (େମશ෦) • ΤϯδχΞ (ਓ) (ϑϩϯτΤϯυ) • Claude Code (ςοΫϦʔυ) • Gemini CLI (Browser) • Cursor (ΤϯδχΞ) • Ϗδωεϝϯόʔ (ਓ) (8ਓ͘Β͍) • σβΠϯɺṖ࡞੒ɺϚʔέςΟϯάɺSNS

Slide 16

Slide 16 text

AI׆༻ APαʔόʔͷ(΄΅)શͯΛॻ͍ͯ΋Β͍·ͨ͠ • GolangͱAI͸૬ੑ͕ྑ͍ • Golangͷಛੑ্ɺ୭͕ॻ͍ͯ΋͋Δఔ౓࣭ͷߴ͍ίʔυ͕Ͱ͖Δ • sqlcΛ༻͍ͯdbपΓͷίʔυʹؔͯ͠͸ࣗಈੜ੒ • ΫϦʔϯΞʔΩςΫνϟ×DDDͷ͓खຊ࣮૷Λͯ͋͛ͯ͠ɺ͋ͱ͸ͦΕΛਅࣅ ͯॻ͍ͯ΋Β͍·ͨ͠ • ͦͷ൓໘ɺΫϥΠΞϯτʹؔͯ͠͸ελΠϦϯά౳͸ख࡞ۀ

Slide 17

Slide 17 text

AI׆༻ ΫΠζͷϩδοΫͷ࣮૷΋͢΂ͯAIʹ͓೚ͤ • ΫΠζͷਐḿ؅ཧɺλΠϚʔ؅ཧɺਖ਼ޡ൑ఆɺਐḿอଘɾ෮ݩʹ͍ͭͯ͸Ϋ ϥΠΞϯτଆͰશͯͷϩδοΫΛ࣮૷ͨ͠ • APαʔόʔ΁ͷෛՙ • UXͷ޲্ • ͜ΕΒͷϩδοΫ΋΄΅શͯAIʹ࣮૷ͯ͠΋Β͍·ͨ͠ • ͨͩɺ͋·ΓΠέͯͳ͍ίʔυΛੜ੒͢Δ͜ͱ΋͋ͬͨͷͰͦ͜͸ख௚͠

Slide 18

Slide 18 text

• AIͱڠۀ͢ΔͨΊʹɺ • ϑϨʔϜϫʔΫ΍ɺΞʔΩςΫνϟͳͲͷࠎ૊ΈΛ੔උͯ͋͛͠Δ͜ͱ͕ॏཁ • ΫϦʔϯΞʔΩςΫνϟͱ͔DDDɺTDD͸֮͑ͯΔ (ίϯςΩετѹॖ) • ϥΠϒϥϦΛ༻͍ͨγεςϚνοΫͳࣗಈੜ੒΋༗ޮ • جຊతͳ෦෼ͷཧղ͸ඞཁ • ͦΕ͔͍Βͳ͘ͳΔ͘Β͍AI͕ݡ͘ͳΔͷΛ଴ͭ • ϞϊϨϙ • All in GitHubΛ໨ࢦ͢ (https://github.com/ogatakatsuya/machikane-2025) ޻෉఺

Slide 19

Slide 19 text

5. ݁Ռ

Slide 20

Slide 20 text

݁Ռ ϝτϦΫε͸શͯ͜͜Ͱެ։ͯ͠·͢(https://machikane-2025.streamlit.app/) • ૯དྷ৔ऀ਺ 1065໊ • 15~20෼Λ1ΠςϨʔγϣϯͱͯ͠ճ ׂ͍ͯͨ͠ʹ͸ଟ͘ͷํʹདྷ৔͍ͨ ͚ͩͨ • ϥϯΩϯά౳ͷ௅ઓతͳػೳΛ࣮૷ ͍͕ͯͨ͠ɺ໨ཱͬͨΤϥʔ͸ͳ͘ ऴྃͨ͠

Slide 21

Slide 21 text

ച্ • ԰֎ͰͷചΓ্͛΋߹Θͤͯ • 43ສԁ௒Λୡ੒͠·ͨ͠ • ԰಺Ͱ30ສఔ౓ɺ԰֎͕13ສఔ౓͔ͳͱ͍͏ײ͡ • ࡢ೥ͷ32ສԁΛେ෯ʹ௒͑Δ݁Ռͱͳͬͯେຬ଍Ͱͨ͠

Slide 22

Slide 22 text

6. ·ͱΊ

Slide 23

Slide 23 text

·ͱΊ • AIΛ༻͍Δ͜ͱͰɺैདྷͰ͸ݸਓͰͰ͖ͳ͔ͬͨن໛Ͱ඼࣭ͷΞϓϦέʔγϣ ϯΛ࣮૷͢Δ͜ͱ͕Մೳͱͳ͍ͬͯΔ • AIΛ࢖͍ͬͯͯ΋Ձ஋ΛੜΈग़͢͜ͱ͸Ͱ͖Δ • ٯʹݴ͑͹ɺ౰ͨΓલ͕ͩΤϯυϢʔβʔ͸աఔ͸ධՁͯ͘͠Εͳ͍ • ٕज़Λָ͠ΜͰɺٕज़Λͩ͜ΘΔͷ΋ॏཁ͕ͩɺϓϩμΫτࢤ޲ͰԿΛಧ͚ ͯɺԿΛՁ஋ͱ͢Δ͔ɺ͔ͦ͜Βٯࢉ͢Δ͜ͱ͕͜Ε͔Β؊ཁʹͳͬͯ͘Δ • Πϯϑϥߏ੒౳ɺσϦέʔτͳ෦෼ʹ͍ͭͯ͸·ͩAIʹؙ౤͛͸೉͍͠

Slide 24

Slide 24 text

൓ল • αʔόʔϨεߏ੒ʹ๞͖ͯɺRDS/ECSߏ੒ͱ͕ͨ͠ɺ͔ͳΓΦʔόʔεϖοΫؾຯͩͬͨ • ౰೔3೔ؒͷίετΛང͔ʹ௒͑Δίετ͕͔͔͍ͬͯͨ • IaCԽͯ͠ɺ౰೔͚ͩల։Ͱ͖ΔΑ͏ʹͨ͠Βྑ͔ͬͨ • VPC Endpointͷඅ༻͕ࢥͬͨΑΓߴ͔ͬͨ • ௨৴ྔΑΓ΋ݻఆඅ͕΍͹͍͘Β͍͔͔͍ͬͯͨ • ΏΔ͍ιϑτ΢ΣΞͳͷͰɺECS TaskΛPublic Subnetʹ͓͍ͯ΋ྑ͔ͬͨͷͰ͸ • ςετ͕ͳ͔ͬͨ • ϩάઃܭ౳ɺΤϥʔʹؾ͚ͮΔ؀ڥ͕ͳ͔ͬͨ