$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AIによるコードレビューで 開発体験を向上させよう!
Search
Atsushi Nakatsugawa
PRO
December 16, 2025
Technology
0
15
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
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
530
個人開発からエンプラまで。AIコードレビューで開発を楽しもう
moongift
PRO
0
340
AIで急増した生産「量」の荒波をCodeRabbitで乗りこなそう
moongift
PRO
1
1.4k
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
780
リレーションからマーケティングへ。継続するDevRelのために行うべきこと
moongift
PRO
0
19
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
76
個人開発にAIレビューを導入しよう
moongift
PRO
0
60
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
900
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
1.3k
Other Decks in Technology
See All in Technology
品質のための共通認識
kakehashi
PRO
3
260
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
850
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
MLflowで始めるプロンプト管理、評価、最適化
databricksjapan
1
210
第4回 「メタデータ通り」 リアル開催
datayokocho
0
130
OCI Oracle Database Services新機能アップデート(2025/09-2025/11)
oracle4engineer
PRO
1
180
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
AI-DLCを現場にインストールしてみた:プロトタイプ開発で分かったこと・やめたこと
recruitengineers
PRO
2
110
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
490
[JAWS-UG 横浜支部 #91]DevOps Agent vs CloudWatch Investigations -比較と実践-
sh_fk2
2
260
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
1.3k
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
490
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
The Language of Interfaces
destraynor
162
25k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
The Cult of Friendly URLs
andyhume
79
6.7k
Being A Developer After 40
akosma
91
590k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Automating Front-end Workflow
addyosmani
1371
200k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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ͳͲʣ ରԠ͍ͯ͠·͢ υΩϡϝϯτϨϏϡʔʹ͑·͢
ϨϏϡΞʔΛΧελϚΠζͰ͖·͢ ΦϏϫϯɾέϊʔϏ෩ ϧϑΟ෩ αΪ෩