Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FSDはAI Codingの品質と開発コストを改善し得るか / 20260828-ai-cod...

Avatar for Yuma Satake Yuma Satake
September 02, 2026
13

FSDはAI Codingの品質と開発コストを改善し得るか / 20260828-ai-coding-with-fsd

Avatar for Yuma Satake

Yuma Satake

September 02, 2026

Transcript

  1. FSDとは FSDとは • FE開発における設計⼿法 • 思想とツールチェーンを提供 • コードベースを分割して管理 → Layers(依存整理)

    → Slices(ドメイン単位) → Segments(技術単位) Source: https://github.com/feature-sliced/documentation| MIT License
  2. FSDとは FSDとは • FE開発における設計⼿法 • 思想とツールチェーンを提供 • コードベースを分割して管理 → Layers(依存整理)

    → Slices(ドメイン単位) → Segments(技術単位) Source: https://github.com/feature-sliced/documentation| MIT License
  3. FSDとは 提供されているFSDツールチェーン • ESLint Plugin • steiger(CLIツール) • Skills •

    llms.txt ➡ FSDの設計を適切に使⽤するための概念‧ユースケースの提供
  4. お話の主成分 なぜ分厚いアーキテクチャは受け⼊れられないか 「メリット」 「デメリット」 • 変更容易性の向上 • ボイラープレートの増⼤ • テスト容易性の向上

    • 学習/認知コストの⾼さ • 型安全性の向上 • 開発速度の低下 ➡ 開発コストの増⼤に⾒合った品質向上が得られない
  5. お話の主成分 なぜ分厚いアーキテクチャは受け⼊れられないか 「メリット」 XXXってやつ too muchですよね」 「デメリット」 ???「その • 変更容易性の向上

    • ボイラープレートの増⼤ • テスト容易性の向上 • 学習/認知コストの⾼さ • 型安全性の向上 • 開発速度の低下 ➡ 開発コストの増⼤に⾒合った品質向上が得られない
  6. お話の主成分 なぜ分厚いアーキテクチャは受け⼊れられないか 「メリット」 Effect TSって〜 「デメリット」 • 変更容易性の向上 • ボイラープレートの増⼤

    • テスト容易性の向上 • 学習/認知コストの⾼さ • 型安全性の向上 • 開発速度の低下 ➡ 開発コストの増⼤に⾒合った品質向上が得られない
  7. お話の主成分 なぜ分厚いアーキテクチャは受け⼊れられないか 「メリット」 「デメリット」 フロントエンドでやる Clean Architectureって〜 • 変更容易性の向上 •

    ボイラープレートの増⼤ • テスト容易性の向上 • 学習/認知コストの⾼さ • 型安全性の向上 • 開発速度の低下 ➡ 開発コストの増⼤に⾒合った品質向上が得られない
  8. お話の主成分 なぜ分厚いアーキテクチャは受け⼊れられないか 「メリット」 「デメリット」 Redux + Redux-Sagaって〜 • 変更容易性の向上 •

    ボイラープレートの増⼤ • テスト容易性の向上 • 学習/認知コストの⾼さ • 型安全性の向上 • 開発速度の低下 ➡ 開発コストの増⼤に⾒合った品質向上が得られない
  9. お話の主成分 なぜ分厚いアーキテクチャは受け⼊れられないか 「メリット」 「デメリット」 マイクロフロントエンドって〜 • 変更容易性の向上 • ボイラープレートの増⼤ •

    テスト容易性の向上 • 学習/認知コストの⾼さ • 型安全性の向上 • 開発速度の低下 ➡ 開発コストの増⼤に⾒合った品質向上が得られない
  10. お話の主成分 なぜ分厚いアーキテクチャは受け⼊れられないか 「メリット」 Branded Typeって〜「デメリット」 • 変更容易性の向上 • ボイラープレートの増⼤ •

    テスト容易性の向上 • 学習/認知コストの⾼さ • 型安全性の向上 • 開発速度の低下 ➡ 開発コストの増⼤に⾒合った品質向上が得られない
  11. 検証内容 仮説① - 品質 • 要件網羅率は変わらないはず 要件を正しく実装できるかは、要件に対するモデルの読解⼒に依存するため アーキテクチャの影響を受けにくいはず • 変更容易性はFSDが有利になるはず

    ドメインの集約と依存の整理により、既存実装の破壊を抑えつつ 要件の変更に対応できるはず ➡ FSDの採⽤は、変更容易性を改善するはず
  12. 検証内容 仮説② - 開発コスト • 1セッション内では複雑ならFSDの⽅が低コスト セッションが⻑くなるほどSkills等の読み込みコストより アーキテクチャによる探索コストの低下が効くはず • 開発全体ではコードベースが⼤きくなればFSDの⽅が低コスト

    初期はコードベース⾃体が軽量なため、FSDの⽅が⾼コスト 開発が進めば、アーキテクチャによるコスト低減が出てくるはず ➡ 初期は⾼コストだが、どこかで損益分岐点がくるはず
  13. 検証内容 仮説の検証⽅法 テーマ:ECサイト 3つのストーリーをOpus 4.7とHaiku 4.5に取り組ませて検証をする • • • S1:要件に基づいて基本的なECサイトをNext.js

    + TSで実装(基礎実装) S2:カート機能/注⽂履歴機能の追加(要件追加) S3:商品に⾊やサイズなどのバリエーションを持たせる変更(要件変更) FSDの対抗として⼀般なFeature-Based(以後FB)で検証を⾏う
  14. 検証内容 検証結果 有効な検証Run数 モデル アーキテクチャ S1 S2 S3 Opus 4.7

    FSD 2 2 2 Opus 4.7 Feature-Based 2 2 2 Haiku 4.5 FSD 2 3 2 Haiku 4.5 Feature-Based 4 3 2
  15. 検証内容 品質仮説①:要件網羅率はFSD/FBで変わらないはず FSDのPublic APIパターン vs Next.jsのRSC境界 • Public API:他ドメインで関数を使う場合にはindex.tsでre-export •

    実装でserver onlyな関数をre-export経由でclient内で使う実装が多発 • 検証都合でbuild check無し ➡ AI向けドキュメントがあっても、FSD+Next.jsの認知負荷の⾼さが⽬⽴った
  16. 検証内容 品質仮説② - 変更容易性はFSDの⽅が⾼くなる S3初回E2E通過率 FSD FB Opus 4.7 0.00

    1.00 Haiku 4.5 0.71 1.00 Opusの方がS1(基礎実装)で正しく FSD実装 ➡ Public APIの適⽤箇所が多くなり抜け漏れ
  17. 検証内容 品質仮説② - 変更容易性はFSDの⽅が⾼くなる S3初回E2E通過率 FSD FB Opus 4.7 0.00

    1.00 Haiku 4.5 0.71 1.00 ➡ 検証⽅法に問題はありつつも、E2Eの通過率では品質仮説①と同様に FSD+Next.jsの認知負荷の⾼さが⽬⽴った
  18. 検証内容 品質仮説② - 変更容易性はFSDの⽅が⾼くなる E2E以外の検証では、正しくFSD実装しているOpusではFSDの⽅が優位 観点 内容 Haiku/FSD E2E通過率 初回E2Eの通過率

    0.71 1.00 0.00 1.00 変更ファイル率 ファイルの変更率 0.21 0.20 0.16 0.24 レビュー指摘密度 レビュアー AIによる指摘量 0.012 0.007 0.008 0.017 avg import モジュール結合度 2.04 2.15 1.9 2.3 Haiku/FB Opus/FSD Opus/FB
  19. 検証内容 品質仮説② - 変更容易性はFSDの⽅が⾼くなる E2E以外の検証では、正しくFSD実装しているOpusではFSDの⽅が優位 観点 内容 Haiku/FSD 初回E2Eの通過率 0.71

    1.00 0.00 1.00 変更ファイル率 ファイルの変更率 0.21 0.20 0.16 0.24 レビュー指摘密度 レビュアー AIによる指摘量 0.012 0.007 0.008 0.017 avg import モジュール結合度 2.04 2.15 1.9 2.3 E2E通過率 Haiku/FB OpusではFSDの方がレビュー指摘が 50%少ない Opus/FSD Opus/FB
  20. 検証内容 品質仮説② - 変更容易性はFSDの⽅が⾼くなる E2E以外の検証では、正しくFSD実装しているOpusではFSDの⽅が優位 観点 内容 Haiku/FSD 初回E2Eの通過率 0.71

    1.00 0.00 1.00 変更ファイル率 ファイルの変更率 0.21 0.20 0.16 0.24 レビュー指摘密度 レビュアー AIによる指摘量 0.012 0.007 0.008 0.017 avg import モジュール結合度 2.04 2.15 1.9 2.3 E2E通過率 Haiku/FB モジュール結合度は 両モデルで FSD優位 Opus/FSD Opus/FB
  21. 検証内容 開発コスト② - FSDの⽅がトークンの変動費は低い FSDに忠実なOpusでは明確にFSDが⾼い シナリオ モデル 探索 - FSD/FB比率

    生成 - FSD/FB比率 S1(基礎実装) Opus 4.7 1.13x 1.27x S2(要件追加) Opus 4.7 1.30x 1.29x S3(要件変更) Opus 4.7 0.71x 0.93x
  22. 検証内容 開発コスト② - FSDの⽅がトークンの変動費は低い FSDに忠実なOpusでは明確にFSDが⾼い 調査した結果、 FSDのPublic vs Next.jsのRSC境界問題で シナリオ

    モデル APIパターン 探索 - FSD/FB比率 生成 - FSD/FB比率 FSDの適⽤が完全ではなかったため、外れ値になっている S1(基礎実装) Opus 4.7 1.13x 1.27x S2(要件追加) Opus 4.7 1.30x 1.29x S3(要件変更) Opus 4.7 0.71x 0.93x
  23. 検証内容 開発コスト② - FSDの⽅がトークンの変動費は低い 探索コスト増 • FSD規約の読み込みコスト • Public API(index.ts)経由での⼆段階読み込み

    • 設計判断のための他entityの読み込み ⽣成コスト増 • モジュール分割(1.13倍〜1.49倍) • 依存削除のための重複記述