Google GeminiとChatGPTの性能比較 VB.NETのソースをチェックさせた結果

最新トレンド

新しく登場したマルチモーダルAI Google Geminiの性能を、既存のAIモデルであるChatGPT GPT-4(有料版)と比較してみました。これまで、GoogleのBardが以前はChatGPTに比べて劣っているとの評価がありましたが、新たに登場したGeminiはこの状況をどう変えたのでしょうか?VB.NETで書かれたコードの修正提案能力をテストすることにより、両者の性能を比較してみました。

修正チェックに与えたプロンプト

性能比較にしようするプロンプトです。これは楽天管理画面(RMS)に自動ログインするためにseleniumを使ってChromeブラウザを操作するソースです。ほんとはもっと長いですがかなり省略してます。単純比較で性能差が出るのか確認するためです。

Google Geminiの回答

上記のソースコードには、いくつかの改善点があります。以下に修正案とそれぞれの理由を説明します。

変数のスコープ

VB.Net

strショップIDとstrパスワードは、Button2_Click サブプロシージャ内でのみ使用されています。そのため、スコープをSubからPrivateに変更することで、コードの読みやすさと保守性を向上させることができます。

修正コード:

VB.Net

エラーハンドリング

VB.Net

Catchブロックでは、発生した例外の詳細情報を取り扱っていないため、問題の特定が困難です。ex変数を使用して、例外の種類やメッセージなどを取得し、ログに出力したり、ユーザーに通知したりする必要があります。

修正コード:

VB.Net

usingブロックの使用

VB.Net

Driverオブジェクトは、Dispose()メソッドを使用して解放する必要があります。usingブロックを使用することで、Driverオブジェクトの解放を確実に実行できます。

修正コード:

VB.Net

定数の使用

VB.Net

ログインID、パスワード、送信ボタンの名前は、定数として定義することで、コードの可読性を向上させることができます。

修正コード:

VB.Net

修正後のソースコード

VB.Net

その他

  • 上記の修正案は、あくまで一例です。状況に応じて、他の修正方法も考えられます。
  • コードのレビューは、コードの品質向上に有効な手段です。定期的にコードレビューを実施することをおすすめします。

ChatGPTの回答

このVB.NETのソースコードはSeleniumを使ってWebブラウザを操作するためのものですが、いくつか改善できる点があります。以下に修正点を挙げ、修正したソースコードを提供します。

修正点

  1. エラー処理: Catchブロックが空です。エラーが発生した場合にログを出力するなどの処理を追加することで、デバッグが容易になります。
  2. リソースの解放: Seleniumドライバーは使用後に適切に閉じる必要があります。Driver.Quit()を追加してリソースを解放します。
  3. 暗黙的な待機の設定: ページや要素のロードを待つために、暗黙的な待機を設定することが推奨されます。

修正後のソースコード

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim strショップID As String = “ショップID”
Dim strパスワード As String = “ショップパスワード”

End Sub

補足

  • Driver.Quit()Finallyブロック内に配置して、エラーが発生しても正常終了してもドライバーが確実に終了するようにしました。
  • エラー発生時にエラーメッセージをコンソールに出力するようにしました。実際のアプリケーションでは、エラーログをファイルに記録するか、適切なログ管理システムに送信することを検討してください。
  • 暗黙的な待機を設定して、要素が見つかるまでの最大待機時間を指定しました。これにより、ネットワークの遅延などでページのロードが遅れてもテストが失敗することが少なくなります。

この修正で、コードの安定性とメンテナンス性が向上します。

性能比較結果

GeminiとGPT-4を比べてみて、GPT-4とそこまで差がないことに気づきました。日々の.NETやPythonのコーディング作業で、有料のChatGPTを使うか無料のGeminiで済ますか、結構悩むところです。Geminiは、ChatGPTよりも詳しく解説してくれる部分があり、usingの使い方やdimをprivateにする提案(これは実際には間違っていたけど)など、思わず「へぇ」となるような洞察をくれます。でも、そういう細かいアドバイスがいつも必要というわけではないんですよね。

ChatGPTの答えは、直感的でちょうど良いバランスを持っています。日々使うには、ChatGPTの方が手軽で気軽に使える感じがします。恋人にたとえるなら、Geminiはとてもいい人だけど、少し重く感じる時がある…それに対して、ChatGPTはいい意味で程よい距離感を保ってくれる、そんな存在です。

コメント

タイトルとURLをコピーしました