こんにちは。小売業で働いているtakumaです。2回目の投稿になります。
前回に引き続き今回もまた、業務に役立ちそうなツールの作成にチャレンジしてみました。
前回の記事はこちら
仕事が増えてしまいました…。
「最近忙しい!!」 私ごとですが春から異動、昇進しやらなくてはいけない業務が増えました。
私はこれまで裏紙などにやらなければならない業務を書いて、終わったら斜線で消してを繰り返していたのですが、最近その業務が多くなり、いちいち書くのか面倒になってしまいました。
そこで簡単に業務を登録できて、締切順や優先度順ですぐに並び替えできるようなものがあったらなと考えていたのですが、どうやらChatGPTに作りたいアプリの概要を送ればコードを書き出してくれるらしい…。
というわけで今回はそれを利用してTodo管理アプリを作成しました!
使用画面

使用方法
・左上で業務を入力し、日付と優先度(高、中、低)を選択し追加ボタンを押すと、下の欄に業務が追加されます。
・完了した場合は左の完了を押すと業務に斜線が入ります。
・右の編集、削除ボタンで登録済の業務の編集、削除ができます。
・指示してAIくんボタンを押すと優先度を考慮しやるべき業務TOP5を選出してくれます。あと労ってくれます。
使ったツール・技術
・ChatGPT:アプリのコード作成・修正、アイデアの壁打ち
・Dify:AIによるタスク優先度の指示機能を実装(Gemini APIを利用)
・CodePen:試作・動作確認
・HTMLファイル:外部API制限の回避・最終的なアプリ動作環境
ChatGPTでプロトタイプ開発
まず、ChatGPTに以下のプロンプトを送信してアプリの原型コードを生成してもらいました。

そこでもらったコードをCodePenに入力してみると

一回でなかなか使いやすいものができました!
こんな簡単にアプリができるとは…
ただこれだと一度登録した業務が編集、削除できないため褒め言葉とともに改善要望をChatGPTに伝えると…

しっかり要望通りのものができました!
(先ほどのメッセージの後に締切3日前のものを赤文字表示する要望も伝えました。)

ここまでなんと30分! コードの知識なんて全くない私がこんな簡単に、一瞬でアプリを作ってしまいました…。
Difyと連携してAI指示を受け取る
次にタスクが多いときにAIが優先度TOP5を返してくれる機能をDifyを利用して追加します。
ここでDifyの外部APIリクエストを行うため、アプリをローカルのHTMLファイルに移行しました。
まずChatGPTに以下のように指示し、先ほど作成したアプリにDifyにTodoの情報を伝えるための機能を追加し、Dify APIと連携させるコードを生成してもらいました。

ChatGPTが送ってくれたコード
"YOUR_DIFY_API_KEY"
と書いてあるところを自身が用意したAPIキーに書き換えます。APIキーの取得は後程…
コード
DOCTYPE html>
html lang="ja">
head>
meta charset="UTF-8">
title>シンプルToDoリスト/title>
tyle>
/head>
h1>
div class="todo-inputs">
input type="text" id="content" placeholder="ToDo内容">
input type="date" id="deadline">
select id="priority">
option value="高">高/option>
ption>
option value="低">低/option>
lect>
button id="addBtn" onclick="addOrUpdateTodo()">追加/button>
button>
/div>
並び替え:
指示してAIくんボタンが追加されました!

続いてDify側の設定を行います。
Difyの概要や下準備などはこちらの記事を参考にしてください!
Difyの全体像

シンプル!
まずDifyトップ画面からスタジオタブでアプリを作成→最初から作成
アプリタイプはチャットフローを選択しを名前入力して作成します。

続いてノードの設定です。
開始ノードで入力フィールドを追加します。
変数名はアプリから送るデータのキー名と同じものを入力(ここではtodo_list)フィールドタイプは大量のテキストを受け取ることができる「段落」を設定します。最大長はアプリから送るデータの文字数に対応できるように調整します。

続いてLLMノードの設定です。
今回、AIモデルはGemini.2.0 Flashを選択しました。
プロンプト内容は画像の通りです。
応答がTodoリストだけでは寂しかったため、労ってくれるようにしました。

回答ノードの設定はこれだけです!

各ノードの設定が終わったら、画面右上の公開するボタンを押しアプリをデプロイします。
最後に、サイドバーにあるAPIアクセスを押した後、右上にある鍵マークがついたAPIキーボタンを押し、そこでAPIキー発行を発行します。
そこで発行したAPIキーをWebアプリのコードに入力し完成!
アプリの仕様画面

未完了の業務のみを抽出し、優先度順にTodoを表示してくれます。
しっかり労ってもくれています。
まとめ
今回はChatGPTやDifyを活用しTodo管理アプリを作成してみました。
ChatGPTにアプリの概要を伝えるだけで、最初のコードをスピーディに作成でき、さらに修正依頼も即座に反映してもらえるなんて驚きしました。
また、Difyと組み合わせることで、ただのTodo管理アプリを超え「AIが指示をくれるアプリ」にできたのも、今までの自分では絶対にできなかったことですし、次のステップに進めた感じがしてテンションが上がりました。
もちろん、まだ見栄えや操作性の向上、そしてDifyで使うプロンプトのブラッシュアップなど課題も残っていますが、最低限実用できるレベルのものができたと感じています。
これからは、より高度な指示をAIから引き出すためのプロンプト設計の精査や、UIの改善をしていきたいと考えています。
「アプリ作成なんて自分だけでは絶対にできない」 と思っていましたが、ChatGPTをうまく活用すればあっという間に形にできちゃうことを知り、新たな可能性が生まれた気がします!今後もいろんなアイデアを試しながら、さらに面白いツールを作っていきたいと思います!
5
Go to list of users who liked
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
What you can do with signing up