You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
mokkun は、YAMLで定義したUI構造からブラウザ上で画面モックを生成・表示するツールとして開発しています。
当初は、HTML生成は処理が重くトークン消費も大きいため、auto compaction による待ち時間が発生しやすく、特にチームでの仕様確認では全員の作業が止まって大きなロスになることから、避けたいと考えていました。
一方で開発を進める中で、AIが生成するモックHTMLの表現パターンを網羅しないと表示が崩れやすく、結局HTML生成をせざるを得ない状況が見えてきています。そこで、より良いアプローチを検討したいです。
アイデア出し(HTML生成 “以外/最小化” で成立させる設計案)
1) 「HTMLを生成する」のではなく「中間IR → レンダラー」で固定化する
発想:AIにHTMLを書かせるのをやめ、AIの出力は 限定語彙の中間表現(IR) にする。
mokkunはそのIRを**自前レンダラー(React/Vue/Canvas/SVGなど)**で表示。
component: Button, props: {variant:"primary"}, children:["保存"]のような制約されたJSON/YAMLポイント:YAMLがすでにあるなら、そのYAML自体をIRとして扱い、AIは「不足情報の補完」だけに絞るのが強いです。
2) 表示崩れの原因を「パターン網羅」から「コンポーネント辞書」に寄せる
発想:「HTMLの全パターンを作りきる」ではなく、UIコンポーネントの辞書を作って、AIがそこから選ぶ方式。
結果として、網羅すべきは「HTMLの無限パターン」ではなく「辞書の有限セット」になります。
3) HTMLは生成してもいいが「一切AIに生成させない」
発想:HTML生成の負担(時間・トークン)が問題なので、AI生成HTMLをやめて、テンプレートエンジンで確定HTMLを出す。
「結局HTML生成が必要」でも、トークン問題は消せる方向です。
4) 「全HTML対応」ではなく “許容するサブセット” を宣言する
発想:mokkunは「モック表示」用途なので、サポート範囲を明示して割り切る。
チームで仕様確認するなら、むしろこの方が運用上ラクなケースが多いです。
5) “互換レイヤ” を作る(AIのHTMLを受けつつ正規化)
発想:AIが吐いたHTMLをそのまま表示せず、DOMを解析して正規化してからレンダリングする。
これは「AIが生成する揺らぎ」をmokkun側で吸収する戦略で、既存のAI出力を捨てずに移行できます。
6) 体験面:生成を分割して “待ち” をなくす
発想:auto compaction が問題なら、生成単位を小さくして「逐次表示」に寄せる。
例:レイアウト → 各セクション → 各コンポーネント
表示品質の話とは別軸ですが、チーム確認のストレスは大きく減ります。
現実的な落とし所(おすすめの組み合わせ)
→ “HTMLの無限地獄” から抜けられる
Beta Was this translation helpful? Give feedback.
All reactions