挨拶
初めまして、日本システム開発株式会社の鈴木です。
技術者として更なる向上を目指すためQiitaアウトプットをする取り組みを行っています。
技術者としては経験が浅く発信内容はとにかく試したものの覚書になります。
今回はGoogle Bardによるphpコード出力について簡単に試しましたので、その覚え書きになります。
Google Bard
Googleが試験運用中の対話型 AI モデルで、2023/05/11に日本語に対応しました。(ただし、日本語対応はしたものの日本語による応答はやや精度に欠けるという評判です。)
そんなGoogle Bardですが「よくある質問」の項を見るとコーディングを手伝う、コーディングに関する質問に回答することを特徴としているようです。
そこで、今回はphpのソースコードを出力してもらうことを試してみます。
実施内容
今回はpaiza(オンラインのプログラミング学習コンテンツ)を用いて、その演習課題をBardに出力してもらい、それをpaizaの採点システムに採点してもらいます。
単純な出力
まずは、paizaでも最初の演習課題である「Hello paiza」と表示させる問題に解答してみます。
paizaの問題画面(初期表示):
Bardに入力した内容と回答
無事に設問内容を満たすphpのコードとその説明が出力されました。
出力されたコードを入力し採点をすると、問題ないことがわかりました。
単純な条件分岐
続いて、以下のpaizaの問題で条件分岐が必要な処理を出力してもらいます。
以下のように回答が得られ、採点の結果問題ないことがわかりました。
ユークリッドの互除法
paizaの初等問題にユークリッドの互除法を実装する問題があります。その問題文を読み込ませ、Bardがどのようなソースコードを出力するか見てみます。
こちらは一見問題ないように見えるため、入出力部分を手動で付け足し動作確認機能で確認してみます。
すると、Runtaime errorが発生しています。よく見ると8行目の変数$bの$が欠けています。
そこで、手動で$を書き足し採点処理をしてもらうと、無事問題ないことが確認できました。
まとめ
Google Bardは単純な処理やプログラミング問題のような前提が明確に指示ができていればおおよそ正しいコードを出力するようです。ただし、細かいミスは発生するようで、ユークリッドの互除法くらいの複雑度でもそのまま正しいコードが出力されないことがあります。
やはり公式文書にあるように「お手伝い」やコードの説明を頼むにとどめる方が賢明であるように思えます。
ちなみに、出力されたコードの誤りを指摘するようGoogle Bardに指示をしましたが、$のつけ忘れは指摘されませんでした。「お手伝い」をさせる場合にも、ある程度運用方法にコツのようなものが必要になりそうです。