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
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
540
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
390
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
160
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.7k
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
190
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
初めてのKubernetes 本番運用でハマった話
oku053
0
130
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
530
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
270
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1k
What's New in Android 2026
veronikapj
0
130
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
230
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
My Coaching Mixtape
mlcsv
0
170
Code Reviewing Like a Champion
maltzj
528
40k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Everyday Curiosity
cassininazir
0
260
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
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