フライス盤用G-CODEバックラッシュ補正ツール(改)
以前作成したバックラッシュ補正ツールですが、7スクリプトと、これを順番に動かすためのスクリプトの全8ファイル構成となっていました。動作自体は問題ありませんが、管理が面倒だなと思っていました。かといって、時間をかけてまで統合するモチベーションもなかったのですが、最近はGPT-5や、CODEXのおかげで相当にコーディングの自動化・自立化が進んできました。
そこで、CODEXを使い統合を試してみることにしました。
打ち込んだプロンプトは以下の通りです。
---------------------------------------------------------------------------
ここには、01_から07_の名前で始まる7つのpyファイルとCALL.pyがあります。CALL.pyを起動すると、GCODEが書かれたファイルを要求され、01から07のファイルを使って、中間ファイルを作成、読み込みを繰り返しながら順番に修正を施していき、最終的に元のGコードに対して、フライス盤のバックラッシュを考慮したGコードを出力します。あなたは凄腕のプログラマーです。この合計8個のコードを統合して、中間ファイルの出力は行わずに、最終的な成果物は完全に同じものが出来上がるようにしてください。成果物はOneFileの名称のフォルダの中にOne_ANTI_BACKLASH.pyとして保存してください。作成したコードを使って、出力が完全に維持されているかはTEST.ncを入力として作成したTEST_NBC.ncと比較することで行ってください。まずは既存コードを完璧に理解してください。新たなコードの生成に当たっては、常に元のロジックを尊重し、常に自己の生成コードを批判的に検証し、ミスの無い結果が出力されるようにお願いします。
---------------------------------------------------------------------------
つぎに、このように指示を与えました。
---------------------------------------------------------------------------
OneFile\One_ANTI_BACKLASH.pyとして出力されたファイルは素晴らしく正確です。そこで、今後このファイルの使い勝手を引き上げるために、おおよそパラメーター・設定値と呼べる物をコードの最初に変数定義エリアを設けて、そこでまとめて管理出来るようにしてください。新たなコードの生成に当たっては、常に元のロジックを尊重し、常に自己の生成コードを批判的に検証し、ミスの無い結果が出力されるようにお願いします。最終的な成果物は完全に同じものが出来上がるようにしてください。成果物はOneFileの名称のフォルダの中にOne_ANTI_BACKLASH_param.pyとして保存してください。
---------------------------------------------------------------------------
結果的に非常にうまくいく結果となりました。作成したコードは以下のリンクからダウンロード可能です。
https://drive.google.com/file/d/1wbjaQQvsFTYKmCjHww8rpW9LHMFI2suo/view?usp=drive_link
もともとのコードは23年の12月に書いていたので、GPT-4で作成したと思います。コード統合の試みは、4oやo1、o3が出るたびに行ってきましたが、正直やりきってくれなかったり、出力が違うものになってきました。しかし、今回CODEXの最新モデルによって自律的に完了させることが出来ました。
LLMによるコーディング能力は3.5あたりでも面白いと思っていましたが、当時は関数レベルをそれもかなり明確にロジックを説明して初めて間違えずに書いてくれるレベルだったと思います。ほぼ日本語でコードを書いているようなものでした。それがGPT-5では、かなりインプットとアプトプットが遠くても、間でやりたいことを伝えることが出来れば細かいロジック含めてほぼ間違えません。プロのエンジニアが書くコードに比べれば見劣るのでしょうが、ちょっとしたタスクをこなすためのコードは誰でも出来るようになっていたと思います。