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
840
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
17
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
400
リレーションからマーケティングへ。継続するDevRelのために行うべきこと
moongift
PRO
0
8
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
72
個人開発にAIレビューを導入しよう
moongift
PRO
0
47
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
1.3k
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
70
Let's speed up personal development with AI code reviews
moongift
PRO
0
40
DevRelに活かせるAIツールの紹介とレビュー
moongift
PRO
0
140
Other Decks in Technology
See All in Technology
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
110
書籍『実践 Apache Iceberg』の歩き方
ishikawa_satoru
0
190
GraphRAG グラフDBを使ったLLM生成(自作漫画DBを用いた具体例を用いて)
seaturt1e
1
160
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
220
SRE × マネジメントレイヤーが挑戦した組織・会社のオブザーバビリティ改革 ― ビジネス価値と信頼性を両立するリアルな挑戦
coconala_engineer
0
290
.NET 10のBlazorの期待の新機能
htkym
0
150
20251024_TROCCO/COMETAアップデート紹介といくつかデモもやります!_#p_UG 東京:データ活用が進む組織の作り方
soysoysoyb
0
120
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
4
1.9k
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
660
コンパウンド組織のCRE #cre_meetup
layerx
PRO
1
280
「タコピーの原罪」から学ぶ間違った”支援” / the bad support of Takopii
piyonakajima
0
150
Azure Well-Architected Framework入門
tomokusaba
1
140
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
GraphQLとの向き合い方2022年版
quramy
49
14k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Rails Girls Zürich Keynote
gr2m
95
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Building Applications with DynamoDB
mza
96
6.7k
Documentation Writing (for coders)
carmenintech
75
5.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
A Tale of Four Properties
chriscoyier
161
23k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
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
🐰🐰͝੩ௌɺ͋Γ͕ͱ͏͍͟͝·ͨ͠🐰🐰