AIが生成したコードがエラーを出した時の対策

この記事では、Chat-GPTをつかったコーディングでよくある問題と対策を紹介します。

発生しがちな問題と対策について、まず結論を記載します。

コード生成で発生しがちなエラー

  1. パスの指示が適切でなく、ユーザーが変更する前提になっている。
    「C:\Path\To\Your\CSVFiles」みたいな文字があった場合、ここを適切に変更する必要がある。
  2. データ型が適切でない
     コード内で使用している変数の型が適切でなく、エラーが起きている。
     このとき、エラーが起きる旨記載してAIに投げると修正してくれる。
  3. コードは正しいが、バッチファイルやps1ファイル等の作成に問題がある。
     ファイルにする場合、適切にファイルの作成を行う必要がある。

Chat-GPTはコードの作成もこなしてくれるので非常に有用なツールです。

しかし、時々生成したコードにエラーが起きたり、思っていた機能と違うコードを生成したりと、
意図したものがそのまま使える状態で出てくるとは限りません。

そこで、この記事ではChat-GPTが生成したコードで発生しがちな問題と対策を紹介します。
もしコード生成でエラーが起きて困っている方がいらっしゃったら、是非ご一読ください。

1 パスの指示が適切でなく、ユーザーが変更する前提になっている

以前、あるコードを作成してもらった際、こんなコードが出てきました。

@echo off
setlocal enabledelayedexpansion

set "sourceFolder=C:\Path\To\Your\CSVFiles"
set "outputFolder=C:\Path\To\Your\Output"
set "row=2"
set "column=3"

・・・

ここで、4行目を見ると「sourceFolder=C:\Path\To\Your\CSVFiles」と記載されています。

これは、CSVファイルを抜き取るためのフォルダのパスを指定した箇所でしたが、
「C:\Path\To\Your\CSVFiles」というパスは存在せず、そのためそのまま使ってもエラーが起きます。

これは、コード作成時にパスをどうするか記載しなかったためで、
Chat-GPTはここを変更する前提でコード作成をしています。

対策は、実際に都度変更するか、「このファイルのある場所の~」といった指定をすることです。

2 データ型が適切でない

このエラーは、pythonやps1ファイルを使用する際に発生します。

プログラミングでは、様々な情報を変数という形で取り扱い、処理をしています。
このとき、各変数には型というものがあり、どのようなデータが入るかが決まっています。

このエラーは、データと型が一致しないため発生しています。

怒られ方は様々ですが、例えば「オブジェクトがありません」などがこれに当たります。

対策は簡単で、コードとエラーを記載してChat-GPTに修正をお願いするだけです。

エラーの修正依頼の例

こうすると、エラーの原因を調査してくれて、そのうえで修正したものを生成してくれます。

3 コードは正しいが、バッチファイルやps1ファイル等の作成に問題がある

この場合は、特にメモ帳を使用してファイルを作成する場合に発生します。

これは、文字コードが悪さをして、コマンドプロンプト等が処理を行うときに
コードの中身が文字化けしてしまうためです。

対策は、正しい手順に沿ってファイルを作成することです。
バッチファイル作成についてはこちらの記事、ps1ファイル作成についてはこちらをご覧ください。

まとめ

最後にまとめを記載します。

コード生成で発生しがちなエラー

  1. パスの指示が適切でなく、ユーザーが変更する前提になっている。
    「C:\Path\To\Your\CSVFiles」みたいな文字があった場合、ここを適切に変更する必要がある。
  2. データ型が適切でない
     コード内で使用している変数の型が適切でなく、エラーが起きている。
     このとき、エラーが起きる旨記載してAIに投げると修正してくれる。
  3. コードは正しいが、バッチファイルやps1ファイル等の作成に問題がある。
     ファイルにする場合、適切にファイルの作成を行う必要がある。

コード生成でのエラーにお困りの方は是非参考にしていただければ幸いです。

それでも上手くいかない場合は

この場合、もう他の人が完成させ機能したコードを使用するのが一番手っ取り早いです。

このブログでは、バッチファイルps1ファイルを使用した様々なコードを紹介していますので、是非ご一読ください。

以上、最後まで読んでいただきありがとうございました。

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