Open15
生成AI使ってみた。claude-3.5-sonnet, bolt.new, gemini-1.5 pro
概要
bolt.new 生成AI的な、お試し内容になります。
- 最近、bolt.newの関連、成果物などSNSで見かけたので、調べた内容です。
[ 公開 2024/10/16 ]
関連
使用した感想
- 無料会員は使用制限あり。使用制限が厳しい(Pro以上は。月10M tokens~)
- 生成ツール的として使えそうかも。
- 簡単なアプリだと。ある程度生成できる。
- ほぼフロント実装
- DBまわり対象外ぽい。
- 追加プロンプト(追加の要件)で、修正できる(失敗もあり)
- プロンプト入力後、約2、3分で生成完了するので。速い
- 生成後、stackblitzで開ける。ダウンロード可能
- ダウンロードを、ローカルや、ホスティングに配置できる。
いまいちな点
- 生成失敗で。画面が真っ白になったり。よくありました
- Reactの場合、データは変数に設定され。再読み込みで。全て消える方式
- next.jsの場合、サーバー側保存を依頼すると、。エラーで保存NG
生成された例、レイアウト見た目
-
chat
-
日程表
- TODO
- bookmark
- cms編集
生成されたコード
-
chat
-
日程表
-
TODO
-
bookmark
-
https://github.com/kuc-arc-f/bolt_4example/tree/main/bookmark1
-
cms編集
claude-3-5-sonnet, gemini-1.5 pro 試し
-
他の生成AI的なサービスを試してみました。
-
両方、無料枠あり。制限の有り。
-
anthropic: claude-3-5-sonnet
-
Google AI Studio : gemini-1.5 pro
関連
- claude-3-5-sonnet
- https://www.anthropic.com/
- gemini-1.5 pro
- https://aistudio.google.com/app/prompts/new_chat
-
TODO作成の試し。
-
React + vite環境は、上記のbolt.new 参考しました。
-
gemini-1.5 pro
-
画面レイアウト、下の入力欄に。プロンプト入力 & 実行
- プロンプト入力後、コードをコピー
- vite環境に、貼り付け。
- 一部、コンポーネントのエラー出ましたが。手作業で修正
- gemini 版のtodo app下記、画面起動できました。
- claude-3-5-sonnet
- anthropicの画面から、ユーザー登録、作業開始。
- claude画面で、プロンプト入力。
- 右側に、プレビューが表示される。
- ダウンロードのリンク押すと、ファイル取得可能でした。
- 上記の、vite環境にコピー。ペーストして。ローカル環境確認できました。
claude.ai , Pro 版 課金メモ
- しばらく, claude.ai を使用して。そろそろ使用上限に時期と予想したので。課金登録
- 月、20 USDで。しばらく使えそうでした。
- anthropicの、claude.ai Pro登録
- claude.ai画面で、 Pro登録画面に移動。
- クレカ登録の入力登録される。今回は Google Payを選択
- 登録ボタンおすと、支払い完了。
- Google Payは、事前にクレカ情報を登録しておく。
- Pro登録後に、左メニューで。Pro表示に変更
- new画面に、モデル選択が3種類に増えました。
- Claude 3.5 Sonnet
- Claude 3 Opus
- Claude 3 Haiku
Remix 2, claude.ai生成
- Remixの、生成AI使えるか。試す内容です。
- 感想としては、 Reactより失敗多めでした (プロンプトによるかも)
- サーバー機能追加を指定すると。失敗が増える傾向みたい。
関連
remix + shadcn/ui 準備
- remix環境が無かったので。作成
- 関連, 下記
- https://ui.shadcn.com/docs/installation/remix
- https://tailwindcss.com/docs/guides/remix
- プロンプト、TODO
コード生成して欲しいです。
TODO アプリ、 Remix shadcn/ui 使用したいです。
・TODOの追加機能を、ダイアログで編集したいです。
・TODOの編集機能を、ダイアログで編集したいです。
・TODOの削除機能を、追加したいです。
・TODOの検索機能を、追加したいです。
-
見た目, TODO
-
編集、 dialog
- フォーム編集, 入力項目を増やす。
- action(サーバー側) で、バリデーションのエラーメッセージ表示されない。
- 一覧に、登録データ表示されない。
- 動作NG部分を。ひたすら手作業で修正する。
コード生成して欲しいです。
TODO アプリ、Remix shadcn/ui 使用したいです。
項目は、下記を追加したい。
title: INPUTタグ type=text
content: INPUTタグ type=text
public(公開、非公開) INPUTタグ type=radio
food_orange: INPUTタグ type=checkbox
food_apple: INPUTタグ type=checkbox
food_banana: INPUTタグ type=checkbox
pub_date: INPUTタグ type=date
qty1: INPUTタグ type=text
qty2: INPUTタグ type=text
qty3: INPUTタグ type=text
・TODOの追加機能を、ダイアログで編集したいです。
・TODOの編集機能を、ダイアログで編集したいです。
・TODOの削除機能を、追加したいです。
・TODOの検索機能を、追加したいです。
・Remix action 関数で
バリデーション追加したい。react-hook-form未使用にしたい
npmは zod 使用したい
検証内容は、下記です。
title: 1文字以下は。エラー
content: 未入力は。エラー
qty1: 未入力は。エラー
qty2: 未入力は。エラー
qty3: 未入力は。エラー
- 見た目、Form編集
Remix 2, claude.ai生成 react-table
- Remix + tanstack/react-tablesの組み合わせ
- ソート、検索、ページング可能
- 前回の、Remix claude.ai生成の、フォーム画面から登録
- react-table は、一括生成が難航予想しました。
- react-tableサンプルコード、AI出力を。手作業で組み込む。
-
見た目、table
-
見た目、form: table行イベントから。dialog起動
参考のコード
Claude.ai生成 Remix 2 , 日程表
- 生成AI Remix、成果物の続編になります。
- スケージュール管理的、月単位表示、追加、編集、削除できる。
- 見た目
- 見た目、編集dialog
DB連携、 D1 database
- 永続化できない為、手作業で DB保存機能を追加
- d1 + CF-workers API経由
- アプリは、 vercel等にデプロイしておく。
Claude.ai生成 Remix , chat(チャット)アプリ
- 生成AI Remix、成果物の続編になります。
- chat アプリ試作的メモです。
関連
プロンプト
コード生成して欲しいです。
chat アプリ、 React , shadcn/ui 使用したいです。
・投稿データ、ダイアログ入力したい。
・投稿データ、削除したい。
・スレッド(返信) 表示を。ダイアログ表示したいです。
・スレッド(返信) 登録を。ダイアログ追加したいです。
・スレッド(返信) 削除機能を追加したい。
- 見た目
- 見た目、編集、スレッド一覧 dialog
DB連携、 D1 database
- 永続化できない為、手作業で DB保存機能を追加
- UI一部変更
- d1 + CF-workers API経由
- アプリは、 vercel等にデプロイしておく。
Claude.ai生成 mermaid 表示、編集 React
- 生成AI Remix、成果物の続編になります。
- 前の、CRUD的な画面 AI出力済を。カスタマイズし、mermaid 表示等のメモです。
- mermaidが対応する作図であれば、表示できそうです。
- 表示画面が、React SSR構成で、mermaid.js はCNDから読み込む方式。
関連
- 見た目、 ER図
- gantt (ガントチャート)
- mermaid 編集(dialog)
- リスト
DB連携、 D1 database
- 生成AIで。永続化むずかしい為、手作業で DB保存機能を追加
- UI一部変更
- d1 + CF-workers API経由
- アプリは、 vercel等にデプロイしておく。
Claude.ai生成 タスク管理 React
- 生成AI 成果物の続編になります。
- 前の、CRUD的な画面 AI出力を。カスタマイズ、タスク管理のメモです。
関連
- 見た目、編集 dialog
- 日程 gantt (mermaid ガントチャート)
- Task リスト
DB連携、 D1 database
- AI出力で、永続化は難しい為。手作業で DB保存機能を追加
- UI一部変更
- d1 + CF-workers API経由
- アプリは、 vercel等にデプロイしておく。
Claude.ai生成 Form + tanstack/react-table
- claude.ai生成AI 成果物の続編になります。
- 生成AIで、最近react-table 出力できそうな場合ありましたので。メモです
- CRUD画面 参考的な内容です
- chatGpt, gemini は。ほぼ生成NGの結果でした。
- 動作NGの部分もありましたが。ほぼ生成できました。
- 生成時間は、追加プロンプト含む。5~10分です。
- アカウントによって。同様な出力でない場合あるかもしれません。
関連
- 見た目、編集 dialog
- 一覧
プロンプト参考
- 下記、3回
コード生成して欲しいです。
TODO アプリ、React , shadcn/ui 使用したいです。
項目は、下記を追加したい。
title: INPUTタグ type=text
content: textarea
form_type: INPUTタグ type=text
public(公開、非公開) INPUTタグ type=radio
food_orange: INPUTタグ type=checkbox
food_apple: INPUTタグ type=checkbox
food_banana: INPUTタグ type=checkbox
food_melon: INPUTタグ type=checkbox
food_grape: INPUTタグ type=checkbox
date_publish: INPUTタグ type=date
date_update1: INPUTタグ type=date
date_update2: INPUTタグ type=date
date_update3: INPUTタグ type=date
option_text_1: textarea
option_text_2: textarea
option_text_3: textarea
category_ict: INPUTタグ type=checkbox
category_sport: INPUTタグ type=checkbox
category_food: INPUTタグ type=checkbox
category_drink: INPUTタグ type=checkbox
qty1: INPUTタグ type=text
qty2: INPUTタグ type=text
qty3: INPUTタグ type=text
・TODOの追加機能、。ダイアログで編集したいです。
・TODOの編集機能。ダイアログで編集したいです。
・TODOの削除、追加したいです。
・TODOの検索を、追加したいです。
- 2回目
コード生成して欲しいです。
上記の、
バリデーション追加したい。react-hook-form未使用にしたい
npmは zod 使用したい
項目は、下記になります。
title: 1文字以下は。エラー
content: 未入力は。エラー
form_type: 未入力は。エラー
qty1: 未入力は。エラー
qty2: 未入力は。エラー
qty3: 未入力は。エラー
- 3回目
コード生成して欲しいです。
上記の、
リストを、tanstack/react-table 使用したいです。
- 生成されたコード、 react環境に組み込む。
- https://github.com/kuc-arc-f/claude_1/tree/main/form6
- 画面path: form6/src/client/FormTest10.tsx
Claude.ai生成, sqlite + Remix DB連携
- 生成AI 成果物の続編になります。
- sqlite等連携、最近SNSの例を見た為。試す例になります。
- 生成時間は、追加プロンプト含む。10分ほど です。
- アカウントによって。同様な出力でない場合あるかもしれません。
- TODOに、DB連携を追加。
- AI出力は、Remix actio内で。DB書き込んでるようでした。
関連
プロンプト参考
- 下記、3回。 TODO作成、バリデーション、DB連携の順です。
コード生成して欲しいです。
TODO アプリ、Remix shadcn/ui 使用したいです。
・TODOの追加機能を、ダイアログで編集したいです。
・TODOの編集機能を、ダイアログで編集したいです。
・TODOの削除機能を、追加したいです。
・TODOの検索機能を、追加したいです。
- 2回目
コード生成して欲しいです。
上記、
Remix action 関数で
バリデーション追加したい。react-hook-form未使用にしたい
npmは zod 使用したい
検証内容は、下記です。
TODOデータ: 未入力は、エラー
- 3回目
上記、
データベースと、連携してほしい。
sqlite に、データを保存したい。
外観
- 見た目、編集 dialog
- 一覧
Setup
-
ORM指定しない場合、 Prisma実装になりました。
-
prisma install手順、Claude 解説を参考(Claude desktop)
npm install @prisma/client
npm install -D prisma
#
npx prisma generate
npx prisma migrate dev --name init
- Remix + shadcnUI 環境 組み込み、DB登録できました。
Claude.ai生成 Sqlite + Express.js + React
- 生成AI 成果物の続編になります。
- 生成時間は、追加プロンプト含む。 5分ほど です。
- アカウントによって。同様な出力でない場合あるかもしれません。
- 前の、 Remix DB連携と構成似ています。
- TODOに、DB連携を追加。
- ORMは、prisma を指定。
- テストは、ローカル sqlite DB連携しました。
関連
- SELECT 実行、登録後。
$ sqlite3 prisma/dev.db
SQLite version 3.37.2 2022-01-06 13:25:41
Enter ".help" for usage hints.
sqlite> SELECT * FROM Todo;
2|t2bbb|0|1731970144688|1731970208561
4|t3|0|1731975578321|1731975578321
5|t4|0|1731975581914|1731975581914
sqlite>
- 見た目、編集 dialog
プロンプト参考
- 下記、2回。
コード生成して欲しいです。
CRUD アプリ、Express.js, React, shadcn/ui 使用したいです。
・TODOの追加機能を、ダイアログで編集したいです。
・TODOの編集機能を、ダイアログで編集したいです。
・TODOの削除機能を、追加したいです。
・TODOの検索機能を、追加したいです。
・バリデーション追加したい。react-hook-form未使用にしたい
npmは zod 使用したい。
検証内容は、下記です。
TODOデータ: 未入力は、エラー
データベースと、連携してほしい。
sqlite に、データを保存したい。
- 2回目
上記、
sqlite 接続は、 prismaを使用したい。
Setup
- prisma install手順、Claude 解説を参考(Claude desktop)
npm install @prisma/client
npm install prisma --save-dev
npx prisma init
npx prisma migrate dev --name init
npx prisma generate
- Express 環境 , 組み込み、DB登録できました。
- sqlite1/prisma/schema.prisma
- https://github.com/kuc-arc-f/claude_1/blob/main/sqlite1/prisma/schema.prisma
修正したコード
-
PORT番号等、一部修正しました。
Claude.ai生成 , postgres + Express.js + React
- postgres + 生成AI の例になります。
- 生成AI 成果物の続編になります。
- 生成時間は、追加プロンプト含む。 5分ほど です。
- アカウントによって。同様な出力でない場合あるかもしれません。
- 前の、 sqlite DB連携と構成。ほぼ、そのまま使用します。
- ORMは、prisma を指定。
関連
準備
- postgresを準備する
- schema.prisma設定を、postgresに変更する。
- schema.prisma: postgres変更
- 下記、db接続先等を変更する。
- .envに、接続先を設定
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
- Prisma参考ページを、参考しました。
- prisma-postgres
- https://www.prisma.io/docs/orm/overview/databases/postgresql
- prisma初期化、migration : 前のsqliteと同様です。
bunx prisma init
bunx prisma migrate dev --name init
bunx prisma generate
Test
- 前の、AI生成済の、sqlite版使います。
- https://github.com/kuc-arc-f/claude_1/tree/main/sqlite1
- 登録後、SELECT実行、 psql
user1# SELECT * FROM "Todo";
id | title | completed | createdAt | updatedAt
----+-------+-----------+-------------------------+-------------------------
1 | t1 | f | 2024-11-19 23:25:14.085 | 2024-11-19 23:25:14.085
2 | t2 | f | 2024-11-19 23:25:16.91 | 2024-11-19 23:25:16.91
3 | t3bb | f | 2024-11-19 23:25:20.551 | 2024-11-19 23:25:24.752
(3 rows)
- pgAdmin 確認
- 編集画面、前と同様
補足、docker環境で、postgres接続
-
今回は、docker使用したので。下記参考
-
docker-bun-postgres, docker-compose.yml など
-
https://gist.github.com/kuc-arc-f/747dc290b91ebf48bc5656f6949969b8
-
前の関連、bun 環境構築など
Claude.ai生成 sqlite + Express.js + React ユーザー作成
- sqlite DB + 生成AI の例になります。
- ユーザー登録を、sqlite prisma実装になります。
- 生成AI 成果物の続編になります。
- 生成時間は、追加プロンプト含む。 5分ほど です。
- アカウントによって。同様な出力でない場合あるかもしれません。
- ログイン画面は、前の実装と同様です。middleware でログイン判定します。
関連
AI生成、修正したコード
- 暗号化は、bcryptの予定でしたが。Bun.password.hashに変更しています。
- https://github.com/kuc-arc-f/claude_2sqlite/tree/main/user_auth
- 見た目、ユーザー登録(sqlite)
- ログイン画面
プロンプト
コード生成して欲しいです。
ユーザー作成画面
Express.js, React, shadcn/ui 使用したいです。
・入力項目は、下記にして欲しい。
名前: INPUT タグ type=text
メールアドレス: INPUT タグ type=text
パスワード: INPUT タグ type=password
・パスワード暗号化は、bcrypt を使用したい。
・データベースと、連携してほしい。
sqlite に、データを保存したい。
sqlite 接続は、 prismaを使用したい。
- AI画面ログ。バックエンド
Claude.ai生成 sqlite + Express.js + tanstack/react-table
- sqlite DB + 生成AI の例になります。
- 生成AI 成果物の続編になります。
- 前のsqlite prisma実装 CRUD的画面にtanstack react-table追加 (ほぼ手作業)
- 行指定ソート、ページング追加。
- 検索は、AI生成済を、そのまま使用。
関連
AI生成済 + 修正したコード
-
一覧 , react-table
-
編集dialog(前とほぼ同様)
- prisma migrate, 前と同様
bunx prisma init
bunx prisma migrate dev --name init
bunx prisma generate