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
Atsushi Nakatsugawa
PRO
May 07, 2025
Technology
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AIによるコードレビューで開発体験を向上させよう!
AI駆動開発Conference Spring 2025の発表資料です
https://www.ai-driven.dev/
Atsushi Nakatsugawa
PRO
May 07, 2025
More Decks by Atsushi Nakatsugawa
See All by Atsushi Nakatsugawa
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.7k
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
560
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
6
3.7k
コーディングだけ速くとも意味がない。自動レビューによる開発の高速化
moongift
PRO
0
93
AI 支援研究開発におけるコードレビューの役割と限界
moongift
PRO
0
180
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
490
AI活用の格差をなくす:チーム全体のAI開発生産性を底上げする方法
moongift
PRO
1
690
CodeRabbit 2026年04月アップデート
moongift
PRO
0
110
AI時代のIssue駆動開発のススメ
moongift
PRO
0
590
Other Decks in Technology
See All in Technology
internal/testlog で遊ぼう
rokuosan
0
100
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
250
Introduction to Bill One Development Engineer
sansan33
PRO
0
470
アクセスキーが漏れた日にやるべきこと- 無効化の先にある本当の対応
kazzpapa3
0
310
OAuth SPIFFE Client Authentication(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
130
AIに狂うスタートアップが、あえて「人との協働」に全振りした新卒エンジニア研修 / New Graduate Engineer Training at a Startup Accelerating AI Adoption
ohnoeight
0
210
dbt と Snowflake と tag
kevinrobot34
1
220
VLMで2.3万枚のPyCon JP写真を検索!
terapyon
1
470
AIにブラウザを触らせて、E2EテストをPlaywrightで書く
koji_kawamura
0
410
パスキーでドライブする アカウント統合(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
120
MIXIで活躍できるエンジニアを 若手社員目線で考えてみる
mixi_engineers
PRO
0
150
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
350
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Building Applications with DynamoDB
mza
96
7.2k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
380
Typedesign – Prime Four
hannesfritz
42
3.1k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
670
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
So, you think you're a good person
axbom
PRO
2
2.1k
Design in an AI World
tapps
1
290
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
"*ʹΑΔίʔυϨϏϡʔͰ։ൃମݧΛ্ͤ͞Α͏ʂ "*ۦಈ։ൃ$POGFSFODF4QSJOH
@goofmint fb.me/goofmint த ಞ࢘ גࣜձࣾMOONGIFT දऔక ΞυϘέΠτ ίϛϡχςΟ ओ࠵ CodeRabbit
σϕϩούʔΞυϘέΠτ Ұൠࣾஂ๏ਓDevRel දཧࣄ ࣗݾհ
%FW3FM.FFUVQJO#FOHBMVSV
⛹
ࠓͷత !$PEFSBCCJU"*KBͷϑΥϩϫʔΛ૿͢ $PEF3BCCJUͱ͍͏໊લΛ֮͑ͯΒ͏ $PEF3BCCJUͰ9ͷϙετ͕૿͑Δ ϒʔεͰ5γϟπɾιοΫεɾϚϯΨΛத 5BLF'SFFͳͷͰ࣋ͬͯͬͯʂ
΅͘)PQQZ )PQQZ
$PEF3BCCJUͱʁ ݱࡏͷιϑτΣΞ։ൃͷ՝ "*ίʔυϨϏϡʔͷϝϦοτʙࣄྫΛத৺ʹʙ σϞ 5JQT
IUUQTXXXDPEFSBCCJUBJ
ݱࡏͷιϑτ ΣΞ։ൃͷ ՝
Α͋͘Δ՝ ։ൃεϐʔυͱ࣭ͷཱ྆ ਓతϦιʔεෆ "*Λར༻ͨ͠։ൃελΠϧͷਐԽ ٕज़తෛ࠴ͷղফɾڞଘ
ηΩϡϦςΟରࡦ
Α͋͘Δ՝ ։ൃεϐʔυͱ࣭ͷཱ྆ ਓతϦιʔεෆ "*Λར༻ͨ͠։ൃελΠϧͷਐԽ ٕज़తෛ࠴ͷղফɾڞଘ
ηΩϡϦςΟରࡦ )PQQZ ࠓ͜ͷͭʹ ϑΥʔΧε͢ΔΑ
։ൃεϐʔυͱ࣭
։ൃεϐʔυͱʁ ϦϦʔεαΠΫϧʢ͍΄Ͳྑ͍ʣ ϦʔυλΠϜʢ͍΄Ͳྑ͍ʣ Ұఆظؒʹ͓͚ΔΠςϨʔγϣϯͷճʢଟ͍΄Ͳྑ͍ʣ োରԠͷεϐʔυʢ͍΄Ͳྑ͍ʣ ։ൃܾఆ͔ΒσϓϩΠ͞ΕΔ·Ͱͷ͞
࣭ͱʁʙ*40*&$ΑΓʙ ػೳద߹ੑ ੑೳޮੑ ޓੑ ༻ੑ ཁ݅ʹͲΕ͚ͩద߹͍ͯ͠Δ͔ɺຬ͍ͨͯ͠Δ͔
৴པੑ ηΩϡϦςΟ อकੑ Ҡ২ੑ
։ൃεϐʔυͱ࣭ͷτϨʔυΦϑ εϐʔυΛ༏ઌ͢ΔͱɺઃܭɾϨϏϡʔɾςετఔ͕ল͔ΕΔ ࣭Λ༏ઌ͢ΔͱɺϨϏϡʔςετʹׂ͕͔Εɺ༷ࡦఆυΩϡϝ ϯτ࡞ʹ͕͔͔࣌ؒΔ
ཱ྆Ͱ͖ΔՄೳੑʁ (PPHMF$MPVE νʔϜ҆ఆੑͷͨΊʹεϐʔυΛ٘ਜ਼ʹ͢Δඞཁͳ͍ -FBO4PGUXBSF%FWFMPQNFOU ςετ։ൃΛΒͤΔΑ͏ʹݟ͑ͯɺ࣮ظతͳརӹΛͨΒ͢ WJB"DDFMFSBUF4UBUFPG%FW0QT
ཱ྆Ͱ͖ΔՄೳੑʁ (PPHMF$MPVE νʔϜ҆ఆੑͷͨΊʹεϐʔυΛ٘ਜ਼ʹ͢Δඞཁͳ͍ -FBO4PGUXBSF%FWFMPQNFOU ςετ։ൃΛΒͤΔΑ͏ʹݟ͑ͯɺ࣮ظతͳརӹΛͨΒ͢ WJB"DDFMFSBUF4UBUFPG%FW0QT εϚʔτͳνʔϜͳΒͰ͖Δ
ཁٻੳ ड͚ೖΕςετ ཁ݅ఆٛ γεςϜςετ جຊઃܭ ݁߹ςετ ৄࡉઃܭ ίʔσΟϯά ୯ମςετ ιϑτΣΞ։ൃͷϑΣʔζʢΥʔλʔϑΥʔϧܕʣ
ιϑτΣΞ։ൃͷϑΣʔζʢΞδϟΠϧܕʣ ϦϦʔε ཁ݅ఆٛ ઃܭ ։ൃ ςετ
ෆ۩߹ͱʁ ϦϦʔε ཁ݅ఆٛ ઃܭ ։ൃ ςετ ͜ͷࠩ
ϨϏϡʔΛऔΓೖΕΔ ϦϦʔε ཁ݅ఆٛ ઃܭ ։ൃ ςετ
֤ϑΣʔζʹ͓͚ΔओͳϨϏϡʔϙΠϯτ ཁ݅ఆٛ ൈ͚࿙Εɾໃ६ͷൃݟɻؔऀؒͰͷೝࣝζϨͷղফɻ ઃܭ ཁ݅ͱͷ߹ੑ֬ೝɻઃܭ্ͷໃ६ͷ༗ແɻ ։ൃ λΠϙɻϩδοΫͷɻίʔσΟϯάελΠϧνΣο
Ϋɻ ςετ ཁ݅ɾઃܭͱͷ߹ੑ֬ೝɻςετͷ߲࿙Εɻଥੑ ͷ֬ೝɻ ୈࡾऀͷઢɺࢦఠ͕ େࣄͩͶ )PQQZ
ਓతϦιʔεෆ
։ൃνʔϜ͋Δ͋Δ ΤϯδχΞ͕গͳ͍ ձࣾʹΤϯδχΞଟ͍͚ΕͲɺ֤νʔϜখ͍͞ νʔϜͰઐԽ͕ਐΈɺଞͷ࡞ۀൣғͷϏδωεɾٕज़ݟ͕ઙ͍ γχΞΤϯδχΞ͕গͳ͍ɻ൴Β͕ଟ͘ͷλεΫΛ๊͍͑ͯΔ
δϡχΞΤϯδχΞ͕ଟ͍ɻڭҭϑΣʔζͰ͕࣌ؒऔΒΕΔ ϨϏϡʔΨΠυϥΠϯ͕ͳ͍
։ൃνʔϜ͋Δ͋Δ ΤϯδχΞ͕গͳ͍ ձࣾʹΤϯδχΞଟ͍͚ΕͲɺ֤νʔϜখ͍͞ νʔϜͰઐԽ͕ਐΈɺଞͷ࡞ۀൣғͷϏδωεɾٕज़ݟ͕ઙ͍ γχΞΤϯδχΞ͕গͳ͍ɻ൴Β͕ଟ͘ͷλεΫΛ๊͍͑ͯΔ
δϡχΞΤϯδχΞ͕ଟ͍ɻڭҭϑΣʔζͰ͕࣌ؒऔΒΕΔ ϨϏϡʔΨΠυϥΠϯ͕ͳ͍
։ൃνʔϜ͋Δ͋Δ ΤϯδχΞ͕গͳ͍ ձࣾʹΤϯδχΞଟ͍͚ΕͲɺ֤νʔϜখ͍͞ νʔϜͰઐԽ͕ਐΈɺଞͷ࡞ۀൣғͷϏδωεɾٕज़ݟ͕ઙ͍ γχΞΤϯδχΞ͕গͳ͍ɻ൴Β͕ଟ͘ͷλεΫΛ๊͍͑ͯΔ
δϡχΞΤϯδχΞ͕ଟ͍ɻڭҭϑΣʔζͰ͕࣌ؒऔΒΕΔ ϨϏϡʔΨΠυϥΠϯ͕ͳ͍
։ൃνʔϜ͋Δ͋Δ ΤϯδχΞ͕গͳ͍ ձࣾʹΤϯδχΞଟ͍͚ΕͲɺ֤νʔϜখ͍͞ νʔϜͰઐԽ͕ਐΈɺଞͷ࡞ۀൣғͷϏδωεɾٕज़ݟ͕ઙ͍ γχΞΤϯδχΞ͕গͳ͍ɻ൴Β͕ଟ͘ͷλεΫΛ๊͍͑ͯΔ
δϡχΞΤϯδχΞ͕ଟ͍ɻڭҭϑΣʔζͰ͕࣌ؒऔΒΕΔ ϨϏϡʔΨΠυϥΠϯ͕ͳ͍
։ൃνʔϜ͋Δ͋Δ ΤϯδχΞ͕গͳ͍ ձࣾʹΤϯδχΞଟ͍͚ΕͲɺ֤νʔϜখ͍͞ νʔϜͰઐԽ͕ਐΈɺଞͷ࡞ۀൣғͷϏδωεɾٕज़ݟ͕ઙ͍ γχΞΤϯδχΞ͕গͳ͍ɻ൴Β͕ଟ͘ͷλεΫΛ๊͍͑ͯΔ
δϡχΞΤϯδχΞ͕ଟ͍ɻڭҭϑΣʔζͰ͕࣌ؒऔΒΕΔ ϨϏϡʔΨΠυϥΠϯ͕ͳ͍
։ൃνʔϜ͋Δ͋Δ ΤϯδχΞ͕গͳ͍ ձࣾʹΤϯδχΞଟ͍͚ΕͲɺ֤νʔϜখ͍͞ νʔϜͰઐԽ͕ਐΈɺଞͷ࡞ۀൣғͷϏδωεɾٕज़ݟ͕ઙ͍ γχΞΤϯδχΞ͕গͳ͍ɻ൴Β͕ଟ͘ͷλεΫΛ๊͍͑ͯΔ
δϡχΞΤϯδχΞ͕ଟ͍ɻڭҭϑΣʔζͰ͕࣌ؒऔΒΕΔ ϨϏϡʔΨΠυϥΠϯ͕ͳ͍
։ൃνʔϜ͋Δ͋Δ ΤϯδχΞ͕গͳ͍ ձࣾʹΤϯδχΞଟ͍͚ΕͲɺ֤νʔϜখ͍͞ νʔϜͰઐԽ͕ਐΈɺଞͷ࡞ۀൣғͷϏδωεɾٕज़ݟ͕ઙ͍ γχΞΤϯδχΞ͕গͳ͍ɻ൴Β͕ଟ͘ͷλεΫΛ๊͍͑ͯΔ
δϡχΞΤϯδχΞ͕ଟ͍ɻڭҭϑΣʔζͰ͕࣌ؒऔΒΕΔ ϨϏϡʔΨΠυϥΠϯ͕ͳ͍
"*Λར༻ͨ͠։ൃ ελΠϧͷਐԽ
Ͳͷ"*πʔϧɺ͍ͬͯ·͔͢ʁ ίʔσΟϯά ςετ ϦϦʔεɾσϓϩΠ ϞχλϦϯά ӡ༻ ϓϥϯχϯά
Α͋͘Δ՝ "*Λ։ൃʹΘͳ͍બࢶͳ͍ ͬͯΈΔͱɺҙ֎ͱ͓͕͔͔ۚΔɹˡɹΠϚίί બͱूத͕ٻΊΒΕΔ 044ɾϩʔΧϧ--.ʹ٭ޫʁ
ͱ͋Δ͝ҙݟ %FWJO3PP$PEFͳͲʹ༧ࢉΛׂΓͯΔͨΊʹɺ։ൃࢧԉܥ"*ͷඅ༻ ࠶͕ඞཁʹʜ ٽ͘ٽ͘ղ͢ΔͳͲʜ $VSTPSͱ$MJOFɺ%FWJOɺ$PEF3BCCJU͘Β͍͔͠"*πʔϧͬͯͳ͍ͷ ʹɺ݁ߏඅ༻͕͔͔ͬͯΔͳ͊
ͱ͍͑ɺऔΓΈඞਢ ਓޱݮʹ͏ΤϯδχΞෆ "*ʹΑΔ։ൃੜ࢈ੑվળ ΤʔδΣϯτܕ"*Λར༻ͨ͠ฒྻ։ൃ "*Λڭҭʹར༻͠ɺૣظઓྗԽ "*ʹऔΓ·ͳ͍ͷ͕
ϦεΫͱ͍͏ҙݟʂ )PQQZ
"*ίʔυϨϏϡʔ ͷϝϦοτ
None
None
None
ΑΓࣄྫ
$PEF3BCCJUࣄྫΠϯλϏϡʔΑΓ w 3FMJD w $MPVE4JHO w 40,6%"/ w ϩάϥϑ w
-JOVY'PVOEBUJPO ܧঝུ w "HPSB3PCPUJDT w ,FZ7BMVF4PGUXBSF4ZTUFNT w 1PUQJF w #VJMU3JHIU w 1PTUJ[
ಋೖલͷ՝ײʹ͍ͭͯ ࣌ؒత՝ ਓత՝ εέʔϧ ίʔυϨϏϡʔʹ࣌ؒ ͕͔͔Δ ίʔυϨϏϡʔʹҰ؏ ੑ͕ͳ͍ ϦϑΝΫλϦϯά 13͕େ͖͘ɺ͕࣌ؒ
͔͔Δ ϨϏϡʔͷ࣌ؒ֬อ͕ ͍͠ ϛυϧΫϥεͷΤϯδ χΞෆ ϨϏϡΞʔͱΤϯδχ ΞؒͰͷۀࣝͷࠩ ͕͋Δ 044Ͱ͋ΓϨϏϡʔ ͕ن֦େ͍ͯͨ͠ ։ൃνʔϜ͕ࢄ͠ɺ ίʔυϨϏϡʔ͕ඇޮ Խɾϛεͷൃੜ
-JOVY'PVOEBUJPOʹ͓͚Δ՝ w ख࡞ۀʹΑΔίʔυϨϏϡʔΒ͖͕ͭେ͖ ͘ɺॏཁͳόάͷݟಀ͠ʹͭͳ͕Γ͍͢ɻ w ϨϏϡʔͷ࣭୲ऀͷࣝʹґଘ͢ΔͨΊɺ νʔϜʹඞཁͳҰ؏ੑΛܽ͘͜ͱ͕͋Δɻ w ࢄνʔϜͰλΠϜκʔϯͷҧ͍ʹΑΓɺϨ ϏϡʔରԠ͕Ε͕ͪʹͳΔɻ
w ίʔυ࣭ͷΒ͖ͭɺϨϏϡʔରԠͱ৽ػ ೳ։ൃͷཱ྆ΛٻΊΔܗʹͳΓɺνʔϜϦʔυ ʹͱͬͯෛ୲ͱͳΔɻ ϨϏϡʔΨΠυϥΠ ϯେࣄͩͶ )PQQZ
$PEF3BCCJUͷಋೖܾఆཁҼ ηΩϡϦςΟ "* ӡ༻ 40$5ZQF**ͷऔಘ ίʔυΛֶशʹར༻͠ ͳ͍ σʔλͷ&&҉߸Խ ϨϏϡʔσʔλͷଈ࣌ ഁغ
࣌ؒͱʹֶश͠ɺ࠷ దԽ͞ΕΔ ϕετϓϥΫςΟεʹ جͮ͘ఏҊ (JU)VC(JU-BCΫ ϦοΫͰಋೖ ఆ੍ֹ 13ΛૹΔ͚ͩͰϨϏ ϡʔ͕࣮ߦ͞ΕΔ
$MPVE4JHOʢหޢ࢜υοτίϜʣ༷ w ࣗಈϨϏϡʔͱαϚϦʔػೳʹΑΓɺίʔυ ֬ೝ͕ޮԽ͞ΕɺϨϏϡʔ࣌ؒͷॖʹ ߩݙͨ͠ w αϒεΫϦϓγϣϯܕͷྉۚମܥʹΑΓɺ ίετͷݟ௨ཱ͕ͯ͘͢͠ɺ༧ࢉཧ ্෦ͷઆ໌͕༰қʹͳͬͨ w
ίʔυΛ֎෦ʹग़͞ͳ͍ઃܭʹΑΓɺηΩ ϡϦςΟॏࢹͷ৫Ͱ҆৺ͯ͠ಋೖͰ͖ͨ ηΩϡϦςΟ͍ͭ ߴ͘ධՁ͞ΕͯΔΑ )PQQZ
$PEF3BCCJUͷϝϦοτ εΩϧతϝϦοτ νʔϜతϝϦοτ ։ൃऀͷ࣌ؒΛ ݮ δϡχΞϓϩάϥϚ͕ ϕετϓϥΫςΟεΛ ಘΒΕΔ ίʔυϨϏϡʔͷޮ Խɾෛՙܰݮ
13࡞ίετ͕େ෯ ݮ ΤϯδχΞ͕ΑΓॏཁ ͳʹऔΓΊΔ ϨϏϡʔจԽ͕ҭͬͨ νʔϜશମͷੜ࢈ੑ͕ ্͠ɺϓϩδΣΫτ ͷਐߦ͕Ճ ͙͢ʹϨϏϡʔΛड͚ ΒΕΔ ࣌ؒతϝϦοτ
3FMJD༷ w ίʔυϨϏϡʔͷޮԽͱ࣭ͷ্͕࣮ݱ ͞Εɺશମͷ։ൃϑϩʔ͕վળ͞Εͨ w ৽ଔݚमΦϯϘʔσΟϯάͷ׆༻ʹΑ Γɺϓϩάϥϛϯάجૅͷशಘ͕ޮԽ͞ Εͨ w ॳาతͳࢦఠΛࣗಈԽ͢Δ͜ͱͰɺϨϏϡ
ΞʔϩδοΫઃܭͳͲຊ࣭తͳϨϏϡ ʔʹूதͰ͖ΔΑ͏ʹͳͬͨ ৽ଔݚमͰͷ׆༻ ໘ന͍Ͷʂ )PQQZ
σϞ
σϞ
σϞ
None
None
None
None
5JQT
$PEF3BCCJU͍͜ͳ͠ςΫχοΫ w ઃఆμογϡϘʔυɺ·ͨDPEFSBCCJUZBNMͰ w 13খ͍͞ํ͕ਫ਼ߴ͍ w ίϝϯτͰϑΟʔυόοΫ͢Δͱɺֶश͍ͯ͘͠ w QBUI@pMUFSTΛͬͯɺಛఆͷσΟϨΫτϦΛϨϏϡʔର֎ʹ w
ϓϩϯϓτͷΧελϚΠζ͕େࣄ w νϟοτͰ13༰ͷ֬ೝΛߦ͏
" ͕ΧϫΠΠʢॏཁʣ
" ͕ΧϫΠΠʢॏཁʣ ࣄྫاۀɺશࣾΦϑʂ#
ଞɺศརͳػೳʹ͍ͭͯ w %PDTUSJOHੜػೳʢϓϩҎ্ͷΈʣ w 8FCݕࡧػೳ w +JSBɺ-JOFBSͱͷ࿈ܞػೳ w $74$PEFػೳ֦ுϦϦʔε
·ͱΊ w ݱࡏͷιϑτΣΞʹ͓͚Δ՝ ։ൃεϐʔυͱ࣭ͷཱ྆ɾਓతϦιʔεෆɾ "*Λར༻ͨ͠։ൃελΠϧͷਐԽ w ίʔυϨϏϡʔΛ࣠ʹ։ൃੜ࢈ੑ্ɺεΩϧ ্ΛਤΓ·͠ΐ͏ʂ w $PEF3BCCJUΫϦοΫͰಋೖɺΫϨδοτΧʔ
υొͳ͠Ͱར༻։࢝Մೳʂ ΅͘)PQQZʂ )PQQZ
""͝੩ௌɺ͋Γ͕ͱ͏͍͟͝·ͨ͠""