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プログラマーDevinは PHPerの夢を見るか?
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shinya Saita
June 28, 2025
Programming
740
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AIプログラマーDevinは PHPerの夢を見るか?
PHPカンファレンス2025の登壇資料です。
Shinya Saita
June 28, 2025
More Decks by Shinya Saita
See All by Shinya Saita
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
390
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
700
Chrome拡張機能で会議の遅刻・延長を解消した話
shinyasaita
0
120
PHPで常に象を意識する方法
shinyasaita
0
75
Claude Code 珍プレー好プレー
shinyasaita
0
410
失敗を資産に変えるClaude Code
shinyasaita
0
1.6k
みんなが知らないトランプの世界
shinyasaita
0
32
AI Agentのメモリを覗いてちょっと焦った話
shinyasaita
0
130
北海道でしょう〜2017年の記録〜
shinyasaita
0
21
Other Decks in Programming
See All in Programming
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
330
What's New in Android 2026
veronikapj
0
260
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
110
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
220
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
320
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
150
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
180
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
150
Cloudflare is Agents
chimame
0
170
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
120
「人を評価する AI」の設計と実装
ryoyanara
0
200
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Done Done
chrislema
186
16k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
430
Rails Girls Zürich Keynote
gr2m
96
14k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Why Our Code Smells
bkeepers
PRO
340
58k
Amusing Abliteration
ianozsvald
1
250
Color Theory Basics | Prateek | Gurzu
gurzu
0
420
HDC tutorial
michielstock
2
790
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Producing Creativity
orderedlist
PRO
348
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
มଶΤϯδχΞɹ੪ాਅ "*ϓϩάϥϚʔ%FWJO 1)1FSͷເΛݟΔ͔ʁ 1)1$POGFSFODF QIQDPOUSBDL
λΠτϧখઆͷύϩσΟ
λΠτϧখઆͷύϩσΟ w ۚՔ͗ͷओਓެ͕ΞϯυϩΠυΛङΔετʔϦʔ w ਓͱΞϯυϩΠυͷ۠ผ͕͖ͭʹ͍͘ੈͷத w ࡞தͰײͷมԽΛଅ࣭͢Λ͢Δ͜ͱͰ ͦΕʹର͢ΔԠͰਓ͔ؒ൱͔Λஅ͍ͯͨ͠ w ਓͱΞϯυϩΠυͷҧ͍ͬͯԿͳΜͩΖ͏ʁ
ͱࢥ͏ಡྃײΛಘΔ4'খઆ
࠷ۙͷ"*ͷߴੑೳԽʹ ࢥ͏ͷ
ਓͱ"*ͷҧ͍ͬͯ ԿͳΜͰ͠ΐ͏ʁ 2VBOUJD%SFBN2VBOUJD%SFBNBOEUIF2VBOUJD%SFBNMPHPBSFUSBEFNBSLTPG2VBOUJD%SFBN
ਓͱ"*ͷҧ͍ͬͯ ԿͳΜͰ͠ΐ͏ʁ ΤϞ͞ͱ͔ʁ 2VBOUJD%SFBN2VBOUJD%SFBNBOEUIF2VBOUJD%SFBNMPHPBSFUSBEFNBSLTPG2VBOUJD%SFBN
͓લ୭ͶΜʁ
ࣗݾհ ໊લ ग़ ৬ۀ झຯ ಛٕ ੪ాਅ ژ όοΫΤϯυΤϯδχΞ 1)1+BWBTDSJQUগ͠(0
τϥϯϓूΊଞଟ ϚδοΫ ͍ͨ͞ɹ͠Μ
2JJUBهࣄॻ͍ͨΓ ͬͱόζͬͨهࣄˠ
ύϫϓϩ෩ʹΤϯδχΞεΩϧදݱͰ͖ΔπʔϧΛ࡞ͬͨΓ
ϙέϞϯΛ λʔϛφϧʹ දࣔ͢Δ γΣϧΛॻ͍ͨΓ IUUQTHJUIVCDPNTIJOZBQPLFNPOUFSNJOBMBSU .Z࠷ελʔϦϙδτϦˠ
τϥϯϓूΊͨΓͯ͠·͢ τϥϯϓͷղઆαΠτΛ ӡӦͯͨ͠Γ͠·͢
ͯ͞ɾɾɾ
Έͳ͞Μ "*ͬͯ·͔͢ʁ
"*ΤʔδΣϯτݩ w 0QFO"*Λච಄ʹੈք"*ઓࠃ࣌ʹಥೖ w ͢ͰʹԿඦͱ͍͏"*αʔϏε͕ੈͷதͰల։ w िؒܦͯใ͕ݹ͍ͱ͍͏ੈͷத
։ൃʹ͕͕Δ w $IBU(15ʹཔΊίʔυΛॻ͍ͯ͘ΕΔ w (JUIVC$PQJMPU͕ίʔυΛੜͯ͘͠ΕΔ w ʮ"*Λͬͯͳ͍ʯ͜ͱ͕ σΟεΞυόϯςʔδͱͳΔੈͷத
ຊͷςʔϚ w ੜ"*ͷ%FWJOʹ͍ͭͯৄ͘͠ͳΔ w 1)1FSͱͯ͠ͲΕ΄Ͳ༗༻ͳͷ͔Λհ͢Δ
ҙ w ຊϓϨθϯ%FWJOʹϑΥʔΧεΛ͍ͯͯ·͢ w ଞͷੜ"*ʹؔͯ͠ಛʹ৮Εͳ͍ͷͰྃ͝ঝ͍ͩ͘͞ w ࢲ%FWJOҎ֎ͷ"*͋·Γৄ͘͠ͳ͍Ͱ͢ w ͱ͍͍ͭͭ࠷ۙ$VSTPS"*͔Γ৮ͬͯ·͢
%FWJOͱʁ
%FWJOʹ͍ͭͯ w $PHOJUJPO͕ࣾੈքॳͷશࣗܕ"*ΤϯδχΞͱͯ͠ൃදͨ͠ w (JU)VC$PQJMPUͷΑ͏ͳίʔυิαδΣετͰͳ͍ w ༩͑ΒΕͨใΛݩʹࣗతʹ։ൃௐࠪΛߦ͑Δͷ͕ಛ w ͍ΘΏΔΤʔδΣϯτܕͷ"* w
(JUIVCͷใࢀর13ͷ࡞͕Մೳ w ׂͱߴ͍ʢϲ݄ʣ ˠैྔ՝ۚͷϓϥϯొ͍͘͢͠ͳΔ
؆୯ʹݴ͏ͱɾɾɾ w νϟοτͷ͜͏ʹػͯ͘͠ΕΔΤϯδχΞʢ"*ʣ͕͍Δ w ࣮ࡍ4MBDLͰґཔ͕ग़ͤΔ w ʮ͜Ε͍ͬͯͩ͘͞ʯͱࢦࣔΛඈ͢ͱ࡞ۀΛͯ͘͠ΕΔ w ʮ͜ͷόάΛͯ͠ʯ w
ʮ͜͜ͷϢχοτςετ࡞ͬͯʯ w ʮ͜ͷΤϥʔͷݪҼௐࠪͯ͠ʯ
؆୯ʹݴ͏ͱɾɾɾ w νϟοτͷ͜͏ʹػͯ͘͠ΕΔΤϯδχΞʢ"*ʣ͕͍Δ w ࣮ࡍ4MBDLͰґཔ͕ग़ͤΔ w ʮ͜Ε͍ͬͯͩ͘͞ʯͱࢦࣔΛඈ͢ͱ࡞ۀΛͯ͘͠ΕΔ w ʮ͜ͷόάΛͯ͠ʯ w
ʮ͜͜ͷϢχοτςετ࡞ͬͯʯ w ʮ͜ͷΤϥʔͷݪҼௐࠪͯ͠ʯ ศརʂ
ฐࣾόοΫΦϑΟεܥ4BBTܥاۀ w ͝ͱʹ༻ݴޠҟͳΔ͕ɺ1)1ͷͷଟ͋Δ w ࢲࣗ1)1ͷϓϩμΫτʹؔΘ͍ͬͯΔ w Ͳ͜ͱ͍Θͳ͍͕ɺ̋౻ݡҰ͞Μͱԣ̋Նࢠ͞Μ͕$.ͬͯΔͱ͜ w 1)1ॻ͖ͳ͕Β "*׆༻ͷࢼߦࡨޡ͍ͯ͠Δ
ࢲʑ
%FWJOͷՄೳੑΛ ୳͍ͯ͠Δ
ՄೳੑΛ୳͍ͯ͠Δ w Կ͕ಘҙͳͷ͔ w ͲΜͳ͜ͱΛཔΉͱޮՌ͕ߴ͍ͷ͔ w ࢼߦࡨޡͷதͰݟ͖͑ͯͨͷΛ հ͍͖ͯ͠·͢
%FWJOͷେ͖ͳಛ
φϨοδΛஷΊΔ͜ͱ͕ग़དྷΔ
φϨοδΛஷΊΔͱʁ w લఏ݅ΛઃఆͰ͖Δ w ʮ͜ΕΛ͢Δͱ͖ඞͣ͜Εʹै͍ͬͯͩ͘͞ʯ w FY ιʔείʔυΛੜ͢Δͱ͖ίʔσΟϯάنʹै͍ͬͯͩ͘͞ w ଞʹࣄલʹΠϯϓοτ͓͍ͯͯ͠΄͍͜͠ͱஷΊ͓͚ͯΔ
φϨοδΛͬͯ ྑ͔ͬͨҰྫ
ϦʔμϒϧίʔυΛಡΜͰϦϑΝΫλϦϯάͯ͠ w ΦϥΠϦʔͷ໊ஶͰ͋ΓΤϯδχΞͷόΠϒϧ w ͦΕΛ%FWJOʹ*OQVU͢Δ w ͦΕΛݩʹϦϑΝΫλϦϯάΛͯ͠Ͷ ͱ͓ئ͍͢Δ w өͨ͠13͕࡞͞Εͨ
ͦͷ̍ มߋΛநग़ͯ͠ ֓ཁʹ·ͱΊͯ͘Ε͍ͯΔ
ͦͷ̎ηϧϑϨϏϡʔͯ͠ w ͓ͦΒ͘ਓ͕ͬͨ߹͋·ΓΒͳ͍ಈ͖ w ผਓ֨Ͱݾͷ13ʹରͯ͠ΞυόΠεΛೖΕͯͱґཔ w ϚδͰผਓ͔֨ͷΑ͏ʹࢦఠ͕ඈΜͰ͖ͨ w ˠਓ͕ͬͯͨΒʮࣗͰΓͳΕʯͱͳΔͭ
ʮίʔυͷҙਤ͕ΑΓ໌֬ʹͳΔΑʯͱ ͕ࣗॻ͍ͨίʔυʹποίϛΛ ೖΕ͍ͯΔͷ໘ന͍
ͦͷࣗͷվળΛઆ໌ͯ͠ w ͋ͳͨͷվमʰϦʔμϒϧίʔυʱͷ Ͳͷ෦ʹ֘͢ΔΜͰ͔͢ʁ ͱ͍͏ͷΛͪΌΜͱઆ໌͍ͯͩ͘͠͞ͱґཔ w ʮ͜͏͍͏߲ͷ෦Λөͯ͠·͢ɻ ɹͪͳΈʹԿϖʔδͷ͜ͷ෦Ͱ͢ʯ ͱ͕͑ؼ͖ͬͯͨ
None
ධՁ͢ΔզʑຊʹͦΕ͕ ϦϑΝΫλϦϯάͱͯ͠ҙຯΛ ͳ͍ͯ͠Δͷ͔Θ͔Δ େมྑ͍
ͦͷϢχοτςετΛՃͯ͠ w ϦϑΝΫλϦϯάͳͷͰϏδωεϩδοΫͷ݁ՌΛม͍͚͑ͯͳ͍ w ຊʹͦ͜େৎʁͱ͍͏ͷΛ୲อ͍ͨ͠ͷͰ ϢχοτςετΛ࡞͍ͯͩ͘͠͞ͱґཔ w ͠65࡞Δͷ͕͔ͬͨ͠Βɺ ͞ΒͳΔϦϑΝΫλϦϯά͍ͯͩ͘͠͞ w
65ͷ࣮ߦίϚϯυͱ࣮ߦ݁Ռڭ͑ͯͶ
खΛೖΕͨ෦ͷ65Λ࡞ ͦͯ͠ՃͷϦϑΝΫλϦϯά࣮ࢪ ʢΫϥεΛׂͨ͠ʣ
࣮ߦखॱͱҙ ͦͷ࣌ͷ࣮ߦϩάఴࡁΈ
ͦͷৼΓฦΓͷ࣮ࢪ w ࣮ࡍʹ"*ͳͷͰͦΜͳ͜ͱແ͍ͩΖ͏ͱࢥ͍ͭͭ ԿΛֶΜͩʁԿʹۤ࿑ͨ͠ʁΛώΞϦϯά w ʮࣗΛ๙Ί͍ͨ෦ʯͱ ʮޙഐ͕Ͱ͖ͨΒҾ͖ܧ͍͗ͨ͜ͱʯฉ͘ w ࣍ػձ͕͋ΕԿʹઓ͍ͨ͠ʁ w
࠷ޙʹϫγͷࢦࣔͷग़͠ํదͬͨʁ w ਓͩͬͨΒฉ͖͍ͨ͜ͱશ෦ฉ͘
શͯ͑ͯ͘Εͨʂ
ͬͯΈͨײ w ͪ͜Β͕Γ͍ͨ͜ͱΛ͑Δͱجຊߦಈͯ͘͠ΕΔ w ͦͷࡍʹલఏࣝͷΠϯετʔϧ͕͋Δͱ͔ͳΓҙਤ௨Γʹಈ͍ͯ͘ΕΔ w ਓͰͰ͖ͳ͍ʮผਓ֨ͰࣗͷίʔυΛϨϏϡʔ͢Δʯ͕ ݸਓతʹྑ͔ͬͨ w ৼΓฦΓͷ༰ΛಡΜͰΔͱࣗͰؾ͖͕ͮ৭ʑ͋Δ
w ୠ͠ɺίʔυͷਫ਼·ͩ·ͩͳॴΞϦ w ࠓޙ৭ʑͱՄೳੑΛ୳͍͖͍ͬͯͨ
ଞʹɾɾɾ
ϦΞϧλΠϜ࣌ࠁදΞϓϦΛ࡞ͬͨΓ
ςετσʔλΛ࡞ͬͯΒͬͨΓ
13ͷίʔυϨϏϡʔΛͯ͠ΒͬͨΓ ࣗͷίʔυΛ٬؍తʹηϧϑϨϏϡʔͰ͖Δ
ΤϯδχΞ͕͍ͯ͠Δ ຆͲͷ࡞ۀՄೳ
ͨͩ͠ɾɾɾ w ˠಘҙ͕ͩɺطଘͷιʔείʔυͷཧղෆಘҙ w ϦϑΝΫλϦϯάͰ͖Δ͕༷มߋʹऑ͍ w Կނ͜ͷγεςϜ͕͋Δͷ͔Λཧղͯ͠ͳ͍ w ٕज़ྗδϡχΞΤϯδχΞϨϕϧ w
ڭՊॻʹॻ͍ͯ͋Δ͜ͱͯ͘͠ΕΔ w ؾΛར͔ͤͨ͜ͱ͍͠ w ͨͩ͠ɺܦݧҭͯΒΕΔʢφϨοδʣ
ޮՌతͳ ϓϩϯϓτͷ༩͑ํ
ͬͯ΄͍͜͠ͱΛγϯϓϧʹ w ʮ͜ΕΛ͍͚ͬͯͳ͍ʯͰͳ͘ʮ͜ΕΛͬͯ΄͍͠ʯΛ͑Δ w Օॻ͖Ͱظ͢Δಈ࡞Λྻڍ͍ͯ͘͠ w ͋Μ·Γ;Θͬͱ͛Δͱ;Θͬͱͨ͠Ռ͕͕͋ͬͯ͘Δ w ιʔείʔυ͕ଟ͍ϦϙδτϦͩͱൣғΛߜͬͨ΄͏͕ྑ͍
͜Ε͙Β͍ͩͱͦͷ௨Γʹ࡞ͬͯ͘ΕΔ ͜͜Λม͑Δͱ։ൃݴޠ͕ ༰қʹมߋͰ͖Δ 1)1ͷཱɾɾɾ
ୠ͠ɺ٧Ί͕͍ ͕ग़དྷͯͳ͍ʂ ʢࢦࣔͯ͠ͳ͍͔ΒͨΓલʣ
Ͱޙ͔Βमਖ਼͢Εྑ͍
͋ͱ͔Βيಓमਖ਼ ͢Εྑ͍ ࣮ࡍͷਓͦ͏
1)1FSʹଞʹ͍ΖΜͳ༗ޮखஈ͕ w ·ͣ6OJU5FTUॻ͍ͯ͘ΕΔͷ͕୯७ʹྑ͍ w ͦͷͨΊʹΫϥεׂͯ͘͠ΕΔ w ϦϑΝΫλϦϯάͰ͖Δ w Ξϊςʔγϣϯͨ͠ΓɺλΠϓώϯτՃͨ͠Γ w
όʔδϣϯΞοϓରԠͰ͖Δ w 1)1͚ͩ͡Όͳ͘ɺ1)14UBO1)16OJU w ٯʹ5%%Ͱ͖ΔΜ͡ΌͶɾɾɾͱ͍͏رʢ·ͩͬͯͳ͍ʣ ϓϩμΫτίʔυॻ͍ͨ͋ͱʹ ਵ͢Δ࡞ۀ͓ئ͍ʂͯͰ͖Δ
ຯʹҰ൪ॿ͔ͬͨͷ
มߋʹΑΔӨڹௐࠪ w ʮ%#ͷΧϥϜ໊Λม͍͚͑ͨͲɺӨڹड͚Δͱ͜Ζநग़ͯ͠ʯͱ ࢦࣔΛ͛Δͱʮ͜͜Ͱʯͱڭ͑ͯ͘ΕΔ w ͨͩ͠ɺൣғ͕͗͢Δͱݟམͱ͋͠ΔͨΊ ʮ·ͣ͜ͷσΟϨΫτϦͰ͋Γ·͔͢ʁʯͱॱΛͬͯฉ͘ͱ˕
͓ؾ͖ͮͷํ ͍Βͬ͠ΌΔ͔Ͱ͕͢
1)1͔Ͳ͏͔"*ʹͱͬͯࠣࡉͳ w ٕज़తͳ՝Λղܾ͢ΔͨΊͷखஈͱͯ͠࠷ऴతʹݴޠԿʹ͢Δʁͷ͑ w ٯʹదͳखஈΛ͏ͨΊʹݴޠબผΛͤΔํ๏͋Γ w ͜ΕͬͯγεςϜ։ൃͷࠜຊͰɾɾɾʁ
ͪͳΈʹɾɾɾ w $IBU(15ʹಘҙͳݴޠϥϯΩϯάΛฉ͘ͱ 1)1Ґ w ʮ1)1FSͳΜ͚ͲʙŧŽŧŽŕʯͱฉ͘ͱ ٸʹͯ͠Ґʹ্͕Δ w %FWJOʹಉ͜͡ͱΛ͢ΔͱʮҐͰ͢ʯͱ ݴͬͯɺஅݻͱͯ͠ม͑ͳ͍
˞ͦͦτϨϯυͷݴޠ͕"*ڧ͍
·ͱΊ w %FWJOࢦࣔʹΑͬͯඇৗʹ͍͍ύϑΥʔϚϯεΛग़ͯ͘͠ΕΔ w ҰํͰɺ৽ਓͩͳʔͱࢥ͏Α͏ͳߦಈऔΔ w Ͱɺզʑ͕ࠜؾΑ͖͘ఴ͑ύϑΥʔϚϯε্͕ͬͯ͘Δ w 1)1ͰͦΕҎ֎Ͱ༗༻ʹ͑Δ w
͏͜Ενϟοτͷ͜͏ଆʹਓ͕͍ΔͷͱมΘΒͳ͍
"*ͰϚΠϯυಉ͡ w ී௨ʹ৽ਓΤϯδχΞʹ͓ئ͍͢Δ࣌ʹ ҙ͍ࣝͯ͠Δ͜ͱΛࢥ͍ฦ͢ w ͕ࣗઆ໌ෆͳ͜ͱਂງΓͨ͠΄͏͕ ྑ͍͜ͱ"*ʹର͖ͯͬ͠ͱͦ͏ w ݁ɺਓͱಉ͡Α͏ʹରቂ͠Α͏
ී௨ʹ৽ਓΤϯδχΞʹ ࣄΛ͓ئ͍͢Δ࣌ʹ ҙࣝ͢ΔϚΠϯυ͕େࣄ
͏͜͏ͳͬͨΒɾɾɾ
ਓͱ"*ͷҧ͍ͬͯ ԿͳΜͰ͠ΐ͏ʁ 2VBOUJD%SFBN2VBOUJD%SFBNBOEUIF2VBOUJD%SFBNMPHPBSFUSBEFNBSLTPG2VBOUJD%SFBN
ਓͱ"*ͷҧ͍ͬͯ ԿͳΜͰ͠ΐ͏ʁ ͬͺΓΤϞ͞ͱ͔ʁ 2VBOUJD%SFBN2VBOUJD%SFBNBOEUIF2VBOUJD%SFBNMPHPBSFUSBEFNBSLTPG2VBOUJD%SFBN
ʮਓͱ"*ͷҧ͍ͬͯͳΜͩΖ͏ʁʯʹ ڵຯΛ࣋ͬͨΒ͝Ұಡ͍ͩ͘͞
࠷ޙʹ w 1)1FSͷߴྸԽ͕࠷ۙͩͱײ͍ͯ͡Δ w ͜Ε"*ͷ׆༻͚ͩͰղܾͰ͖ͳ͍ w ׂͱຊؾͰ׆ੑԽ͢Δํ๏Λߟ͍͑ͨ w օ͞ΜؼͬͨΒ ʮϖνίϯ͓Ζ͔ͬͨͰʯͱ
Ί͍ͯͩ͘͞ ʢͷൃද͓Μͳ͔ͬͨΒɺ ɹਖ਼ʹݴͬͯେৎͰ͢ʣ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠