小野哲『ソフトウェア開発にChatGPTは使えるのか?』読了。
書名は問いかけになっていますが回答は自明ですね。
「めっちゃ使えまっせ。」です。
というかのっけからこんな感じで開発に使ってますよ、という事例のオンパレードです。
副題が「設計からコーディングまでAIの限界を探る」とある通り、やりたいことそのものをChatGPTに丸投げして設計方針を回答してもらうというものから、実際のプログラムをざっくりと入力して、エラーが出たらそれをまたブチ込んで改善してもらう、というものまで幅広くChatGPTとの付き合い方が書かれています。
他の言語にも翻訳してくれるよ、とか、正規表現を書くのも任せられるよ、とか、言われてみればそうですよね案件ですが、こういったことも積み重ねで生産性はだいぶ変わってくるのでしょうね。
自分はプログラマーという仕事をしたことはないのでプロではありません。
でも、自分で日々行う作業での必要に迫られ種々のプログラムを書いてきました。
その必要に迫られるタイミングというのはまちまちで、どこかのサイトの仕様変更だったり、提供されるデータのフォーマット変更だったりといろいろあるわけですが、結構間があくとごっそりプログラミングに関する知識が抜け落ちていたりするんですよね。
で、それらを思い出しながら書き始めるのがまた億劫というか一番手のかかる部分でした。
あまりにも間が空いてしまうと過去に自分が書いたプログラムであるのにもかかわらず、何をしているのかわからない、みたいなこともしばしば。
そういう人こそChatGPTは有用ですよね。
プログラムの触りを入力してあげるだけで、どういう作業をするものなのかを解説してくれるし、エラーメッセージも入れてあげれば、その原因も推測してくれるし。
良い時代になりました。
中盤以降はAPIを用いて出来ることの解説です。
LlmaIndex、Langchainを活用しながらWeb上のChatGPTへの一問一答だけでは難しいこともできることを示してくれます。
ただこのあたりは、すぐにアップデートされるので本で書いてしまうと出版される頃にはもうそのプログラムが動かなくなっている、なんてことも多いものです。
著者はそのあたりにも配慮して、サポートページやGithubで対応しますとのこと。
ありがたい。
何せ、このあたりはアップデートが激しすぎてChatGPTどころかググってもエラーの原因を特定できないことが多いのですよ。
本書でもサラリと書いてありますが「OpenAI()の代わりにChatOpenAI()」を使うと良いなんてことに気付くまでに数時間浪費してしまったことも…。
今後はプログラミングにChatGPTを使っていきたという人も、もっと具体的にはGPTでChatBotを作りたいという人にもオススメの一冊。