Slide 1

Slide 1 text

生成AI時代のコンポーネントライブラリの作り方 2025/7/4 touyou@Goodpatch

Slide 2

Slide 2 text

Fujii Yosuke @touyou Design Engineer 2021年グッドパッチに新卒入社したエンジニア。 クライアントワークとして、iOS / Webフロントエンド / Flutterなどの実装 を幅広くしつつ、新卒開発案件研修の制作・運営なども行っていました。 現在はサブプロジェクトとしてグッドパッチ発のデザインシステムである 「Sparkle Design」チームのエンジニアとして活動中。 いかにいいデザインを最高の形で実装するかを日々考えています! 2

Slide 3

Slide 3 text

本日お話しすること 1. Sparkle Designの中で試してきたこと 2. 生成AI時代のライブラリ設計の視点 3

Slide 4

Slide 4 text

Sparkle Designの中で試してきたこと Sparkle Designとは? 4

Slide 5

Slide 5 text

Sparkle Designの中で試してきたこと Sparkle Designの開発体制 touyou Design Engineer nori UI Desiner エンジニア コンポーネント開発やライブラリ周りを主に担当 QM 元エンジニアでSparkle Design全般のクオリティを管理 5

Slide 6

Slide 6 text

Sparkle Designの強み 「いいデフォルト」を維持しながらも高い柔軟性を実現していること 6 新しいタスク close タイトル 必須 タイトル メモ メモを入力 日付 年/月/日 Calendar info 日付を1週間以内に設定すると達成できる確率 がアップします! キャンセル 保存 保存 新しいタスク close タイトル 必須 タイトル メモ メモを入力 0/100 日付 年/月/日 Calendar info 日付を1週間以内に設定すると達成できる確率がアッ プします! キャンセル 保存 保存 新しいタスク close タイトル 必須 タイトル メモ メモを入力 0/100 日付 年/月/日 Calendar info 日付を1週間以内に設定すると達成できる確率がアッ プします! キャンセル 保存 保存 Sparkle Designの中で試してきたこと Sparkle Designの強み

Slide 7

Slide 7 text

Sparkle Designの強み 「いいデフォルト」を維持しながらも高い柔軟性を実現していること 一部だけを導入 反映しやすい できること、カスタマイズ結果を こと 7 Sparkle Designの中で試してきたこと Sparkle Designの強み

Slide 8

Slide 8 text

Sparkle Designの中で試してきたこと 採用技術 shadcn/uiの採用 ・コンポーネント単体での導入が可能 ・TailwindCSSベースでカスタマイズしやすい https://ui.shadcn.com/ より 8

Slide 9

Slide 9 text

Sparkle Designの中で試してきたこと 採用技術 shadcn/uiの採用 ・コンポーネント単体での導入が可能 ・TailwindCSSベースでカスタマイズしやすい ↓ 全てをshadcn/uiに寄せるとそれはあくまで shadcn/uiでしかない https://ui.shadcn.com/ より 9

Slide 10

Slide 10 text

shadcn/ui活用のカナメ ー 「shadcn/ui registry」 自分のコードをshadcn CLIで配信できてしまう仕組み 10 https://ui.shadcn.com/ より Sparkle Designの中で試してきたこと shadcn/uiの活用方法

Slide 11

Slide 11 text

Sparkle Designの中で試してきたこと shadcn/ui registryは基本機能だけでも有能ですが で真価を発揮します 生成AIに活用すること shadcn/ui registryのさらなる可能性 11

Slide 12

Slide 12 text

Sparkle Designの中で試してきたこと shadcn/ui registryのさらなる可能性 12 v0への統合 ・コンポーネント単位で読み込むことが可能 ・CSS変数などは対応していないので  独自スタイルを読み込ませるのは少し大変 ・画像のような形で始められるので  組み合わせコンポーネントに特に有効そう

Slide 13

Slide 13 text

Sparkle Designの中で試してきたこと shadcn/ui registryのさらなる可能性 13 shadcn/ui registry MCP ・レジストリさえあればMCPにできてしまう ・shadcnの環境構築がなくとも導入まで  AI経由で可能 ・Cursorのルールファイルなども配信可能 https://x.com/shadcn/status/1917597228513853603 より

Slide 14

Slide 14 text

Sparkle Designの中で試してきたこと shadcn/ui registryのさらなる可能性 14 shadcn/uiのAI親和性 ・ほとんどのシステムプロンプトにshadcn/uiを  使えという指示が含まれている ・shadcn/uiに近ければ近いほど後からの  置き換えが容易になる https://x.com/shadcn/status/1927051270184943917 より

Slide 15

Slide 15 text

Sparkle Designの中で試してきたこと shadcn/ui registryは の良いガードレールとして活用できる 生成AI shadcn/ui registryのさらなる可能性 15

Slide 16

Slide 16 text

生成AI時代のライブラリ設計の視点 問い 「生成AI時代に、コンポーネントライブラリという は何を意識するべきか?」 コンテンツを提供する人 私たちはどう生きるか 15

Slide 17

Slide 17 text

生成AI時代のライブラリ設計の視点 「生成AIによってあらゆるものは便利になるはず! ...なのになんでわざわざ に なっているの?」 新しいテクニックが必要 私たちはどう生きるか 16

Slide 18

Slide 18 text

生成AI時代のライブラリ設計の視点 生成AIも結局は でしかない 機械学習の一種 生成AIの本質 17

Slide 19

Slide 19 text

生成AI時代のライブラリ設計の視点 生成AIも結局は でしかない 機械学習の一種 生成AIの本質 18 膨大なパターンマッチングでしかない

Slide 20

Slide 20 text

生成AI時代のライブラリ設計の視点 「AIにとってわかりやすいが人にはわかりにくい」 「人にはわかりやすいがAIにわかりにくい」 生成AIの本質 19

Slide 21

Slide 21 text

生成AI時代のライブラリ設計の視点 「AIにとってわかりやすいが人にはわかりにくい」 「人にはわかりやすいがAIにわかりにくい」 △ 「UIの構造に依存しすぎていてAIにはわかりにくい」 生成AIの本質 20

Slide 22

Slide 22 text

生成AI時代のライブラリ設計の視点 AI向け=人間向け 21 OpenAI公式AGENTS.md ・openai-agents-jsのAGENTS.md ・Codexへの指示書だがほぼコントリビューター  ガイドそのままになっている ・つまりCodexを人間に見立てて指示をしている https://github.com/openai/openai-agents-js/blob/main/AGENTS.md

Slide 23

Slide 23 text

生成AI時代のライブラリ設計の視点 意識すべきは「区別」ではなく AIと人間、 ということ 双方にとってわかりやすい 私たちが大切にしたいこと 22

Slide 24

Slide 24 text

まとめ コンテンツがどう使われても耐えうる さまざまな場所で利用できる AIと人間の両方にとって コンテンツ 柔軟性 汎用性 わかりやすい 生成AI時代のコンポーネントライブラリの作り方 23

Slide 25

Slide 25 text

One more thing...

Slide 26

Slide 26 text

One more thing... Sparkle Design for React Sparkle Design for React がOSSになります 26

Slide 27

Slide 27 text

One more thing... Sparkle Design for React Sparkle Design for React がOSSになります This Summer 27