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
「早く出す」より「事業に効く」 ── 顧客の業務サイクルから逆算するAI時代の二重ループ開発と「変化の設計者」 / devsumi2026
rakus_dev
1
410
LLM/Agent評価:トップ営業の発言を「正解」にする 〜暗黙的正解による評価を営業資産に変える〜
takkuhiro
1
230
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
150
CIで使うClaude
iwatatomoya
0
290
シンガポールで登壇してきます
yama3133
0
250
ガバナンスの「ちょうどいい落とし所」を探れ!開発スピードを妨げない運用判断の勘所 / SRE NEXT 2026
genda
1
260
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
430
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
5.2k
AI Driven AI Governance
pict3
0
490
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
570
CDKで書くECSのベストプラクティス、 改めて考え直す2026 #cdkconf2026
makies
3
840
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1033
470k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
Visualization
eitanlees
152
17k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.8k
Skip the Path - Find Your Career Trail
mkilby
1
170
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
730
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
RailsConf 2023
tenderlove
30
1.5k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
340
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
YesSQL, Process and Tooling at Scale
rocio
174
15k
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に与え続けることが、人間の重要な役割
ありがとうございました!