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
440
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
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.2k
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
470
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
360
LLM Plugin for Node-REDの利用方法と開発について
404background
0
160
GitHub Copilot CLIのいいところ
htkym
2
1.3k
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.4k
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
150
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
120
AIエージェントの隔離技術の徹底比較
kawayu
0
470
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
170
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
250
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
How GitHub (no longer) Works
holman
316
150k
Are puppies a ranking factor?
jonoalderson
1
3.5k
Documentation Writing (for coders)
carmenintech
77
5.4k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
550
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Navigating Team Friction
lara
192
16k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
320
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