見出し画像

ChatGPTを1年使ったプログラマが『エンジニアのためのChatGPT活用入門』を読んで気づいたこと

先週発売されたばかりの新刊『エンジニアのためのChatGPT活用入門』を献本いただきましたので、それを読みつつ、自分でもいろいろと試していました。
その中で気づいたことについて紹介します。

ChatGPTが登場した当時の衝撃

まずはこの本を読む前の段階で、私がChatGPTをどれくらい使っていたのかについてご紹介します。
ChatGPTが発表されたのが2022年11月30日のことでした。
当日から多くのIT系メディアで話題になり、即座に私もアカウントを作って使い始めました。

そして、その1週間後の12月7日、私はとある大学にて「DX」について講演することになっていました。
そこでのテーマの1つとしてChatGPTについてお話しすることにし、ソースコードを生成させたり、誤ったソースコードを入力して指摘させたり、ドキュメントを生成させたり、ということを講演の中で紹介していました。

当時はGPT-3.5しかありませんでしたが、「これは大学でのプログラミング教育が変わりますね」と大学の先生や生徒、その他受講者の皆様と話していたことを覚えています。

ChatGPT登場から1年現在の使用状況

そして1年が経ち、今年も先日同じ大学にて講演をしてきました。
この1年で一気にChatGPTが広がり、本書をはじめとして「ChatGPT」がタイトルに付く本が次々登場していることについて、大学の先生と話していました。

その後の私は、直接的にOpenAIのサイトでChatGPTを使うことはほとんどなくなりました。
その理由は、macOSのランチャーであるRaycastからGPT-4が使えるようになったからです。

この記事にも書いたように、「AI Command」が使えるなど、より便利に使えることから、ほぼこのRaycast AIを使うようになっています。
それでも、このRaycast AIを通じてChatGPTを使わない日がないくらい、普段からChatGPTにはお世話になっています。

本書のサンプルでの新たな発見①

前置きが長くなりましたが、上記のようにプログラミングでの使用を含めてさまざまな場面でChatGPTを1年間、ほぼ日常的に使っていた私ですが、本書を読んでいくつか新たな発見がありました。

1つ目は5-4で登場した「アップロードした画像をサムネイル化するコードを作ってもらう」という節です。
こういったソースコードをChatGPTに作らせるのは多くのプログラマが思いつくところでしょう。
そして、プログラミング言語などの条件を指定すれば、必要なソースコードが生成されることは容易に想像できます。

ポイントはここからです。本書では、上記でソースコードを生成したあとに、サムネイルを「丸く、切り抜きたい」と思ったときに、次のような指示を出しています。

サムネイルを丸く、切り抜きたいです。

『エンジニアのためのChatGPT活用入門』P182

なるほど!
普段、私はなかなかこういった素直な書き方をしませんでした。
できるだけ正確に伝えた方が確実だ、という思いから、私なら次のような指示を出すところです。

上記で生成したソースコードにおいて、アップロードされた画像を円形にトリミングするように
ソースコードを書き換えてください。
このとき、トリミングで除外した背景部分は透明にしてください。

おそらく、こちらの想定したソースコードができあがるでしょう。
しかし、本書に書かれているような素直な人間の感想のようなものでも、適切なソースコードが生成されることに驚きました。

もし素直な指示で欲しい内容が生成されなければ、私が書いたような指示を出せばいいのです。
まずは軽い感想のようなものでも、気軽に試せるのがChatGPTの便利なところだと改めて感じました。

本書のサンプルでの新たな発見②

2つ目は、6-2で登場した「コードを出力させると元ネタがわかる」というものです。
ここでは、6-1で作成した「住所から郵便番号などを出力する」という処理を前提にしています。

この6-1では、次のような指示がありました。

下記のデータに、"郵便番号""都道府県""市区町村""番地""ビル名"を記載してください。
出力はCSV形式にしてください。

```
名称,住所
千代田区役所,東京都千代田区九段南 1-2-1
(以下、同様のようなデータが続く)

『エンジニアのためのChatGPT活用入門』P200

そして、CSV形式のデータが出力されるのですが、どうやって住所から郵便番号を取得しているのかわからない、というものです。

このとき、コードを出力させることでChatGPTがどうやって結果を生成しているのかを考える、というものでした。
具体的に、次のような指示を出しています。

下記のデータに、"郵便番号""都道府県""市区町村""番地""ビル名"を記載するようなPythonのプログラムを作ってください。
(以下、データは同じ)

『エンジニアのためのChatGPT活用入門』P204

この太字部分のように、コードを生成させることで、元ネタを探そうというものです。実際、ここで生成されたコードを本当にChatGPTが実行しているとは限りませんが、ChatGPTが生成したものの背景を考える、という意味では応用範囲が広いテクニックだと感じました。

そして、これは6-3での「大量のサンプルデータを作る」を読むことで、さらに納得感が得られる構成になっています。

本書には載っていない私なりの使い方

本書を読む前に少し期待していたのが、「テスト」についての記載です。
プログラマとして仕事をしていると、手間がかかるのがテストです。
たとえば単体テストでは、テストコードを生成してテストツールにて自動テストを行うことがよくあります。

このときは、さまざまなテストパターンを生成しなくてはならず、この部分ではChatGPTは便利です。
このため、私はソースコードを書くだけでなくテストコードの生成にもChatGPTを使うことが多いものです。

それなりに慣れてきたものの、もっと効率良い方法はないものか、と悩んでいるのも事実ですが、本書の7章にあるドキュメントの生成を参考に、もう少し工夫してみたいところです。

まとめ

1年間、ほぼ毎日のようにChatGPTを使っている私でも、新たな発見がいくつもありました。
そして、表紙にあるように「適度に頼る」「相棒にする」ということを意識し、これからもChatGPTを使っていきたいと思います。

フルカラーで読みやすい構成で、サンプルもたくさん掲載されていますので、ぜひ手に取ってみてください。


この記事が気に入ったらサポートをしてみませんか?