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
1.4k
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で急増した生産量の荒波をCodeRabbitで乗りこなそう
moongift
PRO
0
30
AIによるコードレビューで 開発体験を向上させよう!
moongift
PRO
0
39
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
560
個人開発からエンプラまで。AIコードレビューで開発を楽しもう
moongift
PRO
0
400
AIで急増した生産「量」の荒波をCodeRabbitで乗りこなそう
moongift
PRO
1
1.5k
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
830
リレーションからマーケティングへ。継続するDevRelのために行うべきこと
moongift
PRO
0
25
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
80
個人開発にAIレビューを導入しよう
moongift
PRO
0
66
Other Decks in Technology
See All in Technology
AWSと生成AIで学ぶ!実行計画の読み解き方とSQLチューニングの実践
yakumo
2
340
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
490
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
170
迷わない!AI×MCP連携のリファレンスアーキテクチャ完全ガイド
cdataj
0
410
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
Scrum Guide Expansion Pack が示す現代プロダクト開発への補完的視点
sonjin
0
550
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
320
Java 25に至る道
skrb
3
200
コールドスタンバイ構成でCDは可能か
hiramax
0
130
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
190
Digitization部 紹介資料
sansan33
PRO
1
6.5k
2025年 山梨の技術コミュニティを振り返る
yuukis
0
150
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
110
How to train your dragon (web standard)
notwaldorf
97
6.5k
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
390
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
0
140
Raft: Consensus for Rubyists
vanstee
141
7.3k
Designing for Timeless Needs
cassininazir
0
110
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
The Spectacular Lies of Maps
axbom
PRO
1
420
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
🐰🐰͝੩ௌɺ͋Γ͕ͱ͏͍͟͝·ͨ͠🐰🐰