調整さんの調整結果をカレンダーへ登録するGPTsを作った話
by
Hiroshi Sano
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
調整さんの調整結果をカレンダーへ登録するGPTsを作っ た話 ChatGPTのLT会~面倒なことはChatGPTにやらせようコミュニティ主催~ 面倒なことはChatGPTにやらせよう第3刷記念 & コミュニティ400人記念 2024-03-14 @hrs_sano645 1
Slide 2
Slide 2 text
お前誰よ / Self Introduction 佐野浩士(Hiroshi Sano)@hrs_sano645 : 静岡県富士市 : 株式会社佐野設計事務所 代表取締役 : PyCon mini Shizuoka Stuff / Shizuoka.py / Unagi.py / Python駿河 CivicTech, Startup Weekend Organizer Hobby: Camp , DIY , IoT 2
Slide 3
Slide 3 text
今回のテーマ: 調整さんの調整結果をカレンダーへ登録するGPTsを作った話 3
Slide 4
Slide 4 text
何で作った? 4
Slide 5
Slide 5 text
趣味のイベント運営に携わっているものがいろいろありまして Unagi.py、Python駿河(静岡Pythonコミュニティ) 4月にUnagi.pyのイベントあります PyCon mini Shizuoka(地域のPythonカンファレンス) ちなみに2024は夏頃開催計画中! Startup Weekend富士(起業体験コミュニティ) 6月に開催予定 地元の子供向けのイベント など... いろんな縁がつながってこうなったけど、最近ちょっとやり過ぎと知人に心配された 5
Slide 6
Slide 6 text
ミーティング時間の調整に「調整さん」を使ってる 6
Slide 7
Slide 7 text
調整さんとは 予定調整を回答ベースで集計し自動的に候補を表示する URLベースですぐにシェアできる(ログインとか必要ない) 言わずもがなと思います 7
Slide 8
Slide 8 text
調整さんを使う理由 割と利用したことがある人が多い、有名 Googleカレンダーの予定調整とか使ってみたいけど、 使い方がわからない人が多いと思う 8
Slide 9
Slide 9 text
調整さんで困ること 9
Slide 10
Slide 10 text
調整結果をカレンダーに登録するのは手動 10
Slide 11
Slide 11 text
なので登録し忘れて直前で気が付くこともあった 11
Slide 12
Slide 12 text
やばい/(^o^)\ 実際にすっぽかしたりもしてる やばい/(^o^)\ 12
Slide 13
Slide 13 text
エンジニアなので、テック的に対応したい。と思ったけど 13
Slide 14
Slide 14 text
これChatGPTでやらせたらいいのでは はい!ここで「面倒なことはChatGPTにやらせよう」なんです!! 14
Slide 15
Slide 15 text
本題: 調整さんの調整結果をカレンダーへ登録するGPTsを作った話 しかし、実はまだ冒頭しか読んでないのです 15
Slide 16
Slide 16 text
デモします ...すみませんすみません。許してください。石投げないでー 16
Slide 17
Slide 17 text
実際に使ってみる 17
Slide 18
Slide 18 text
行ってみれば、文章の中にある予定情報らしい情報を抽出して、Googleカレンダーの登録 URLを生成してくれる機能です 一応張り付けるテキストの構造を教えています 18
Slide 19
Slide 19 text
これマジで素晴らしいです 作業し忘れなければね 19
Slide 20
Slide 20 text
作っていたなかでの気づき 20
Slide 21
Slide 21 text
調整さんのサイトをGPTのブラウジング機能で読むことができる? -> できなかった サイト自体は読めるっぽい HTMLテーブルが見られないらしい 理由はよくわかってない ちゃんとGPTのブラウジング機能を模倣してテストしてみたらいいかもしれない? 21
Slide 22
Slide 22 text
22
Slide 23
Slide 23 text
なのでサイトの中身をコピペして張り付けることにしています スクレイピングな手段を間に挟むことも考えたけど、別サービスを経由したりは面倒だったw 23
Slide 24
Slide 24 text
その他の気づき 手順と前提条件をちゃんと入れる、と安定して動いてくれる HTMLの中身を張り付けたわけではないけど、ブラウザでコピペした表を表として認識 している? Googleカレンダーの登録URLを作ってというと、作ってくれる 24
Slide 25
Slide 25 text
手順と前提条件をちゃんと入れる 調整さんはデフォルトは何日、何時~(いつから)の表現を使っている -> 終了時間をあ らかじめ条件にいれておくとよかった 表の中でどの情報を元に候補を上げるかは教える:〇の数が一番多い、同数の場合は候 補として挙げる タイムゾーンを伝えておくと精度が良かった 25
Slide 26
Slide 26 text
ブラウザでコピペした表を表として認識している? 統一性のある表現だったので、問題なく認識してくれたようでした。 26
Slide 27
Slide 27 text
表をコピーしたテキストがこちら 日程 ◯ △ × さの やまだ ごとう 3/18( 月) 19:00 〜 1 人 1 人 1 人 3/18( 月) 19:00 〜- さのさんの出欠は- まる 3/18( 月) 19:00 〜- やまださんの出欠は- さんかく 3/18( 月) 19:00 〜- ごとうさんの出欠は- ばつ 3/19( 火) 19:00 〜 2 人 1 人 0 人 3/19( 火) 19:00 〜- さのさんの出欠は- まる 3/19( 火) 19:00 〜- やまださんの出欠は- まる 3/19( 火) 19:00 〜- ごとうさんの出欠は- さんかく 3/20( 水) 19:00 〜 2 人 1 人 0 人 3/20( 水) 19:00 〜- さのさんの出欠は- さんかく 3/20( 水) 19:00 〜- やまださんの出欠は- まる 3/20( 水) 19:00 〜- ごとうさんの出欠は- まる 3/21( 木) 19:00 〜 3 人 0 人 0 人 3/21( 木) 19:00 〜- さのさんの出欠は- まる 3/21( 木) 19:00 〜- やまださんの出欠は- まる 3/21( 木) 19:00 〜- ごとうさんの出欠は- まる 3/22( 金) 19:00 〜 2 人 1 人 0 人 3/22( 金) 19:00 〜- さのさんの出欠は- まる 3/22( 金) 19:00 〜- やまださんの出欠は- まる 3/22( 金) 19:00 〜- ごとうさんの出欠は- さんかく コメント 27
Slide 28
Slide 28 text
markdownの表に変換してと言ったら、ちゃんと変換してくれました 28
Slide 29
Slide 29 text
Googleカレンダーの登録URLを作ってというと、作ってくれる Googleカレンダーの登録URL構造をGPTで出してもらうこともできました ※ 都合で改行してます。本来は1行です https://www.google.com/calendar/render ?action=TEMPLATE&text=[ イベント名] &dates=[ 開始日時]/[ 終了日時] &details=[ 詳細] &location=[ 場所] &sf=true&output=xml GPTで扱われている記事を見たときに、URL構造を伝えている例も見かけたけど、 構造を伝えなくてもGPTが勝手に作ってくれてるので構造の説明は外してました 29
Slide 30
Slide 30 text
カスタムGPTを使うときに苦労したこと 30
Slide 31
Slide 31 text
作るときにチャットベースで作ってくれるが、プロンプトが上書きされてしまう /(^o^)\ 31
Slide 32
Slide 32 text
プロンプトの上書きは結構あったので作業時はエディターなどで バックアップとっておくといいと思う 32
Slide 33
Slide 33 text
「アイコン作って」と指示したらプロンプトも丸ごと上書きされてしまってた 結構焦るよ/(^o^)\ 33
Slide 34
Slide 34 text
GPTがmarkdownで出力したリンクがそのまま利用できない 34
Slide 35
Slide 35 text
なぜかクリックしても反応してくれない。 35
Slide 36
Slide 36 text
対処としては、URLを生成してもらうようにした。 ただモバイル版だと使えるから環境の何かかもしれない なんでこうなるか正直わからない。ブラウザはVivaldiなのでその辺も影響してる? 36
Slide 37
Slide 37 text
プロンプトの中身見られないようにする対策 37
Slide 38
Slide 38 text
色々あるっぽいけど、こちらを使ってみてる 4行でできるGPTsを公開するときに必ずやっておくべきプロンプトインジェクション対策 #OpenAI - Qiita 意味があるのかは今のところ不明 38
Slide 39
Slide 39 text
まとめ 調整さんの調整結果をカレンダーへ登録するGPTsを作った カスタムGPTを使うときに苦労したこと まだまだ使いこなせてないけど、楽しい 39
Slide 40
Slide 40 text
調整さん以外にも、メールやチャットでやり取りした結果、やっぱりカレンダーに入れ忘れ ることありますよね チャットベースで調整したミーティングをすっぽかしてガチギレさせてしまったことがあったので/(^o^)\ 40
Slide 41
Slide 41 text
発展として メールやチャットの文章から予定作るGPTも作って、使い倒したい 文章をみて提案してくれるメールクライアントやチャットツールがあったらうれしい GPT側でカレンダーの連携もできるはずなので、そちらを使ったほうがよりアクション が減るはず ここに書いたものはすでにあるのですが、自分の欲求をかなえるときには自作が一番かもと思ってます 41