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
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.6k
霧の中の代数的エフェクト
funnyycat
1
390
5分で問診!Composer セキュリティ健康診断
codmoninc
0
280
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
210
Performance Engineering for Everyone
elenatanasoiu
0
270
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
650
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
230
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
130
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.5k
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
480
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
660
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Designing Experiences People Love
moore
143
24k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
Optimising Largest Contentful Paint
csswizardry
37
3.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
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