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
790
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
リレーションからマーケティングへ。継続するDevRelのために行うべきこと
moongift
PRO
0
7
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
66
個人開発にAIレビューを導入しよう
moongift
PRO
0
43
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
1.3k
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
69
Let's speed up personal development with AI code reviews
moongift
PRO
0
38
DevRelに活かせるAIツールの紹介とレビュー
moongift
PRO
0
130
DevRelの基礎と戦略
moongift
PRO
0
76
DevRelの始め方
moongift
PRO
3
790
Other Decks in Technology
See All in Technology
pprof vs runtime/trace (FlightRecorder)
task4233
0
170
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
2
260
Oracle Cloud Infrastructure:2025年9月度サービス・アップデート
oracle4engineer
PRO
0
470
BirdCLEF+2025 Noir 5位解法紹介
myso
0
200
LLMアプリケーション開発におけるセキュリティリスクと対策 / LLM Application Security
flatt_security
7
1.9k
PLaMoの事後学習を支える技術 / PFN LLMセミナー
pfn
PRO
9
3.9k
ユニットテストに対する考え方の変遷 / Everyone should watch his live coding
mdstoy
0
130
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
130
「AI駆動PO」を考えてみる - 作る速さから価値のスループットへ:検査・適応で未来を開発 / AI-driven product owner. scrummat2025
yosuke_nagai
4
630
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
0
150
『OCI で学ぶクラウドネイティブ 実践 × 理論ガイド』 書籍概要
oracle4engineer
PRO
2
120
20250929_QaaS_vol20
mura_shin
0
130
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Writing Fast Ruby
sferik
629
62k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Code Reviewing Like a Champion
maltzj
525
40k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Designing for humans not robots
tammielis
254
26k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
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
🐰🐰͝੩ௌɺ͋Γ͕ͱ͏͍͟͝·ͨ͠🐰🐰