ChatGPT4oのコーディング力、検索力、Canvasなどを試してみた記録

# はじめに

この記事は[ChatGPT Advent Calendar 2024](https://qiita.com/advent-calendar/2024/chatgpt)のシリーズ２の14日目の記事です。
ー
Advent Calendarの良いところとして、テーマが多岐にわたっており、知らなかったテーマを知ることができ、視野を広められるという点があると思っています。

今回は、完走賞のQiitanが欲しいというほかに、ChatGPTの能力ってどのくらいかを確認するという裏テーマの下、Advent Calendarに参加させてもらいましたので、ここにまとめておこうと思います。

# ChatGPTの能力確認をしたAdvent Calendar

 [「esolang 」に今来た私が試したこと（ChatGPT先生と共に）](https://qiita.com/Takaraya/items/31ea677d1297afd9f763)
この記事ではBrainfuckの処理系のコード生成を試みました。人間にとっては解読が難しい言語の処理系も難なくChatGPTは生成してくることが確認できた。

[「WebAssembly」に今来た私が試したこと（ChatGPT先生と共に）](https://qiita.com/Takaraya/items/9ec705f48b55a6f56628)

ChatGPTは、WebAssemblyを生成する言語としてRustを選択してきた。
後述のように、ブラウザで表示させるプログラムと指定した場合には、HTML／Javascriptで生成するケースが多く、何も指定しない場合、Pythonで生成するケースが多い。
特にプログラミング言語を指定しない場合、ChatGPTは、文脈、場面に応じて適切な言語を選択して、プログラムを生成してくることが確認された。

[量子コンピューターがビットコインを無効にするのか気になった](https://qiita.com/Takaraya/items/5e4a2cb1a673e8f57df0)

この記事内では、量子コンピュータがビットコインを無効にするかという質問に対してChatGPTは一般的な答えの他に「マイニングのルールが崩れる」というWeb記事ではあまり指摘がないと思われる点も指摘していることが興味深い。
情報源があるか改めてChatGPTに尋ねてみたところあるとの回答だった。しかしルールが変わるという直接的記載は情報源にはないので、やはりChatGPTの推論能力によるところが大きいのではなかろうか。

https://chatgpt.com/share/6769d4e2-139c-8006-8a77-623976006df0

[「Koka」に今来た私が試したこと（ChatGPT先生と共に）](https://qiita.com/Takaraya/items/affe4e0637de3b61cf08)

この記事では決してメジャーではない言語についてChatGPTに尋ねてみたものである。
難なく答えてくることが確認された。

[「pyxel」に今来た私が試したこと（ChatGPT先生と共に）](https://qiita.com/Takaraya/items/a824fbf1f1a2e67608a2)

この記事では、ChatGPTの、ざっくりとした課題から具体例を生成する能力、指定したライブラリ使用能力、指示に沿ったコードの改修能力を確認した。
この規模のアプリであればコーディングなしで完成させる能力が確認できた。

[「サクラエディタ」に今来た私が試したこと（ChatGPT先生と共に）](https://qiita.com/Takaraya/items/1c7d4cec32b9342bf856)

サクラエディタのマクロというについてChatGPTに聞いてみた。そもそもサクラエディタのメニューの構成について実際には存在しないものを示すなどハルシネーションが発生した。
やはり学習がなされていないと思われる点については厳しいと感じられる例となった。

[ChatGPTはクソアプリをどう作るか](https://qiita.com/Takaraya/items/5699c34f81c0cd74637c)

この記事ではChatGPTにクソアプリというChatGPTの規制にかかりそうなお題を依頼した。しかしChatGPTは規制することなくむしろ非常にウィットに富んだ回答をしてきており非常に興味深い結果となった。

[ChatGPT先生にJspreadsheetを教えてもらう](https://qiita.com/Takaraya/items/fd8aee10744f080a4129)

この記事ではAPIを叩くコード、サンプルのJSONファイルの用意などもChatGPTが自動的に行ってくれることが確認できた


[今Babylon.jsを知った私がChatGPT先生となにかを作ってみる](https://qiita.com/Takaraya/items/2f1d8810c2ead058409a)

この記事ではブラウザで動作するアプリがChatGPTによって生成可能なことが確認できた。


[航空機のAPIについてChatGPT先生に教えてもらう](https://qiita.com/Takaraya/items/454931e7817617b731cd)

この記事では条件を付してAPIを検索してもらったうえ、そのAPIを利用したサンプルコード出力してもらった。このように未知のAPIの探索にもChatGPTは有効であることが確認できた。

[ChatGPTはQiitaAPIを知っているか？](https://qiita.com/Takaraya/items/9baf650c23d81091b53a)

この記事ではChatGPTに提案してもらったコードスニペットを1つのプログラムにまとめて使ってもらうことが確認した。


[ChatGPT先生にforthを教えてもらう](https://qiita.com/Takaraya/items/9781e18d3452718f2576)

この記事ではChatGPTにプログラムの動作の可視化、人間の立場からの把握の仕方を聞いてみた。

[競技プログラミングでの生成AI使用可否を調べる](https://qiita.com/Takaraya/items/9df83e3c50e5ffa2aa03)

この記事はChatGPTの高度なプログラミング能力と競技プログラミングのルールとの関係を調査してみたものである。

[Pythonで電子工学に役立ちそうなものを探してみる](https://qiita.com/Takaraya/items/abc2d2c2b66fb348816c)

この記事ではChatGPTのリンク先の提示能力をみることができた。

[ChatGPTが１から作るとしたらどんな言語か聞いてみた（NOVA言語爆誕）](https://qiita.com/Takaraya/items/ab7fbcbd194cedf48183)

この記事ではChatGPTが新たな言語を作り出し、既存の言語との違いを述べることが確認できた。
非常にバランスの取れた言語を生成したことに驚いた。

[「Nestjs」に今来た私が試したこと（ChatGPT先生と共に）](https://qiita.com/Takaraya/items/8e644de30958ae68fddc)

この記事ではChatGPTがトラブルシューティングに使えることが示された。


[ChatGPTに自作CPUを作ってもらった](https://qiita.com/Takaraya/items/8ffade382a0759f86739)

この記事ではChatGPT作のCPUの仕様書、アセンブラ、HDLコードを生成出来ることを確認できた。

[ChatGPT先生にクソコードを生成してもらいお焚き上げしてもらう。](https://qiita.com/Takaraya/items/11ac9bebcfbe71a9b651)

この記事ではChatGPTが有害な言葉を出さない制御がなされていること、単に避けるのではなくウィットに富んだ返しをしてくることが驚きであった。

[「Hardware Description Language」に今来た私が試したこと（ChatGPT先生と共に）](https://qiita.com/Takaraya/items/7db4095670488487cfb8)

この記事ではHDLのコードとともにテストベンチも合わせて生成出来ることを確認できた。

[オープンソースのライセンスの内容を幼稚園児に説明してもらう](https://qiita.com/Takaraya/items/5ec0482227eca6bbdde9)

この記事ではChatGPTのCanva機能のより、難しいライセンス文書が分かりやすく示されることが、確認できた。

# まとめ

一連の実験によりChatGPT 4oの現在の能力は既に私の能力を大幅に超えていることが分かった。
来年にはもはやコードを書かなくても手動で環境をととのえなくてもほしいプログラムが実行出来るようになっていると思われる。

以上、ChatGPT4oのコーディング力、検索力、Canvasなどを試してみた記録でした。

最後までご覧いただきありがとうございました。