Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GPTを使った水平思考クイズの投稿サイトを作ってみた
Search
eatski
July 28, 2023
Programming
0
250
GPTを使った水平思考クイズの投稿サイトを作ってみた
https://iesona.com/
eatski
July 28, 2023
Tweet
Share
More Decks by eatski
See All by eatski
Testing Library流でフロントエンドテストのコスパを最大化する
eatski
3
1.4k
Other Decks in Programming
See All in Programming
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
410
The state patternの実践 個人開発で培ったpractice集
miyanokomiya
0
160
Microsoft Orleans, Daprのアクターモデルを使い効率的に開発、デプロイを行うためのSekibanの試行錯誤 / Sekiban: Exploring Efficient Development and Deployment with Microsoft Orleans and Dapr Actor Models
tomohisa
0
230
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
200
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
180
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
240
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
400
Jakarta EE Core Profile and Helidon - Speed, Simplicity, and AI Integration
ivargrimstad
0
320
MCPで実現するAIエージェント駆動のNext.jsアプリデバッグ手法
nyatinte
7
1k
KessokuでDIでもgoroutineを活用する / Go Connect #6
mazrean
0
140
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
430
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
284
13k
4 Signs Your Business is Dying
shpigford
184
22k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
111
20k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Music & Morning Musume
bryan
46
6.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Making Projects Easy
brettharned
117
6.4k
Transcript
LLM×水平思考クイズ 2023/07/28 by eatski
自己紹介
H.N eatski(いとすき) 仕事 Webアプリケーションエンジニア 趣味 マーダーミステリー、TRPGにハマりたい twitter https://twitter.com/eatski629
今日話すこと LLMを使用して、水平思考クイズを遊ぶ上での課題を解決しました。
水平思考クイズとは 不可解な状況が提示され、「なぜそうなったか」を推理していくクイズ 例:ウミガメのスープ 「ある男性が、海の近くのレストランでウミガメのスープを注文しました。彼はスープを一口飲んだところで、シェフに問いかけました。 『すみません、これはウミガメのスープで合っていますか?』 シェフは『はい、お客様が召し上がったのは間違いなくウミガメのスープですよ』と答えました。 男性は会計を済ませ、家に帰ると自殺してしまいました。」 いったいなぜでしょう? 出典: ポール・スローンのウミガメのスープ
質問をして真相を探る 手がかりとして「はい」「いいえ」で答えられる質問をすることができる。 解答者「ウミガメのスープは自殺の理由に関係がありますか?」 出題者「はい」 解答者「ウミガメのスープは美味しかったですか?」 出題者「わからない」
何が課題? 水平思考クイズは質問に回答するための真相を知っている出題者が必要であるため、1人で遊 ぶことが難しい。
出題者をITを使って代替できないか? →難しい 質問が自然言語 質問文を解析するだけではなく論理的に正しい回答を返す必要がある
LLMを使おう 文章生成AIにクイズの出題者をやってもらおう
開発しました! Yesonor AIとウミガメのスープを楽しめる水平思 考クイズの投稿サイト https://iesona.com/
デモ https://iesona.com/stories/5ajwV3ME5dHyZmd
機能の紹介と実現方法の解説
【機能1】質問に対して回答する機能 どう実現したか GPT(Chat Completions API)に真相と質問を結合したプロンプトを与え、回答を出力とし て得るようにした プロンプトのイメージ ## 命令 以下の情報と例に基づいて、ユーザーの質問にTrue(
はい) 、False( いいえ) 、Unknown( 不明/ 言及なし) で答えなさい。 ## 問題 太郎さんは目がいいのにメガネを掛けている。なぜ? ## 真相 太郎さんはオシャレ好きであり、度が入っていない伊達メガネを掛けている。 ## 質問(解答者の入力した文章) 太郎さんは自分の意思でメガネをかけていますか?
回答の精度を高める工夫 質問の例をGPTに与える 一捻りあるクイズだと通常のLLMの文章生成では作者の意図した回答を得られないこともあ る。 そのため、作者には1つの問題に対して質問とその回答の例を3問以上入力するように求めて いる。(いわゆるfew shot learning) 太郎さんは自分の意思でメガネをかけている? →
はい 太郎さんは男ですか? → わからない 太郎さんのメガネには度が入っている? → いいえ
【機能2】カスタムメッセージ機能 クイズの形式上、質問の回答が「はい」か「いいえ」しかないので解答者視点どうしても情 報が不足してしまう。 そのため、一部の質問に対して回答として作者が設定した独自の返答を返すことができる機 能を実装した。 質問: 太郎さんのメガネには度が入っていますか? 回答: いい質問ですね!太郎さんのメガネは伊達メガネであり、度は入っていません。
どう実現したか 質問の例ごとに任意で独自メッセージを設定できるように 回答者からの質問が いずれかの質問の例と意味が近い距離にある文章であり、 かつ独自メッセージが設定されていた場合、 はい」「いいえ」だけではなくその独自メッセージを返すようにした。
質問同士の距離を計算する この時の質問同士の距離を計算するのに Open AIのEmbeddingsを利用してい る。 ※ Embeddingsとは文章の位置をベクト ルとして返してくれるAPI
サイトを作ってみて 意外にGPTがきちんと回答を返してくれる 解答者視点どうしても情報が足りず手詰まりになってしまう もっといろんな人に遊んでほしい
おわりに Yesonorにぜひ遊びに来てください!
Thank you!