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
36
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
560
個人開発からエンプラまで。AIコードレビューで開発を楽しもう
moongift
PRO
0
380
AIで急増した生産「量」の荒波をCodeRabbitで乗りこなそう
moongift
PRO
1
1.5k
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
820
リレーションからマーケティングへ。継続するDevRelのために行うべきこと
moongift
PRO
0
24
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
80
個人開発にAIレビューを導入しよう
moongift
PRO
0
66
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
920
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
1.4k
Other Decks in Technology
See All in Technology
20251222_サンフランシスコサバイバル術
ponponmikankan
2
160
Oracle Cloud Infrastructure:2025年12月度サービス・アップデート
oracle4engineer
PRO
0
150
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
200
Microsoft Agent Frameworkの可観測性
tomokusaba
1
120
アラフォーおじさん、はじめてre:Inventに行く / A 40-Something Guy’s First re:Invent Adventure
kaminashi
0
210
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
150
AWSに革命を起こすかもしれない新サービス・アップデートについてのお話
yama3133
0
540
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
130
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
6
2.5k
AI との良い付き合い方を僕らは誰も知らない
asei
1
320
Snowflake Industry Days 2025 Nowcast
takumimukaiyama
0
150
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
2
310
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
54
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Deep Space Network (abreviated)
tonyrice
0
32
How to Ace a Technical Interview
jacobian
281
24k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
210
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
120
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
0
26
Google's AI Overviews - The New Search
badams
0
880
Darren the Foodie - Storyboard
khoart
PRO
0
2k
So, you think you're a good person
axbom
PRO
0
1.9k
Into the Great Unknown - MozCon
thekraken
40
2.2k
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ͳͲʣ ରԠ͍ͯ͠·͢ υΩϡϝϯτϨϏϡʔʹ͑·͢
ϨϏϡΞʔΛΧελϚΠζͰ͖·͢ ΦϏϫϯɾέϊʔϏ෩ ϧϑΟ෩ αΪ෩