昨今、LLM時代が来訪したのは言うまでもないが、LLMとUIの直接的なコラボレーションはまだ発展途上といったところだ。
その理由として、UIは大量の構造化されたプログラミング言語(HTMLも含めて)で構築されているが、LLMは巨大な構造を一貫性をもって扱うことができないため、相性が悪いことが挙げられる。
別のアプローチとして、FunctionCallingなどの結果をもとにコンポーネントを切り替えるアプローチもあるが、これは事前に作成したコンポーネントを作成する必要があり、LLMの持つ自由度を制限しているようにも感じる。
まとめると、現段階のLLMは自然言語からJSONを吐くのがギリギリなので、その範囲内でいかにワクワクできる体験をプロダクトに組み込めるかが次の課題だ。
そこで、ふと考えてた。
僕は開発をしている際、UIや機能になど悩んでいることが多い。ボタンにするか、トグルスイッチにするか。ある機能を消すか、戻すか。サイトのレイアウトなどなどだ。
そういう際、大体は試行錯誤して一つに絞ってリリースしているが、LLMがあれば絞る必要はないのではとひらめいた。
悩んだすべてのパターンをパラメーター化してLLMが操作できるようにすれば、一人一人にとって最適にカスタマイズされたUIを対話を通して提供できるのでは??????
エンジニアは実現したいすべての機能をサイトに乗せることが出来るし、ユーザーはそれを最適に利用できる。
もちろんまだいくつか課題はあるが、このアイデアは技術的に可能かつめちゃくちゃ面白いと思っている。今度何か作る際に、この機構を搭載したい。
参考にした先行事例
🌎The Earth🌎(yuiseki)氏作「対話型自己書き換えウェブサイト LUNATIC」
Yuta氏作 「chatgpt-dynamic-design」