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
touyou
July 04, 2025
Programming
2.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
生成AI時代のコンポーネントライブラリの作り方
Sparkle Designのコンポーネントライブラリ開発を進める中で考えていたことなどを紹介します。
touyou
July 04, 2025
More Decks by touyou
See All by touyou
Liquid GlassとApp Intents
touyou
0
1.6k
生成AI活用プロダクトが目指してほしい未来
touyou
0
4.3k
メンター百物語 紡ぎ続けられる確かな情熱
touyou
0
720
これからの時代の『クリエイター』の生き方
touyou
0
120
しくじり先生〜とうようがLeaders7期生からL4S7期講師になるまでのプログラミング半生を振り返る
touyou
0
170
AWSサーバーレスが支える劇団ノーミーツのオンライン劇場ZA / AWS Dev Day Online 2021 C-5
touyou
0
5.4k
3年A組から学ぶ体験の作り方
touyou
0
2.5k
學問のすすめ
touyou
0
1.3k
粒子法について その1
touyou
0
220
Other Decks in Programming
See All in Programming
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
360
霧の中の代数的エフェクト
funnyycat
1
460
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
580
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
550
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
400
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
170
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.8k
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
650
その節約、円になってますか?
isamumumu
1
680
yield再入門 #phpcon
o0h
PRO
0
920
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
480
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
130
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
210k
Visualization
eitanlees
152
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Code Reviewing Like a Champion
maltzj
528
40k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Cult of Friendly URLs
andyhume
79
7k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Transcript
生成AI時代のコンポーネントライブラリの作り方 2025/7/4 touyou@Goodpatch
Fujii Yosuke @touyou Design Engineer 2021年グッドパッチに新卒入社したエンジニア。 クライアントワークとして、iOS / Webフロントエンド /
Flutterなどの実装 を幅広くしつつ、新卒開発案件研修の制作・運営なども行っていました。 現在はサブプロジェクトとしてグッドパッチ発のデザインシステムである 「Sparkle Design」チームのエンジニアとして活動中。 いかにいいデザインを最高の形で実装するかを日々考えています! 2
本日お話しすること 1. Sparkle Designの中で試してきたこと 2. 生成AI時代のライブラリ設計の視点 3
Sparkle Designの中で試してきたこと Sparkle Designとは? 4
Sparkle Designの中で試してきたこと Sparkle Designの開発体制 touyou Design Engineer nori UI Desiner
エンジニア コンポーネント開発やライブラリ周りを主に担当 QM 元エンジニアでSparkle Design全般のクオリティを管理 5
Sparkle Designの強み 「いいデフォルト」を維持しながらも高い柔軟性を実現していること 6 新しいタスク close タイトル 必須 タイトル メモ
メモを入力 日付 年/月/日 Calendar info 日付を1週間以内に設定すると達成できる確率 がアップします! キャンセル 保存 保存 新しいタスク close タイトル 必須 タイトル メモ メモを入力 0/100 日付 年/月/日 Calendar info 日付を1週間以内に設定すると達成できる確率がアッ プします! キャンセル 保存 保存 新しいタスク close タイトル 必須 タイトル メモ メモを入力 0/100 日付 年/月/日 Calendar info 日付を1週間以内に設定すると達成できる確率がアッ プします! キャンセル 保存 保存 Sparkle Designの中で試してきたこと Sparkle Designの強み
Sparkle Designの強み 「いいデフォルト」を維持しながらも高い柔軟性を実現していること 一部だけを導入 反映しやすい できること、カスタマイズ結果を こと 7 Sparkle Designの中で試してきたこと
Sparkle Designの強み
Sparkle Designの中で試してきたこと 採用技術 shadcn/uiの採用 ・コンポーネント単体での導入が可能 ・TailwindCSSベースでカスタマイズしやすい https://ui.shadcn.com/ より 8
Sparkle Designの中で試してきたこと 採用技術 shadcn/uiの採用 ・コンポーネント単体での導入が可能 ・TailwindCSSベースでカスタマイズしやすい ↓ 全てをshadcn/uiに寄せるとそれはあくまで shadcn/uiでしかない https://ui.shadcn.com/
より 9
shadcn/ui活用のカナメ ー 「shadcn/ui registry」 自分のコードをshadcn CLIで配信できてしまう仕組み 10 https://ui.shadcn.com/ より Sparkle
Designの中で試してきたこと shadcn/uiの活用方法
Sparkle Designの中で試してきたこと shadcn/ui registryは基本機能だけでも有能ですが で真価を発揮します 生成AIに活用すること shadcn/ui registryのさらなる可能性 11
Sparkle Designの中で試してきたこと shadcn/ui registryのさらなる可能性 12 v0への統合 ・コンポーネント単位で読み込むことが可能 ・CSS変数などは対応していないので 独自スタイルを読み込ませるのは少し大変 ・画像のような形で始められるので
組み合わせコンポーネントに特に有効そう
Sparkle Designの中で試してきたこと shadcn/ui registryのさらなる可能性 13 shadcn/ui registry MCP ・レジストリさえあればMCPにできてしまう ・shadcnの環境構築がなくとも導入まで
AI経由で可能 ・Cursorのルールファイルなども配信可能 https://x.com/shadcn/status/1917597228513853603 より
Sparkle Designの中で試してきたこと shadcn/ui registryのさらなる可能性 14 shadcn/uiのAI親和性 ・ほとんどのシステムプロンプトにshadcn/uiを 使えという指示が含まれている ・shadcn/uiに近ければ近いほど後からの 置き換えが容易になる
https://x.com/shadcn/status/1927051270184943917 より
Sparkle Designの中で試してきたこと shadcn/ui registryは の良いガードレールとして活用できる 生成AI shadcn/ui registryのさらなる可能性 15
生成AI時代のライブラリ設計の視点 問い 「生成AI時代に、コンポーネントライブラリという は何を意識するべきか?」 コンテンツを提供する人 私たちはどう生きるか 15
生成AI時代のライブラリ設計の視点 「生成AIによってあらゆるものは便利になるはず! ...なのになんでわざわざ に なっているの?」 新しいテクニックが必要 私たちはどう生きるか 16
生成AI時代のライブラリ設計の視点 生成AIも結局は でしかない 機械学習の一種 生成AIの本質 17
生成AI時代のライブラリ設計の視点 生成AIも結局は でしかない 機械学習の一種 生成AIの本質 18 膨大なパターンマッチングでしかない
生成AI時代のライブラリ設計の視点 「AIにとってわかりやすいが人にはわかりにくい」 「人にはわかりやすいがAIにわかりにくい」 生成AIの本質 19
生成AI時代のライブラリ設計の視点 「AIにとってわかりやすいが人にはわかりにくい」 「人にはわかりやすいがAIにわかりにくい」 △ 「UIの構造に依存しすぎていてAIにはわかりにくい」 生成AIの本質 20
生成AI時代のライブラリ設計の視点 AI向け=人間向け 21 OpenAI公式AGENTS.md ・openai-agents-jsのAGENTS.md ・Codexへの指示書だがほぼコントリビューター ガイドそのままになっている ・つまりCodexを人間に見立てて指示をしている https://github.com/openai/openai-agents-js/blob/main/AGENTS.md
生成AI時代のライブラリ設計の視点 意識すべきは「区別」ではなく AIと人間、 ということ 双方にとってわかりやすい 私たちが大切にしたいこと 22
まとめ コンテンツがどう使われても耐えうる さまざまな場所で利用できる AIと人間の両方にとって コンテンツ 柔軟性 汎用性 わかりやすい 生成AI時代のコンポーネントライブラリの作り方 23
One more thing...
One more thing... Sparkle Design for React Sparkle Design for
React がOSSになります 26
One more thing... Sparkle Design for React Sparkle Design for
React がOSSになります This Summer 27