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とTDDによるNext.js「隙間ツール」開発の実践
Search
Makoto Tateno
August 27, 2025
Technology
1.2k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AIとTDDによるNext.js「隙間ツール」開発の実践
Makoto Tateno
August 27, 2025
More Decks by Makoto Tateno
See All by Makoto Tateno
'use server'の越境を可視化する Next.jsの'use server'と見えないPOSTとの向き合い方
makotot
0
49
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
4
1.1k
Other Decks in Technology
See All in Technology
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airrnot1106
0
190
基調講演:人とAIをつなぐIoTの今と未来 ー 「フィジカル」と「デジタル」が出会うその先へ【SORACOM Discovery 2026】
soracom
PRO
0
360
データ活用研修 データマネジメント【MIXI 26新卒技術研修】
mixi_engineers
PRO
4
790
AIQAのナレッジ構築について
qatonchan
1
130
LangfuseによるLLMOps基盤の構築と活用事例
zozotech
PRO
1
180
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.3k
データベース研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
700
エンタープライズデータへ安全につなぐ Production-ready なエージェント設計 ― AI × MCP リファレンスアーキテクチャ ― #AIDevDay
cdataj
1
340
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
460
自己解決や回答速度を上げる、サポート業務へのAIの組み込み方【SORACOM Discovery 2026】
soracom
PRO
0
110
AI研修(Day1)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
2.8k
歴史から理解するクラウドインフラのしくみ
kizawa2020
0
190
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
The Curse of the Amulet
leimatthew05
2
13k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
250
Ruling the World: When Life Gets Gamed
codingconduct
0
290
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
Bash Introduction
62gerente
615
220k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Faster Mobile Websites
deanohume
310
32k
A Soul's Torment
seathinner
6
3.1k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
230
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
Transcript
AIとTDDによる Next.js「隙間ツール」 開発の実践 規約ファイルのコンポーネントヒエラルキーをGemini CLIとTDDで可視化する 2025.08.27 「実践Next.js!AIアウトプットと コンポーネント設計」 最新事情 LT
Makoto Tateno
2 / 10 自己紹介 Makoto Tateno / 舘野 真 株式会社カオナビ
github.com/makotot x.com/makototdev
3 / 10 課題:ファイル構造 ≠ コンポーネント階層 この複雑なファイル構造から… …この階層を直感的にイメージしたい 引用元: https://nextjs.org/docs/app/getting-started/project-
structure#component-hierarchy app/ ├── (dashboard)/ │ ├── layout.tsx │ ├── page.tsx │ └── users/ │ └── [id]/ │ └── [action]/ │ └── page.tsx ├── @modal/ │ ├── default.tsx │ └── layout.tsx ├── _components/ │ └── Button.tsx ├── content/ │ ├── [...slug]/ │ └── [[...path]]/ ├── error.tsx ├── global-error.tsx ├── layout.tsx ├── loading.tsx
4 / 10 「隙間」を埋めるツールをAIエージェントとTDD 規約のファイルとディレクトリーを読み取って、コンポーネントヒエラルキーをJSONで出力すれば良い? コンテキストが限定的 → AIエージェントと相性が良さそう 期待結果が明確 →
TDDに向いていそう
5 / 10 AIエージェントがTDDを進める AIエージェントにNext.js公式ドキュメントを読ませて、TDDで進めることを GEMINI.md に記載してから 最初に「こういう結果になってほ しい」という失敗するテストを書 かせる
テストをパスする最小限のコード を生成させる 実装上の重複であればGemini CLI 自身がリファクタリングを提案 1. RED: 失敗するテスト 2. GREEN: テストをパス 3. REFACTOR: リファクタリング
6 / 10 AIエージェントによるTDDで直面した壁 1. コンテキストが「大きすぎる」 ✕ API Error: read
ETIMEDOUT テストファイルが2,000行弱まで肥大化 → タイムアウト → 人間がテストを分割し、コンテキストを小さくする必要 2. コンテキストが「曖昧すぎる」 当初、ファイル構造をほぼそのままJSONにして出力してきた GEMINI.md にNext.js公式から分かる範囲のルールを詳細に記載して指示を繰り返した → 人間がルールを明文化し、コンテキストを具体的にする必要
7 / 10 コンポーネントヒエラルキーをJSONで出力 「見えない階層」をマシンリーダブルなデータに ファイル構造という暗黙のルールを、誰でも利用可能なJSON データに変換 これにより、様々なツール連携が可能かも? デバッグの高速化 layout
のネストや error.tsx の適用範囲などを可視化 し、問題の原因を素早く特定 ドキュメントの自動生成 プロジェクトのルーティング構成をドキュメントに反映 静的解析の拡張 「このセグメントには loading.tsx が必須」といった独自 ルールを自動チェック { "name": "app", "path": "app", "type": "app-directory", "children": [ { "name": "layout.tsx", // ファイル名、またはフォルダ名 "path": "app/layout.tsx", // appディレクトリからの相対パス "type": "layout", // 規約の種類 "children": [ // 再帰的な階層構造 { "name": "template.tsx", "path": "app/template.tsx", "type": "template", "children": [ { "name": "loading.tsx", "path": "app/loading.tsx", "type": "loading", "children": [ { "name": "page.tsx", "path": "app/page.tsx", "type": "page",
8 / 10
9 / 10 まとめ Next.jsの複雑さを補うツールを作ることが開発効率改善に可能性がある 補う → 隙間を埋める → コンテキストが狭い
→ AIエージェントに向いている可能性が高い TDDは、AIエージェントが期待通りに成果物を生み出しているか確認する上で効果的 Red/Green : AIが期待通りに動いているかの明確な指標になる Refactor : 「良いコード」とは何かを定義する、人間の介入が不可欠な領域 AIエージェントへのインプットの質と量が成果物の質に直結 的確な「量」と「質」のコンテキストをAIに与え続けることが、人間の重要な役割
ありがとうございました!