ChatGPTにプログラミング言語の解釈系になってもらった

ChatGPTの一つの可能性として色々試してみた結果をセルフまとめしてみました(一部、他の人のツイートもあります)。
15
kmizu @kmizu

GPTChatに詳しい方に質問。 以下のスクショは何を意味していると思います? ①実はネットワークのどこかにあるScalaのREPLに処理を投げている ②学習過程で結果的にScalaの処理系と同じ(極めて似た)挙動を学んだ ③Scalaのバイナリが丸ごと(たまたま)混入した ④その他何か。 pic.twitter.com/gDwd8Hd0YQ

2022-12-02 21:53:27
拡大
atty303 @atty303

文章で説明できているがすごい… 今までの実例で一番驚いた… twitter.com/kmizu/status/1…

2022-12-02 21:58:58
午前2時のエヴリカ @evrika___

今度から分からん事あったら GPTChat 君に教えてもらおうかな。。。 シンギュラリティが思いのほか近くて身震い。 twitter.com/kmizu/status/1…

2022-12-02 21:59:11
kmizu @kmizu

@atty303 文章もすごいんですが、これを解釈実行できているのがなんかやばい気がするんですよ。

2022-12-02 21:59:26
zehnpaard @zehnpaard

@kmizu 以前のGPT-3の実験的な使い方としてPython REPLにアクセスできるようにするというものがあったので、裏でそれが組み込まれてる可能性はありますね twitter.com/goodside/statu…

2022-12-02 22:00:03
Riley Goodside @goodside

"You are GPT‑3, and you can't do math": Prompting GPT‑3 via zero-shot instruction to answer calculation/math questions by consulting a Python REPL. pic.twitter.com/X20YYw17z9

2022-09-10 12:55:48
kmizu @kmizu

これ割と真剣に混乱してるので、①とか③であって欲しいんですが。 twitter.com/kmizu/status/1…

2022-12-02 22:00:25
atty303 @atty303

@kmizu 全然詳しい人ではないですが、他の例もみていると(2)っぽいなぁと感じますね…

2022-12-02 22:03:35
kmizu @kmizu

@zehnpaard なるほど。それなら納得できます(とはいえ日本語で説明できてるのが凄いですが)。

2022-12-02 22:03:53
kmizu @kmizu

@atty303 私もなんかそんな気がしてるんですが、いやでもまさか……みたいな何か信じられない物をみた気がしてます。裏でREPL組み込んでるのがありえないような言語で試すと真相がわかるかも。

2022-12-02 22:05:23
kmizu @kmizu

Elixirも行ける感じが。ただ、ここまで汎用的だと学習過程でバイナリを取り込んでChatGPTの中に入ったElixir処理系に投げてる感じもする。 もっとマイナーな言語で試してみるべき? pic.twitter.com/0HMhiJqHVM

2022-12-02 22:18:35
拡大
zehnpaard @zehnpaard

@kmizu ただ、パラメータの数からすればインタプリタ相当の変換ロジックを数十個くらい埋め込むくらいは理論的には可能そうですよね

2022-12-02 22:19:16
kmizu @kmizu

Scala 2 / 3も自動判別してる……。一番最後の例はScala 3だとエラーになるやつです。 pic.twitter.com/ZcGXEuTIGA

2022-12-02 22:19:35
拡大
拡大
kmizu @kmizu

@zehnpaard はい。理論上は可能……だと思うのですが、何か信じられないといいますか(ちなみに停止しないプログラムを食わすと間違った結果を吐く辺りが怪しい)。

2022-12-02 22:20:10
kmizu @kmizu

ミスです。2番目のがScala 3でエラーになるやつです。procedural syntaxといって、def foo() { } 形式で :Unit = の代わりに {} で済ませられるのですがScala 3では使えません。

2022-12-02 22:21:57
kmizu @kmizu

えーとその。本家Scalaだとこれオーバーフローになるのですが、なんか勝手にBigIntで処理してません?独自学習説が有力になってきたような。 pic.twitter.com/mWbtE8RNGC

2022-12-02 22:42:40
拡大
kmizu @kmizu

もうちょっと停止するか判定がめんどくさそうなCプログラムだとどうなるだろう。 pic.twitter.com/n1oOTfXHjc

2022-12-02 22:46:24
拡大
拡大
kmizu @kmizu

Haskellで無限リストを文字列に変換できるかテスト。前者はやっぱり正常に実行されずに後者は実行される。 これ、プログラミング言語学習に物凄く良いのでは。 「~を実行してください」だと単に実行するだけで、「~の実行結果を教えてください」だと実行結果の説明もしてくれるぽい。 pic.twitter.com/QtQftWaRhQ

2022-12-02 22:54:53
拡大
拡大
あんどうあんど🔞自称転生貧乏人 公式␍␊␀ @undo6502

最後の部分、「実行環境」だと、間違っていないけど、正解とは言えないかな? twitter.com/kmizu/status/1…

2022-12-02 22:58:35
kmizu @kmizu

@undo6502 そうですね。ただ、こう説明できることがなんかやっぱりやばい気がします。

2022-12-02 23:01:11
kmizu @kmizu

型チェック(の結果説明)もできます!(なんか色々やばい)。実はちょっと説明書間違っている(g, fは型を明示的に指定していない)。 pic.twitter.com/e6eySPjT3y

2022-12-02 23:05:00
拡大
あんどうあんど🔞自称転生貧乏人 公式␍␊␀ @undo6502

@kmizu 「無限ループ」が出てくるのがすごいですよ。おそらく応用情報処理技術者試験に合格した人でも半数は、出てこない気がします(^^;

2022-12-02 23:05:11
kmizu @kmizu

@undo6502 そう。マジでそこですよ。GPTChat頭良すぎません?

2022-12-02 23:05:57
kmizu @kmizu

型推論の結果も(やっぱり)説明してくれる。ただし、「Haskellでは、変数の型を指定することはできません」は嘘なので、説明が微妙に間違っている(でも凄い)。 pic.twitter.com/RV530ktcG9

2022-12-02 23:08:44
拡大
kmizu @kmizu

これ、マジで誰か間違ってたら指摘してほしいんですが、ChatGPTは少なくとも主要なプログラミング言語といくつかのちょいマイナーなプログラミング言語について、どうもインタプリタないしコンパイラ(の一部分ないし大部分)を「学習」してるように見えます。 ↓

2022-12-02 23:18:46
1 ・・ 4 次へ