プログラミングど素人がChat-GPTに丸投げして何らかの自動化をしたいときの小技集
こんばんは。邪悪と申します。
みなさん、GPTくんとChatしてますか。
最近GPT4oがあーだこーだでいい感じらしいですね。
そんなChatGPTを利用して楽をしたいときに、思ったような成果物が得られなかったときの小技を、備忘録も兼ねてつらつらと書いていきたいと思います。
Pythonで作らせる
自動化の方法を聞くと「コマンドならこう!WindowsやMacならこの設定を開いてこう!Pythonならこう!」と丁寧に教えてくれますが、Pytonがなんやかんや手っ取り早いです。
Pythonなのは多分ChatGPT君の宗派の問題なので好きな言語を指定してやってもらえばいいと思います。僕はまれによくライブラリの導入で上手く行かなかったりするのでより良い言語があれば教えてほしいです。
また、プログラミングで出力してもらうと、何か詰まったときに後述するようにエラーメッセージをコピペすると解決することが多いので楽。
入力をそのまま見せる
ChatGPTになんらかの処理をするプログラミング書いて欲しいときにやりがちなのですが、いきなり「○○という処理をするプログラミングを書いて」と聞くと大抵思ったように動かないです。(n敗)
そんな時は具体的な処理を指示する前に一度入力するデータそのままコピペして送り付けると上手く行くことが多いです。
データをそのまま送りつけると、大抵「このデータは○○と××が~」といった感じで解析をしてくれるので、それに対して「○○を抜き出したいんだけど」といった具合に具体的に指示を出すとより精度のいい出力が得られます。
また、複数のデータを扱いたいときは、入力するフォルダの構造などをtreeコマンドやVScodeなら拡張機能のAscii Tree Generatorを使って文字起こしして送るとよりよい処理が得られます。
人間に何かを頼むときも実物を見せてから仕事の内容を頼んだほうがいいのでそんな感じかもしれない
どんな出力が得られるか尋ねる
コミュニケーションは往々にして失敗するので、ChatGPT君と認識のすり合わせをするフェーズを作ったほうがいいらしい。
「具体的にこのプログラミングでどのような出力が得られますか?」「このコードで出力されるファイルの一例を示してください」のように尋ねると、大抵思っていたのと違う出力が帰ってくるので、フィードバックを何回か返すなどしたほうがいいです。
また、このフェーズを挟むと、その後の微調整の展開もよくなる(気がする)
出力をそのまま見せる
思っていた出力と違った場合や、エラーが出た場合は、出力の内容やエラー文をコピペして送ると解決してくれる(場合がある)
これに加えて、修正されたコードに対して得られる出力を先と同じように尋ねてフィードバックを行ったほうがいいです。
処理の順番を指示する
ChatGPTにコードの解説を要求すると、それぞれの処理について教えてくれます。
プログラミングができない人間にとって一番大きな障壁になるのが、実際に行いたい処理をプログラムに翻訳する作業だと思います(そもそも何ができるのかすらわからない)。
これをChatGPT君が処理を実現する手札を与えてくれるので、組み合わせてフローチャートを考えて、日本語でいいのでリスト形式にしてChatGPTに送れば実際に動くプログラミングに落とし込んでくれます。
大変ありがたいですね
新しいチャットを開きなおす
ChatGPT君は思ったより思い込みが激しいので、言ったことをなかなか直してくれないことがあります
そんなときはコードをコピペして新しいチャットに送ったほうが手っ取り早いです
このときに、先ほどと同じように一度処理内容を解説してもらったほうがいいです
ググって自分で手直しする
元も子もないですが結局これが早かったりする。
まあ勉強も兼ねて…?