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
Kyoko NR
May 25, 2026
Programming
480
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AI駆動開発で崩れていくコードベースを立て直す
2026/5/24 AI駆動開発 Women's Party! 【Women's Base 1周年記念】
Kyoko NR
May 25, 2026
Other Decks in Programming
See All in Programming
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
150
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
150
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
360
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
1.8k
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
130
フィードバックで育てるAI開発
kotaminato
1
120
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
430
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
170
act1-costs.pdf
sumedhbala
0
240
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
330
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
610
What's New in Android 2026
veronikapj
0
130
Featured
See All Featured
Navigating Team Friction
lara
192
16k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Balancing Empowerment & Direction
lara
6
1.2k
How to make the Groovebox
asonas
2
2.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
900
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
180
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
640
Rails Girls Zürich Keynote
gr2m
96
14k
Transcript
AI 駆動開発で崩れていくコードベースを立て直す 1
自己紹介 X: @kyoko_NR_nr 北川杏子 フロントエンドエンジニア 特技: 韓国語 コロナ禍に暇だったので1日8時間K-POPの Youtubeを見続けたらいつの間にか話せるように なっていた
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1. 非エンジニアの夫、Webアプリを作る ある日、非エンジニアの夫がAIでWebアプリを作っていた ちゃんと動いている。すごい…! せっかくなのでちゃんと作るため、本格的に手伝うことに やってみると問題が続出した。それらに四苦八苦して対応した記録 17
2. 動くけど 18
問題 動いているように見えるけど、実際に中を見てみるとなかなかのカオス 不要なライブラリが大量に依存関係に含まれていた 同じような機能のライブラリが重複していた 逆に必要な機能は仮実装のまま バックエンドが必要なアプリだったが、データベースなどは作られてない 19
対応 不要なライブラリを削除 READMEの整備 使われていないコードを削除 リンター・フォーマッターを導入 AI用のドキュメント整備(Rules) ディレクトリ構成の整備(フィーチャーベース構成) 技術選定 ベースがごちゃついてるとAIもごちゃついたコードを出力しがちなので、整理して最 低限の構成に
まずは最低限の環境構築 20
3. PRが見切れない 最低限の整備ができたので 1. 夫がバイブコーディングする 2. 自分がPRレビューをする。修正は自分でやってマージ というサイクルにしようと思ったが… 21
問題 PRの差分が大きすぎて読みきれない 1日に5件以上のPRが作成される せっかくPRレビューで修正した機能が、やっぱいらなくなった / 全然別の機能に したくなった、が多発 → 夫婦ケンカ勃発 22
対応 リポジトリを分けた PoC用リポジトリ: レビューはしない。とにかく作って壊してを繰り返す 開発用リポジトリ: PoCをAIに読ませて、ページ単位/機能単位で移植していく とりあえず作るものと ちゃんと作るものを分ける 23
4. 要件確認とリファクタ PoC用リポジトリを分けたので、これでコードの治安は守られる…と思ったが 24
問題 PoCは一見それっぽく見えるけど、よくよく考えると機能が足りてなかったりする 例)画像の登録機能はあるけど削除機能がない。ログイン機能はあるけどロ グアウトはない PoCをただ移植するだけでは保守性/可読性/セキュリティの面でよくない 例)1ファイル1000行のコード、フロントエンドから直でDB操作 25
対応 要件は都度確認 ドキュメントを起こす時間はないので、OpenSpecで仕様を同時にmdファイ ルにしていく ※OpenSpec = 仕様駆動開発用のライブラリ リファクタリング 大きすぎるコンポーネントは、まずAIにテストを書かせる 分割してテストを実行
= OKなら壊れてない、と判断 AIに任せず、理解するためにも手で実装する時間を設けた 26
5. プロジェクト用のルール・スキルは都度ブラッシュアップ 何とか開発サイクルは回るようになった。ただ、 27
問題 AIに何度も同じ指示をする どうしても既存のコードのスタイルに引きずられてしまう 28
対応 ルールの追加 何度も行う指示はAI用のルールにどんどん追加していく リントルールで強制 機械的にチェックできそうなことは、AIにオリジナルのリントルールを書か せて強制する プロジェクト用のスキルを作る 例)リファクタリング専用スキル AIのプランと手で実装したところの差分を読ませ、リファクタの時に何 を大切にしているか・どんな思想かを言語化しスキル化
フローを固定化 実装の前にまずリファクタリングプランを必ず出すフローにする あとが楽になる 29
まとめ AI駆動開発でも、整備しなければコードベースはどんどん崩れていく 問題が起きたら「仕組み」で解決することを心がける 非エンジニアがAIを使って動くものを作れるのは素直にすごい だからこそ、最後は自分自身の知識・判断が必要 30