サマリー
ChatGPTを活用してAutoCADのロゴ再現スクリプト作成に取り組みましたが、初期段階でエラーが頻発しました。 そこで、コマンドウィンドウでエラー箇所を特定し、色選択の自動化や、AutoCAD特有の仕様であるスクリプト内の空行(Enter)による動作の違い(コマンドの繰り返し実行やバッティングなど)を修正するよう、AIに詳細なフィードバックを繰り返しました。 この経験から、AIへの指示は「曖昧な表現を避け、具体例を交える」こと、また対話が長期化する際は「定期的にルールをリマインドする」ことが、意図した結果を得るための重要なコツだとわかりました。 最終的に、完全再現には至らなかったものの、元画像に極めて近いロゴの描写に成功しました。
用語解説
- 生成AI:既存のデータの法則や関係性を学習し、それを元に新たなコンテンツを生み出すことができる人工知能。今回使用するChatGPTは生成AIサービスの中でもプログラミング補助に優れているという特徴をもつ。
- ChatGPT:OpenAIが公開する大規模言語モデルを用いる対話型生成AIサービス。
- AutoCAD:2D・3Dでの作図ができる、世界トップシェアの作図ソフト。
- コマンド:AutoCAD上で特定の動作の指示をするためのキーワード。コマンドウィンドウ(コマンドライン)で実行したコマンドを確認可能。
- スクリプト:コンピュータで特定の処理を自動で実行するためのプログラム。今回はAutoCADで図形を描画するためのコマンドが含まれたテキストファイル。
記事本文
現在当社では、生成AIの利活用による業務効率改善や精度向上を積極的に推進しております。
今回は、上記を目的とした活動の一環として「2024年入社の従業員にChatGPTを使用してAutoCADのスクリプトを作成し、当社のロゴを再現してもらう」という活動を行いました。
スクリプト生成の流れから、生成AIを使用する際のコツ・エラー解消の事例もご紹介いたします。
スクリプト作成
ChatGPTに画像を読み込ませ、指示を出します。

生成されたスクリプトを実行したところ、画像のようにロゴの頭の赤〇部分を描画したところで停止してしまいました。

エラーを解消するためコマンドウィンドウを確認し、スクリプトの問題がある場所を確認します。
エラーの内容をChatGPTにフィードバックします。


修正されたスクリプトを実行します。

今度は描画自体が行われませんでした。
再びコマンドウィンドウからエラーの内容を読み取り、ChatGPTへのフィードバックを行います。
その後も何度かエラー内容の修正を繰り返し、遂にChatGPTが生成したスクリプトだけで当社のロゴを描写することに成功しました。

当社のロゴ

ChatGPTにより生成されたロゴ
あまり精度が良いとは言えない結果となりました。
その後もスクリプトの修正を繰り返し、最終的に以下の結果となりました。

当社のロゴ

ChatGPTにより生成されたロゴ
完全再現とはいかなかったものの、元画像にかなり寄せることはできました。
ChatGPTへのフィードバック
今回ChatGPTのスクリプトがうまく実行されるまでに必要だったフィードバックの回数は約10回、最終的に形を整えるまで必要としたフィードバックの回数は約60回となりました。
スクリプトがうまく実行されるまでにChatGPTに行ったフィードバックは以下のようなものです。
- 図形の色を自動で選択できるようにしてほしい
- スクリプト内の空行(Enter)の有無で動作が変わるので修正してほしい
①図形コマンドの後に空行があると直前のコマンドが繰り返し実行されてしまう
②-LAYER(画層変更)コマンドの実行直後に空行が無いまま図形コマンドを書くとコマンド入力がバッティングする
③スクリプトの最後に空行が無いとスクリプトが自動で終了しない
スクリプトの不具合は、AutoCADのコマンドウィンドウからどの段階で不具合が起きているかを見つけて原因を特定することが可能ですが、AutoCADに不慣れで原因が分からない場合もChatGPTに直接エラーの内容をフィードバックすれば解決策を得ることが可能です。
例)
実行したスクリプト
エラーの内容

質問内容

修正版スクリプト
修正版のスクリプトでは、エラーの原因となっていた–とLAYERの間の空白が削除され、修正前よりも一つ先のコマンドまで実行することができました。
このように生成AIがエラーの原因を推測するため、AutoCAD初心者でも生成AIを利用して任意のスクリプトを作成することが可能です。
フィードバックのコツ
ChatGPTに指示内容が伝わらないときは、以下の2点を意識すると意図した内容が伝わりやすいことがあります。
- 具体例を交えて指示する
- 曖昧な表現を使用しない
例)

画像の状態はロゴの人型の部分と「AIS」の文字が少し被っているため、人型部分を上に移動するために以下の指示を出しました。

しかし出力されたスクリプトを読み込むと以下の結果となりました。

「上に立つ」というあいまいな表現をしたため、逆に文字と人型部分が被ってしまうという結果となりました。
そこで上記の①、②を意識して指示を出してみました。

出力された結果がこちらです。

元のロゴに近い位置関係へと修正することができました。
また、ChatGPTとのやり取りが長くなると初めの方に出した指示内容が反映されなくなることがあります。やり取りの中でできたスクリプト作成のルールは、定期的にリマインドすることで内容を反映し続けることができます。
例)


最終的に実施したスクリプトは以下です。
おわりに
当社は、従業員一同の積極的な生成AI利用により業務効率化に向けて邁進しております。
今回の活動を通じて、よりお客様にご満足いただけるようなCADデータをご提供できるよう、引き続き努力してまいります。
お問い合わせ
本件に関するお問い合わせは、下記よりご連絡ください。
お問い合わせフォーム
関連技術コラム
GIS – アサミ情報システム株式会社|GIS/3D/CityGML
CityGMLから”屋根の3D表面積”をFMEで集計し、建物属性に付与 – アサミ情報システム株式会社|GIS/3D/CityGML