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
0
560
AIによるコードレビューで開発体験を向上させよう!
AI駆動開発Conference Spring 2025の発表資料です
https://www.ai-driven.dev/
Atsushi Nakatsugawa
PRO
May 07, 2025
Tweet
Share
More Decks by Atsushi Nakatsugawa
See All by Atsushi Nakatsugawa
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
29
個人開発にAIレビューを導入しよう
moongift
PRO
0
25
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
1.1k
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
52
Let's speed up personal development with AI code reviews
moongift
PRO
0
19
DevRelに活かせるAIツールの紹介とレビュー
moongift
PRO
0
110
DevRelの基礎と戦略
moongift
PRO
0
56
DevRelの始め方
moongift
PRO
3
730
マンガで分かるDevRelオンライン
moongift
PRO
0
190
Other Decks in Technology
See All in Technology
Nonaka Sensei
kawaguti
PRO
2
340
AI とペアプロしてわかった 3 つのヒューマンエラー
takahiroikegawa
1
510
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
Digitization部 紹介資料
sansan33
PRO
1
4k
これならできる!Kotlin・Spring・DDDを活用したAll in oneのマイクロサービス開発術
demaecan
0
130
ソフトウェア開発現代史: "LeanとDevOpsの科学"の「科学」とは何か? - DORA Report 10年の変遷を追って - #開発生産性_findy
takabow
1
270
単一Gitリポジトリから独立しました
lycorptech_jp
PRO
0
370
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
230
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
6.7k
dbt Cloudの新機能を紹介!データエンジニアリングの民主化:GUIで操作、SQLで管理する新時代のdbt Cloud
sagara
0
130
從開發到架構設計的可觀測性實踐
philipz
0
190
AIエージェント実践集中コース LT
okaru
1
190
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
92
6.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
670
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
4 Signs Your Business is Dying
shpigford
183
22k
Building Applications with DynamoDB
mza
95
6.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
42
2.4k
We Have a Design System, Now What?
morganepeng
52
7.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Music & Morning Musume
bryan
47
6.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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@ fi
MUFSTΛͬͯɺಛఆͷσΟϨΫτϦΛϨϏϡʔର֎ʹ w ϓϩϯϓτͷΧελϚΠζ͕େࣄ w νϟοτͰ13༰ͷ֬ೝΛߦ͏
🐰 ͕ΧϫΠΠʢॏཁʣ
🐰 ͕ΧϫΠΠʢॏཁʣ ࣄྫاۀɺશࣾΦϑʂ😭
ଞɺศརͳػೳʹ͍ͭͯ w %PDTUSJOHੜػೳʢϓϩҎ্ͷΈʣ w 8FCݕࡧػೳ w +JSBɺ-JOFBSͱͷ࿈ܞػೳ w 🆕74$PEFػೳ֦ுϦϦʔε
ओͳຊاۀͷϢʔβʔʢҰ෦ɻܧঝུʣ $MPVE4JHOʢหޢ࢜υοτίϜʣ 3FMJD 6CJF ϩάϥϑ .BSWFMPVT %.. .JDPXPSLT ηϓςʔχ ΤωνΣϯδ
θϯϦϯσʔλίϜ εϚʔτγΣΞ LJDL fl PX ΧϯϒϥΠτ ΫϥυϫʔΫε ΞϕϚ (HFO Πδήϯάϧʔϓ ϦΫϦΤ ϘϧςοΫεσδλϧ ϚΫΞέ ,VMUVSF
·ͱΊ w ݱࡏͷιϑτΣΞʹ͓͚Δ՝ ։ൃεϐʔυͱ࣭ͷཱ྆ɾਓతϦιʔεෆɾ "*Λར༻ͨ͠։ൃελΠϧͷਐԽ w ίʔυϨϏϡʔΛ࣠ʹ։ൃੜ࢈ੑ্ɺεΩϧ ্ΛਤΓ·͠ΐ͏ʂ w $PEF3BCCJUΫϦοΫͰಋೖɺΫϨδοτΧʔ
υొͳ͠Ͱར༻։࢝Մೳʂ ΅͘)PQQZʂ )PQQZ
🐰🐰͝੩ௌɺ͋Γ͕ͱ͏͍͟͝·ͨ͠🐰🐰