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
December 16, 2025
Technology
0
41
AIによるコードレビューで 開発体験を向上させよう!
AI Engineering Summit Tokyo 2025
https://ai-engineering-summit-tokyo.findy-tools.io/2025
の発表資料です。
Atsushi Nakatsugawa
PRO
December 16, 2025
Tweet
Share
More Decks by Atsushi Nakatsugawa
See All by Atsushi Nakatsugawa
AIで急増した生産量の荒波をCodeRabbitで乗りこなそう
moongift
PRO
1
59
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
570
個人開発からエンプラまで。AIコードレビューで開発を楽しもう
moongift
PRO
0
410
AIで急増した生産「量」の荒波をCodeRabbitで乗りこなそう
moongift
PRO
1
1.5k
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
860
リレーションからマーケティングへ。継続するDevRelのために行うべきこと
moongift
PRO
0
26
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
81
個人開発にAIレビューを導入しよう
moongift
PRO
0
67
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
920
Other Decks in Technology
See All in Technology
BiDiってなんだ?
tomorrowkey
2
480
メルカリのAI活用を支えるAIセキュリティ
s3h
1
450
新規事業における「一部だけどコア」な AI精度改善の優先順位づけ
zerebom
0
110
ドメイン駆動セキュリティへの道しるべ
pandayumi
0
180
ファシリテーション勉強中 その場に何が求められるかを考えるようになるまで / 20260123 Naoki Takahashi
shift_evolve
PRO
3
360
ALB「証明書上限問題」からの脱却
nishiokashinji
0
250
クラウドセキュリティの進化 — AWSの20年を振り返る
kei4eva4
0
160
SwiftDataを覗き見る
akidon0000
0
310
Werner Vogelsが14年間 問い続けてきたこと
yusukeshimizu
2
170
Behind the Stream - How AbemaTV Engineers Build Video Apps at Scale
ygoto3
0
130
AI開発をスケールさせるデータ中心の仕組みづくり
kzykmyzw
0
130
これまでのネットワーク運用を変えるかもしれないアプデをおさらい
hatahata021
4
270
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
4.9k
Are puppies a ranking factor?
jonoalderson
1
2.6k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
900
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
120
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Context Engineering - Making Every Token Count
addyosmani
9
630
Git: the NoSQL Database
bkeepers
PRO
432
66k
Music & Morning Musume
bryan
47
7k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
110
Code Review Best Practice
trishagee
74
19k
Transcript
$PEFYͱྑ͘ɻ $PEF3BCCJU$-*ͷհ ɹ$PEFY.FFUVQ+BQBO "*ʹΑΔίʔυϨϏϡʔͰ ։ൃମݧΛ্ͤ͞Α͏ʂ $PEF3BCCJUσϕϩούʔΞυϘέΠτதಞ࢘ "*&OHJOFFSJOH4VNNJU5PLZP
@goofmint fb.me/goofmint த ಞ࢘ גࣜձࣾMOONGIFT දऔక ΞυϘέΠτ ίϛϡχςΟ ओ࠵ CodeRabbit
σϕϩούʔΞυϘέΠτ Ұൠࣾஂ๏ਓDevRel දཧࣄ ࣗݾհ
$PEF3BCCJU"*ίʔυϨϏϡʔαʔϏε 044ɺ$-*ɺ74$PEFػೳ֦ுແྉ ΩϟϥΫλʔͷ໊લ)PQQZ ֮͑ͯ΄͍ͭ͠ͷ͜ͱ ϘΫϗοϐʔʂ
։ൃʹ"*Λಋೖ͍ͯ͠·͔͢ʁ
طଘγεςϜͷಋೖ ਓࡐͷ֬อ ৴པੑɾݕূɾ࣭ͷ֬อ ίετ "*ۦಈ։ൃΛߦ͏্Ͱਏ͍͜ͱ
طଘγεςϜͷಋೖ ਓࡐͷ֬อ ৴པੑɾݕূɾ࣭ͷ֬อ ίετ "*ۦಈ։ൃΛߦ͏্Ͱਏ͍͜ͱ
࠷ۙͷಈ͖
$PEF3BCCJU74$PEFػೳ֦ுϦϦʔε (JU)VC$PQJMPU$PEJOH"HFOUొ $MBVEF$PEF͕1SPϓϥϯ͔Βར༻Մೳʹ ,JSPϦϦʔε (" $PEFY$-*͕$IBU(15αϒεΫϦϓγϣϯରԠ $PEF3BCCJU$-*ϦϦʔε (JU)VC$PQJMPU$-*1SFWJFXϦϦʔε (PPHMF"OUJHSBWJUZϦϦʔε
ͳΜͱͳ͘ͷྲྀΕ (6* *%& $6* 74
ࢲ͕ͨͪཉ͔ͬͨ͠"*ۦಈ։ൃ
ࢲ͕ͨͪखʹೖΕͨ"*ۦಈ։ൃ
ίʔυੜ࢈ྔ͕૿͑ͯɺίʔυ࣭ɾཧղੑɾอकੑͳ Ͳผͷ࣍ݩͰτϨʔυΦϑ͕͋Δͱ͍͏ݒ೦ใࠂ͞Εͯ ͍·͢ɻͨͱ͑ɺϨϏϡʔ࣌ؒ౷߹͕࣌ؒ͘ͳͬͨ ͱ͍͏࣮ݧ݁Ռ͋Γɻ 5IF*NQBDUPG(FOFSBUJWF"*PO$PMMBCPSBUJWF 0QFO4PVSDF4PGUXBSF%FWFMPQNFOU&WJEFODF GSPN(JU)VC$PQJMPU IUUQTBSYJWPSHBCT
"*૿෯ثͰ͋Δ ߴύϑΥʔϚϯεͷ৫ΛΑΓߴ͘ ۤઓ͢Δ৫ͷػೳෆશΛ֦େ͢Δ "*ہॴతͳੜ࢈ੑ্ΛͨΒ͕͢ɺԼྲྀͷࠞཚʹ ҿΈࠐ·Ε͕ͪͩ %03"4UBUFPG"*BTTJTUFE4PGUXBSF %FWFMPQNFOUΑΓ IUUQTDMPVEHPPHMFDPNSFTPVSDFTDPOUFOUEPSBBJBTTJTUFE
TPGUXBSFEFWFMPQNFOUSFQPSU IMKBΑΓ
ͭ·Γͷࠜݯʜ
ͭ·Γͷࠜݯʜ ͔ͯ͠͠ɿࢲ ͨͪʣʁ
ϓϥοτϑΥʔϜ৫Λ࣋ͭҎ্Ͱ"*ಋೖࡁΈʢͨͩ͠ɺ ׂͷ৫ίʔυੜΛ৴པ͍ͯ͠ͳ͍ʣ "*ʹΑͬͯίʔυͷੜमਖ਼্͕ΔҰํɺϨϏϡʔɾ ςετɾ࿈ܞମ੍͕͍͔ͭͳ͍ͱɺϦϦʔε࣭͕༳Β͙ %03"4UBUFPG"*BTTJTUFE4PGUXBSF %FWFMPQNFOUΑΓ IUUQTDMPVEHPPHMFDPNSFTPVSDFTDPOUFOUEPSBBJBTTJTUFE TPGUXBSFEFWFMPQNFOUSFQPSU
IMKBΑΓ
コードレ ビ ューの課題
ίʔυϨϏϡʔͷΑ͋͘Δ త ؔॴԽ ϘτϧωοΫ "*ίʔυ
ϨϏϡʔͷత WJBΰʔϧͷεςοϓΛॻ͖ग़͢ਓʮࣸਅ"$ʯ
ίʔυϨϏϡʔͱʁ w ଞͷ։ൃऀ͕ॻ͍ͨίʔυΛୈࡾऀͷࢹͰνΣοΫ͠ɺ࣭ɾՄಡੑɾอ कੑɾ҆શੑΛߴΊΔͨΊͷϓϩηε w νʔϜ͕ΑΓྑ͍ίʔυΛॻͨ͘Ίͷֶशɾڞ༗ɾ࣭อূͷΈ
ίʔυϨϏϡʔΨΠυϥΠϯͷ༗ແ w ҙ֎ͱͳ͍৫ଟ͍ w ϨϏϡΞʔʹΑͬͯɺݟΔࢹ͕όϥόϥ "͞Μݫ͍͔͠Βɺ"͞Μ͕͍ͳ͍࣌ʹ#͞Μʹग़ͦ͏ w ϨϏϡʔˠमਖ਼ˠϨϏϡʔˠमਖ਼ˠʜͷແݶϧʔϓ
ϨϏϡʔͷؔॴԽ WJBؔͷؔॴ/Pʮࣸਅ"$ʯ
͜ΜͳϨϏϡʔϓϩηεʹͳ͍ͬͯ·ͤΜ͔ʁ w ৬ڃɺܦݧ্͕ͷਓ͕νΣοΫ͢Δඞཁ͕͋Δ w ίʔυϨϏϡʔ௨աෆ۩߹ͳ͠อূ w ઃܭࢥͳͲΛࡉ͔͘٧ΊΒΕΔ
͜ΜͳϨϏϡʔϓϩηεʹͳ͍ͬͯ·ͤΜ͔ʁ w ৬ڃɺܦݧ্͕ͷਓ͕νΣοΫ͢Δඞཁ͕͋Δ w ίʔυϨϏϡʔ௨աෆ۩߹ͳ͠อূ w ઃܭࢥͳͲΛࡉ͔͘٧ΊΒΕΔ Ұ൪্ͷਓͷίʔυ୭͕νΣοΫ͢Δʁ
͜ΜͳϨϏϡʔϓϩηεʹͳ͍ͬͯ·ͤΜ͔ʁ w ৬ڃɺܦݧ্͕ͷਓ͕νΣοΫ͢Δඞཁ͕͋Δ w ίʔυϨϏϡʔ௨աෆ۩߹ͳ͠อূ w ઃܭࢥͳͲΛࡉ͔͘٧ΊΒΕΔ όάͳ͠ςετͷׂ
͜ΜͳϨϏϡʔϓϩηεʹͳ͍ͬͯ·ͤΜ͔ʁ w ৬ڃɺܦݧ্͕ͷਓ͕νΣοΫ͢Δඞཁ͕͋Δ w ίʔυϨϏϡʔ௨աෆ۩߹ͳ͠อূ w ઃܭࢥͳͲΛࡉ͔͘٧ΊΒΕΔ 13ఏग़ΛҤॖ͠ɺ৺ཧత҆શੑΛଛͳ͏
ϨϏϡʔͷϘτϧωοΫԽ WJBۀϑϩʔɾϓϩηεͷࢿྉʮࣸਅ"$ʯ
ϨϏϡʔ୲ऀͷݻఆԽ w ϨϏϡʔ͕γχΞΤϯδχΞɺ$50ͷׂʹͳ͍ͬͯΔ w ৬Ґ্͕ͩͱɺλεΫଟ͍ɻͳͷʹϨϏϡʔ·ͰՃΘΔ w ϛʔςΟϯά֎ग़ͰϨϏϡʔ͕ࢭ·Δ IUUQTXXXZPVUVCFDPNXBUDI WHMG#,-23&
"*ίʔυ
$PEF3BCCJUͷϒϩάΑΓ WJBίʔυΛॻ͘ΑΓಡΉ΄͏͕͍͠ಛʹ"*͕ॻ͍ͨίʔυ "*͕ॻ͍ͨίʔυΛಡΉ͜ͱͷ͠͞ ϨϏϡʔͷաͳґଘ "*ʹΑΔग़ྗͷٗᛋతͳਖ਼֬ੑ
#SJBO,FSOJHIBOʢ6OJYڞಉ։ൃऀɺ5IF $1SPHSBNNJOH-BOHVBHF ͷڞஶऀʣ σόοάίʔυΛॻ͘ͱ͖ͷഒ͍͠ɻ͕ͨ͠ ͬͯͦͷఆٛʹै͏ͳΒɺίʔυΛͰ͖ΔݶΓෳࡶ ʹॻ͚ɺͦͷίʔυΛσόοάͰ͖Δ΄Ͳࣗݡ ͘ͳ͍͜ͱʹͳΔɻ
"*ʹΑΔίʔυϨϏϡʔ
ίʔυͷอकੑɺύϑΥʔϚϯεɺνʔϜͷίʔσΟϯά ΨΠυϥΠϯʹԊ͍ͬͯΔ͔Ͳ͏͔ ࣮͕Ϗδωεཁ݅ʹ߹͍ͬͯΔ͔Ͳ͏͔ ίʔυΛ௨ͨ͡φϨοδͷڞ༗ ϨϏϡʔͱʁ
-JOUπʔϧɾϧʔϧϕʔε ϕετϓϥΫςΟεʹԊͬͨϨϏϡʔ $-"6%&NEɺνʔϜͷίϯςΩετʹԊͬͨϨϏϡʔ ίʔυϨϏϡʔͷਐԽ
--.ͷਐԽʹΑͬͯѻ͑ΔίϯςΩετྔ૿͍͑ͯΔ ใ͕૿͑Δͱɺݟͳͯ͘ྑ͍ॴͷ·Ͱݟ͑Δ ϨϏϡʔൣғ͕΅͚ɺࢦఠ͕͘ͳΔ ίϯςΩετͷ՝
--.ɺϢʔβʔ͔Βʮྑ͍ʯͱݴΘΕΔͱใु্͕͕Δ ๙ΊΔ͚ͩɺϙδςΟϒͳ͚ͩͷํ͕--.ʹͱͬͯྑ͍ ϨϏϡʔɺϢʔβʔ͕ݏͬͨͱͯ͠ඞཁͳ͜ͱΛࢦఠ͢Δ --.ͷ՝
ίϯςΩετΛ͍͔ʹߜΓࠐΉ͔ ඵͷճͰͳ͘ɺ࣌ؒΛ͔͚ͭͭదͳճʢεϩʔ"*ʣ νϟοτʹΑΔϑΟʔυόοΫΛੵ͠ɺΑΓνʔϜʹϑΟ οτ͍ͯ͘͠ $PEF3BCCJUͷࢦ͢ํ
ɿϨϏϡΞʔৗʹඞཁͰ͢ "*ίʔυϨϏϡʔΛऔΕ·ͤΜ ϨϏϡΞʔΛ௨աόάθϩͰ͋Γ·ͤΜ "*ίʔυϨϏϡʔɺਓͷϨϏϡʔ࣌ؒɾෛՙΛܰݮ͢ ΔଘࡏͰ͢
"*ίʔυϨϏϡʔʹΑΔ ։ൃମݧͷ্
ɿਓͷॻ͍ͨίʔυΛಡΉͷ͠ΜͲ͍ ҎલݴͬͨࢦఠΛ܁Γฦ͞ΕΔ ཁ݅Λཧղ͠ɺదͳϨϏϡʔΛߦΘͳ͍ͱ͍͚ͳ͍ͱ͍͏ ࣗͷλεΫผʹʢͬͱʣ͋Δͷʹ࣌ؒΛऔΒΕΔ ݏͳ͜ͱΛݴΘΕΔɺݴΘͳ͍ͱ͍͚ͳ͍
ղɿ໘ͳ͜ͱ"*ʹΒͤΑ͏ جຊతͳߏจϛεʢλΠϙɺΠϯσϯτʣͷݕग़ ϕετϓϥΫςΟεʹجͮ͘ࢦఠ ίʔσΟϯάΨΠυϥΠϯʹ߹Θͤͨࢦఠ ཁ݅ɾࣗࣾΨΠυϥΠϯʹ߹Θͤͨࢦఠ
։ൃମݧͷ্ͱʁ ετϨεͳ͘։ൃΛଓ͚ΒΕΔ ࣗͷࣄʹूதͰ͖Δ Δ͖͜ͱ͕खؒͳ͘खʹೖΔ
ϨϏϡʔ͔ΒมΘΔ։ൃମݧ ਓͷϨϏϡʔલʹ໌Β͔ͳ͕ղܾࡁ ύϑΥʔϚϯεɾηΩϡϦςΟͷ՝͕ղܾࡁ ਓɺίϛϡχέʔγϣϯΛҙࣝͨ͠ϨϏϡʔʹઐ೦
$PEF3BCCJUʹ͍ͭͯ
"*ίʔυϨϏϡʔαʔϏε ੈքҰΠϯετʔϧ͞Ε͍ͯΔ"*(JU)VC"QQ Ҏ্ͷ৫Ͱར༻த $PEF3BCCJUʁ
ΦʔϓϯͳϦϙδτϦͰ͋Εແྉ 74$PEFػೳ֦ுແྉ $-*൛ແྉ ແྉͰ͑Δ$PEF3BCCJU
૬ҧ ڥ ର ྉۚ ίϯςΩετ 13൛ ϒϥβ 13͞Εͨίʔυ 044ແྉ ϓϥΠϕʔτ༗ྉ
ৄࡉͳઃఆ ৫ͷઃఆ $-*൛ $-* ϩʔΧϧͷमਖ਼ίʔυ ʢະίϛοτؚΉʣ ແྉ 1SPܖͰϨʔτVQ جຊతͳ ϕετϓϥΫςΟε 74$PEF൛ (6*
ίʔυϨϏϡʔઐۀΏ͑ͷࡉ͔ͳΧελϚΠζ ࠷৽ɾෳͷ"*ϞσϧΛར༻ɾΧελϚΠζͨ͠ϨϏϡʔ σʔλΛֶशͤͣɺϨϏϡʔʹར༻ͨ͠ίʔυଈഁغ $PEF3BCCJUͷಛ
13֓ཁɾαϚϦʔɾγʔέϯεਤͷࣗಈੜ 'JYXJUI"*ʢ"*ΤʔδΣϯτ͚ϓϩϯϓτੜʣ .$1ΫϥΠΞϯτࡌ "*ۦಈ։ൃº$PEF3BCCJU
CodeRabbitの効果
$PEF3BCCJUಋೖޮՌ Ұ࣍ϨϏϡʔࣗಈԽͰͱ࣌ؒΛେ෯ॖ w δϟϯϘ w ΫϥυαΠϯ ਓతͱ࣌ؒͷݮ w 40,6%"/ w
ϩάϥϑ ػցతνΣοΫ"*ʹͤɺຊ࣭ٞʹूத w 3065& w ΧϯλʔϫʔΫε ϨϏϡʔ࣭ͷ্ w 3FMJD w ΫϥυαΠϯ ϘτϧωοΫղফͱૣظϑΟʔυόοΫͷ࣮ݱ w ΧϯλʔϫʔΫε w 4BMFT/PX ։ൃϓϩηεϫʔΫϑϩʔมֵ w 3ZP)*("4)*("8" w ϑΟϤϧυϒʔτΩϟϯϓ ਫ਼ਆతෛ୲ݮͱφϨοδڞ༗จԽ͕ఆண w δϟϯϘ w 4BMFT/PX ৺ཧෛՙܰݮͱֶशଅਐ w ·ͩ͠ w 3FMJD
"*ͱਓͷϨϏϡʔͷ୲ "*ίʔυϨϏϡʔ͕ਐԽͯ͠ਓͷϨϏϡʔͳ͘ͳΓ·ͤΜ͕ɺ"*͕ସͰ͖Δ ྖҬ૿͍͑ͯ·͢ 🐰 🕺 ਓ͕ݟΔલͷίʔυ࣭Λ͑Δׂ ཁ݅Λຬ͍ͨͯ͠Δ͔ɺاۀͷίʔσ ΟϯάΨΠυϥΠϯʹԊ͍ͬͯΔ͔֬ ೝ ࠶ར༻ੑɺՄಡੑɺอकੑɺҰ؏ੑ
Λ֬ೝ ΑΓνʔϜʹద߹ͨ͠ίʔυʹͳͬ ͍ͯΔ͔Λ֬ೝ
ਓͷϨϏϡʔͷҐஔ͚ͮΛݟͦ͏ ্࣭ ϝϯςφϯεੑ ڭҭɾ φϨοδڞ༗ νʔϜͷ৴པߏங ৺ཧత҆શੑɾจԽ
·ͱΊ w ϨϏϡʔେࣄ͚ͩΕͲɺ՝ଟ͍ w "*ϨϏϡʔΛ׆༻͠ɺ։ൃମݧΛ্͠·͠ΐ͏ w $PEF3BCCJU"*ίʔυϨϏϡʔαʔϏε
🐰🐰͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠🐰🐰 ϘΫͷ໊લʁ
Α͋͘Δ࣭5JQT
2"*ԿΛ͍ͬͯ·͔͢ʁ 0QFO"*·ͨ"OUISPQJDͰ͢ʢͨͩ͠(FNJOJͳͲධՁ͍ͯ͠·͢ʣ IUUQTTUBUVTDPEFSBCCJUBJ
2ಠࣗͷ"*ͷ"1*Ωʔ͑·͔͢ʁ ͪΖΜ͑·͢ɻͨͩ͠ηϧϑϗετʢ Ϣʔβʔʣʹͯ w 0QFO"* w "[VSF0QFO"* w "84#FESPDL w
"OUISPQJD
2ॻ͖खʹΑͬͯ͠·͔͢ʁ ͠·ͤΜɻͨͱ͑$50૬खͰλΠϙΛࢦఠ͠·͢💪🐰
2ϓϩάϥϛϯά͚Ͱ͔͢ʁ ͍͑ɺΠϯϑϥʢ5FSSBGPSNɺLTɺ%PDLFSɺ$MPVE'PSNBUJPOͳͲʣ ରԠ͍ͯ͠·͢ υΩϡϝϯτϨϏϡʔʹ͑·͢
ϨϏϡΞʔΛΧελϚΠζͰ͖·͢ ΦϏϫϯɾέϊʔϏ෩ ϧϑΟ෩ αΪ෩