makerealでWebページ生成してみた

Advent Calendar 2023, ChatGPT

この記事は レコチョク Advent Calendar 2023 の16日目の記事となります。

はじめに

はじめまして!株式会社レコチョクでサーバーサイドエンジニアをしている西村です。
最近の音楽ブームはPeople In The Boxです。Billboard live tokyoでのライブ最高でした。

最近AIに関する技術で何か面白そうなものがないか探している際に「makereal」を見つけました。
それがかなり衝撃的な内容だったので、今回そちらを紹介しようと思います。

makerealとは?

makerealとは「tldraw」というホワイトボードを作成するReactライブラリと
ChatGPT-4Vを利用して作成された、ワイヤーフレームからWebページ(HTML)を生成するアプリです。
※ 作成者はFigmaのエンジニアで、ホスティングする形でtldraw社がアプリを公開しています。

実際にtldraw社のX(旧:Twitter)にはこんな映像が上がっていました

https://twitter.com/tldraw/status/1724892287304646868?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1724892287304646868%7Ctwgr%5E7d3fcbe00f54cccf92f0a4d4b3d23d5b9225c7dd%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fembed.zenn.studio%2Ftweetzenn-embedded__cd49ded7cd9

このようにワイヤーフレームからWebページが生成できます!
またHTMLコードも生成することが可能で、とてつもなく便利な代物の予感です。

利用手順

1. OpenAI APIのKey取得

makerealを使用するためにはOpenAIのAPIキーが必要です。OpenAIのサイトにログインし、
左メニューAPI keysから create new sercet keyでキーを生成しましょう。
生成するとAPIキーが発行されるので、安全な場所に保管してください。
makerealを利用するにはOpenAI APIの有料プランに変更が必要です。

スクリーンショット 2023-11-28 12.08.01.png

2. makereal

生成したAPIキーを画面中央下のフォー厶に入力すると設定完了です。
※ 利用するにはサイト側にAPIキーを登録する必要があります。
※ ご利用する際は自己責任となりますのでご注意ください。
※ APIを外部サイトに登録したくないという方はdockerを利用してローカルで環境構築できるそうなので、もしよければ調べてみてください。

スクリーンショット 2023-11-28 19.32.25.png

あとはワイヤーフレームを作成し、右上MakeRealボタンを押すとWebページの生成ができます!

実践

今回は簡単な掲示板アプリのワイヤーフレームを作って、Webページを生成してみました。
写真左が自分が作成したワイヤーフレームで、写真右がmakerealで生成したWebページになります。

ログイン画面

  • Goodポイント
    • 指定通りの画面を生成した
    • Google&Facebookの画像&リンクを設定した
    • Passwordの最大文字数を15文字で設定した
  • Badポイント
    • 特になし!!

スクリーンショット 2023-11-28 21.04.21.png

生成されたHTMLコード

画面遷移(ログイン画面 → 投稿画面)

  • Goodポイント
    • 表示崩れがない画面を生成した
    • ログイン → 投稿画面への遷移を実現した
  • Badポイント
    • 要件を満たすWebページになるまでに2回、生成を失敗した(HTML要素の表示 & 遷移)
    • 実用的ではないコードが生成された(HTML要素の表示・非表示で遷移を再現)

スクリーンショット 2023-11-28 21.35.57.png

生成されたHTMLコード

投稿画面

  • Goodポイント
    • メッセージを送信・表示できる画面を生成した
    • 投稿内容を良しなに表示してくれた
  • Badポイント
    • 投稿日時箇所の生成に複数回失敗した
      スクリーンショット 2023-11-29 10.53.59.png

生成されたHTMLコード

まとめ

今回はmakerealを使ってWebページを生成してみました。
簡単な内容であれば理想通りのWebページ(HTML)を作成してくれました。
テキスト指示による生成と比べて、直感的かつ具体的に指示できるのでとても使いやすかったです。

内容が複雑なものに関してはまだまだ上手く生成されないことが多いのですが、
コンポーネント単位で生成するなど、利用者が工夫することで業務にも活かせるのではないかと思いました。

他にもmakerealに遷移図などの情報を与えて、
凄いアプリを作られている方がいたので、もしよければそちらも調べてみてください。

明日の レコチョク Advent Calendar 2023 は17日目「【JavaScript】Svelteを触ってみた」です。お楽しみに!

参考文献