「AI Programmer」にFizzBuzzを解かせたログ
主旨
昨日リリースされた、「AI Programmer」でFizzBuzzを解かせたログである。
目的
ページの目的を以下に記す。
- AI Programmerの性能を簡単なプログラムで確認する
- 結果のコードレビューをしながらプログラムを学ぶ
期間
2022年10月06日
開発に用いたもの
手順
以下の手順で実験を行った。
- 「How to solve FizzBuzz?」と入力して[コード生成]ボタンを押下した。
- インデントのないソースには適宜インデントを挿入した。
- 指示文をそのまま出力するプログラムが生成された場合、そのようなプログラムではなくなるまで再生成した。
結果
どの結果も数秒で出力された。
SQL
コード
処理
表「generate_series(1, 100)」から表「number」へ何らかの列を抜き出す。その後、何らかの列の数字のFizzBuzz問題の答えを表「number」中の何らかの列へ書き出して射影する。
備考
- 抜き出す列と条件分岐する列を指定していない。
- 条件分岐部分はすべての数字と文字を、文字に変換して使用している。
- 1から100までを出力することをわかっているアピール部分が表名にある。
Python
コード
処理
任意の引数に対してFizzBuzz問題の答えを戻す関数。
備考
- 引数を制限すれば、完璧にFizzBuzz問題に対応できる。
- 引数の制限がない。
JavaScript
コード
処理
FizzBuzz問題の答えをコンソールに出力。
備考
- 何も変数が返らないが、アロー関数を用いている。
- 不具合が起こりにくいlet型を用いている。
- 処理する値だけでなく型の一致も考えている。
HTML
コード
処理
プログラミングで行うFizzBuzz問題の解説記事。
備考
- 1から100までという制限が解説されていない。
- 15の倍数で「FizzBuzz」と出力するという明示的な説明がない。
C#
コード
処理
コンソールから1行取得した数字に対するFizzBuzzをコンソールに書き出す。
備考
- 1行しか読んでいない。
- 1つの数字しか処理していない。
- 15の倍数の処理がない。
C++
コード
処理
FizzBuzz問題の解答。
備考
- 完璧。
考察
文法がほぼ完璧で見た目は正しく見えるが、処理は誤っているものが多い。出力されたコードの確認は必須である。確認のときに調べるため、学習には良い材料だと考えられる。HTMLでは文章が作成されることから、文章生成のAIモデルがもとになっていると考えられる。
まとめ
- FizzBuzz問題であっても、処理が誤っていることが多い。
- 文法はほぼ完璧である。
次回
他の回
「AI Programmer 連載記事」でタグ付けを行っている。
広告
FizzBuzz問題から始められるPythonの本。
ディスカッション
コメント一覧
まだ、コメントがありません