はじめに
最近は一時ほど話題に上がらなくなったChatGPTですが、僕は引続き色んな場面で活用しています。
- 考え事をするときの壁打ち役
- 文章のチェック
- サーバー調査に必要なスクリプトの作成
など、個人的には大活躍してもらっています。
そんな中で、今回はサーバーエンジニア的なChatGPTの活用方法として、ちょっとした調査に必要なスクリプトの作成をChatGPTにやらせてみた事例を紹介します。
背景
ある日、Webサーバーでトラブルがあり、アクセス元のIPと国名を急ぎ洗い出す必要がありました。
Apacheのログから、アクセス元のIP一覧はすぐに出せましたが、そのIPがどこの国かを出すには、whoisコマンドと連携するなど、別のロジックを組合わせる必要がります。
アクセス元IPが少しであれば、手作業で一個ずつ調べるのですが、今回のケースでは数百単位のアクセス元があっため、手動実行は現実的ではありません。
そこで、IPのリストを食わせて、それぞれの国名を出力する簡単なスクリプトを作ることにしました。
自分で一からスクリプトを書くことも、時間をかければ出来ますが、最近お世話になっているChatGPTさんであれば、時間短縮できるのではと思い、お願いしてみることにしました。
ChatGPTさんにお願いしてみた!
というわけで、早速ChatGPTにIPアドレスの国名解析スクリプトの作成をお願いしてみました。
今回利用しているのは有償版のChatGPT Plusです。無料版と比べると段違いに回答の精度が上がります。
すると、即座に答えてくれます。
ご丁寧に、whoisサーバーのブロックについても教えてくれます。
早速試してみたところ、思い通りの結果が返ってきました。
一点だけ不満があるとすれば、「国名」ではなく「国コード」が返ってくるため、ぱっと見分かり辛いということです。
この不満をぶつけて、「国名」を出力できるようにお願いしてみます。
すると、また即座に改修したコードを返してくれました。
なんか、すごく力業的なコードが返ってきました(笑)
恒久的に利用するのであれば、国コードと国名をDB化するなど、色々検討の余地はありますが、トラブル対応時の一時的に使う分には、結果が正しければOKなので、拘りません。
実際に試してみたところ、思い通りの結果を得ることができました。
プロンプトを並べると長時間かかっているように思われるかもしれませんが、実際ここまでにかかった時間は5分程度です。
ハイパープログラマーの方であれば、もしかしたらこれより短い時間でこのスクリプトを作れるかもしれません。ですが、少なくとも、もし僕が一からこのスクリプトを作ったとしたら、国コードを調べるだけで小一時間はかかったと思います。
もちろん、このスクリプトの実行結果が確実に正しいかをちゃんと検証する必要はありますが、それを含めても大幅な時間短縮になるのではないでしょうか。
ChatGTPを使うにあたって
ChatGPTについて、こんなネガティブな話をよく耳にします。
- よく嘘をつく
- 一発で欲しいものが手に入らない(答えがズレている)
これについて、個人的には、半分ホントで、半分間違っていると思っています。
確かにChatGPTが出す回答には、間違っている内容が含まれている場合が多いのは事実です。
ただ、その間違いの一部は、質問者側の質問内容に問題があるケースが多いのも、また事実かと思っています。(質問者が欲しい情報を明確にできていない)
一発で欲しい情報に着けないというのも、これまた事実です。
ただ、これも質問者側の質問内容が問題があるというケースが多い気がします。(イイ感じに教えてみたいなケース)
これは経験則ですが、一発で出て来ない場合は、問題点を伝えてブラッシュアップしていけば、いずれは得たい情報にたどり着くことができるケースが多いです。
個人的には、ChatGPTは神様ではなく、気軽に聞けるバディーだと考えています。
なので、間違いがあることも多いですが、上手く使えば非常に有用だと考えています。
また、自分一人でやった場合と、間違いもあるけどChatGPTを使った場合と、どちらがより効率的かといった観点も大事かと思います。
例えば、今回のケースだと、一発で思い通りのものが出て来なかったりなどはありますが、それでも自分で一からやることを考えると、大幅に時間短縮できたとは思います。
あまり求め過ぎずに、良い部分を活かしながら利用するのが、現時点でのChatGPTの一番の活用方法だと思っています。
一番大事なのは、ChatGPTが出したものを、何も考えずにそのまま使うのではなく、自分自身で必ず試して、その結果が正しいかを検証することだと思います。
前述の通り、ChatGPTは神様ではないので、出す答えが必ずしも正解だとは限りません。
なので、最終的には自分自身の目で見て、試して、それが正しいものであるかを見極めることが大事だと思います。
まとめ
ChatGPTは、エンジニアの方には非常に相性の良いツールだと思います。
上手く活用すれば、業務効率を上げたり、自分自身の学習にも役立てることが可能です。
一方で、何も考えずに、ChatGPTが出したものを全てを鵜呑みにすると痛い目を見ることもあるので、上手く付き合っていければと思います。