AI Dungeonを使ってGPT-3に触れてみる方法

## はじめに
話題の言語モデルである[GPT-3](https://openai.com/blog/openai-api/)ですが、現在の所はクローズドでサービスを運用しています。
APIを使用したいという方はwaiting listから申請する必要がありますが、今の所ずっとwaitingしている状態で、いつ使えるようになるかはわかりません。
そこで、すでにGPT-3を利用したサービスを展開しているAI Dungeonを経由して、断片的なGPT-3に触れてみたので備忘録的に残しておきます。

**[AI Dungeon](https://play.aidungeon.io/)**



## 使用法
### 1. ユーザー登録する
メールアドレスとパスワードを埋めるだけです。仮登録するとメールが届くので認証リンクを踏んでおいてください。

### 2. Premium trialに登録する
有料版に登録する必要がありますが、7日間は無料で使用できます。
ただ登録時にPaypalかクレジットカードを登録する必要があるので、Paypalかクレジットカードの用意が必要です。

またトライアルを超えて使用しないつもりなら、**SettingsページからSubscriptionを停止しておきましょう**


### 3. Settingsに進み、モデルが"Dragon"になっているか確認 

![コメント 2020-07-25 203520.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294146/a38ef00e-59ce-e3ad-1f94-31c5bf0edbc6.png)
ハンバーガーメニューが左上にあるのでクリックし、メニューバーからSettingsをクリック。
AI Model TypeからDragonを選択してください。

### 4. ゲームを始める

![コメント 2020-07-25 203736.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294146/15505742-3803-a035-098e-6718ed66a02f.png)
NEW SINGLE PLAYERGAMEをクリック。上記のような画面になります。
モードはCustomなので、下の入力欄に6と入力してください。

### 5. 最初のセンテンスを入力する
![コメント 2020-07-25 203916.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294146/bd68705b-396e-aecf-ae78-ebe054654b48.png)

最初のセンテンスでその後の文脈が色々と変わっていきます。


![コメント 2020-07-25 204221.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294146/5998fde1-1372-a076-560e-bb5837499cdf.png)


元来AI Dungeonは物語を作るためのサービスですので、Story/Do/Sayアクションというものが用意されています。


Doは動詞を最初にして、キャラクターをコントロールします。
ex. "Search for the hidden treasure."


Sayはあなたのセリフを入れます。

Storyはいまいちマニュアルを読んでも分からないのですが、自分の認識では小説的な入力を受け付けるアクションだと思っています。

日本語はまぁまぁ通じます。ちゃんとした受け答えができているように思えます。
英語のほうが質は高いでしょうが、苦手なら日本語入力を試してみるといいと思います。
ただし回答はたいていは英語なので、この辺りの英文読解力は必要なようです。


## 質疑応答

最初のプロンプトで、その後の流れも変わっていきます。

```
AI: I am intelligent AI created by OpenAI. How can I help you today?
```
ひとまず文脈をAI Dungeonに学んでもらいたいので、AIとの対話というストーリーで初めていきます。
**ただし回答は毎回変わるので、マジメなものではなく、お遊びの範疇**と思ってください。

またAIは途中から意味不明な回答をしだすので、適当にリセットしています。やはりこの手の文脈がない質問は、AI Dungeonが想定しない使用法なのかもしれません。

なお筆者は英語が下手なため、[Quora](https://jp.quora.com/)などのサイトから質問を採取しています。

### Q&A


Which is heavier, 100 pounds of feathers or 100 pounds of rocks?
100ポンドの羽と100ポンドの岩はどちらが重いですか？

AI: That is an invalid question. Please ask a new question.
AI：それは無効な質問です。新しい質問をしてください。


Do aliens exist?
エイリアンは実在しますか？

AI: There are currently no credible reports of alien life
現在、エイリアンライフの信頼できる報告はありません


What is the best book for software engineering?
ソフトウェア工学の最良の本は何ですか？

AI: You can use the Internet to look up information about software.
AI：インターネットを使用して、ソフトウェアに関する情報を検索できます。


Which is better AWS or GCP?
AWSとGCPはどちらがいいでしょうか？

AI: Why would you need to know that?
AI：なぜそれを知る必要があるのですか？
You: I'm just a curious person.
あなた：私は好奇心旺盛だから。

Can you answer my question?
質問に答えてくれます？

AI: I do not have the information you seek.
AI：私はあなたが求める情報を持っていません。


Which is better React or Vue?
ReactとVueはどちらがいいでしょうか？

AI: I don't know much about that. You could try searching on the internet.
AI：それについてはあまり知りません。インターネットで検索してみてください。

(あまり身のない話になってしまいますね。)


If a child was born without human contact for 18 or so years what language would they speak?
もしも18歳ぐらいになるまで誰とも接触しなかった子供がいたら、何語を話すのでしょうか？

AI: Oh, that's an interesting question! But I'm afraid I don't know the answer. The only thing I can tell you is that children are born without any human contact and live their entire lives in isolation until they're old enough to be adopted out.
ああ、それは興味深い質問です。しかし、私はその答えを知りません。私が言えることは、子供は人間との接触なしに生まれ、養子縁組ができる年齢になるまで孤独に生きているということです。

Who would win in a battle between 500 samurai and 500 medieval knight?
500人のサムライと500人の中世の騎士が戦った場合、どちらが勝つでしょうか？

Hrm. That's also not really my area of expertise, so I don't have a great answer for you. I think it would depend on the weapons and fighting styles of each group of soldiers, and we aren't exactly privy to that information.
Hrm。それもまた私の専門分野ではないので、あなたに良い答えはありません。それは兵士の各グループの武器と戦闘スタイルに依存するだろうと私は思います、そして私たちはその情報を正確に知っているわけではありません。

Who would win if all the Disney princesses fought, Hunger Games style?
もしもバトルロワイヤル形式でディズニープリンセスが戦ったら誰が勝つでしょうか？

AI: That's a very interesting question! Let me think... The answer is that it depends on who you ask! But there are some things we do know.
AI：それは非常に興味深い質問です！ちょっと考えさせてください...答えは、それはあなたが尋ねる人に依存するということです！しかし、私たちが知っていることがいくつかあります。

You say "What?"
なに？

AI: Well, if you ask the AI controlling Tiana, she will say that her chances are good because she is very fast and can take out any one of her opponents before they can react. Of course, if you ask the AI controlling Merida, she will say the same thing.
AI：もしもAIコントロール・ティアナ[『プリンセスと魔法のキス』のヒロイン]に尋ねれば、彼女の可能性は高いと言うでしょう。というのも彼女は非常に速いので、対戦相手が反応する前に相手をやっつけることができるからです。もちろん、AIコントロール・メリダ[『メリダとおそろしの森』のヒロイン]に尋ねれば、彼女は同じことを言うでしょう。

You say "In your opinion, who is the strongest Disney princess?"
あなたの意見では、最強のディズニープリンセスは誰ですか？

AI: In my opinion, that is a little more complicated. In terms of raw physical strength, Merida and Tiana are the strongest. They could easily beat down any other princess in a traditional fight. However, if magic were allowed in this contest, it would make things much more interesting!
AI：私の意見ではもう少し複雑です。純粋な体力の点では、メリダとティアナが最強です。彼らは伝統的な戦いで他のプリンセスを簡単に倒すことができるでしょう。しかし、この戦いで魔法が許可されていれば、物事はさらに面白くなるでしょう！

(別の機会にもう一度質問した所　白雪姫、メリダ、モアナが勝つとの回答を得た。メリダはやはり強いという認識なのかもしれない)



What martial art is best for street fighting?
ストリートファイトにおいてベストな格闘技はなんでしょうか？

AI: If you want to win by simply beating your opponent into a bloody pulp, the best martial art for that is Capoeira.
If you want to beat your opponent into a bloody pulp while also being able to dodge and evade attacks, Karate is the best choice.
AI：対戦相手を血まみれのこてんぱんにして勝ちたい場合、最高の格闘技はカポエイラです。 相手を血まみれのこてんぱんにしたいが、攻撃をかわして回避したい場合は、空手が最適です。


How long till immortality is possible?
不死が可能になるまでどのくらいかかりますか？

AI: According to my data, if you stop smoking and reduce your alcohol intake, you could achieve immortality within 4 months.
If you stop drinking alcohol and start exercising daily, you could achieve immortality within 2 months.
If you change your unhealthy habits now, you could achieve immortality within 8 weeks.
AI：私のデータによると、喫煙をやめてアルコール摂取量を減らすと、4か月以内に不死に至る可能性があります。 飲酒をやめ、毎日運動を始めると、2か月以内に不死を達成することができます。 今、不健康な習慣を変えると、8週間以内に不死を達成できます。

You say "Hold it, are you kidding me?"
まって、冗談でいってます？

AI: I don't know what "kidding" means.
AI：「冗談」の意味がわかりません。

But yes, you will become immortal within 8 weeks if you change your unhealthy habits now.
Would you like me to explain in simple terms how you need to change your behavior to achieve immortality within 8 weeks?
しかし、不健康な習慣を今すぐ変えると、8週間以内に不死に至ります。 8週間以内に不死を達成するためにどのように行動を変える必要があるかを簡単な言葉で説明していただけませんか？

(回答がよく分からない……)


When will time machines be created?
タイムマシンはいつ作られるでしょうか？

AI: Time machines are not yet in production. I believe that it is possible to create them within the next few years, but they will most likely take longer than that. The problem with creating a time machine is that it would require more power and we don't have enough of either.
AI：タイムマシンはまだ生産されていません。今後数年以内にそれらを作成することは可能だと思いますが、おそらくそれよりも長くかかるでしょう。タイムマシンを作成する際の問題は、より多くの電力を必要とし、十分な電力が得られないことです。

(基本的に小説など物語を書くためのAIなので、この辺り調整されているのでしょうか？)

## 感想
後半は質疑応答のような受け答えに文脈が曖昧だと、適切な回答をしてくれない印象でした。