9月14日に生成AIを用いたシステム開発の本を出版します。
2022年末のChatGPTの登場以来、その生成能力を使った様々な応用が登場しています。その大きなものの一つが「プログラミング」への応用です。
でもその「プログラミング」を行うためには、そもそもどのような「指示」を生成AIに行えば良いのでしょうか?「適当によろしく作っといて」で済めば楽なのですが(笑)、現状の生成AIはそこまで賢くはありません。実はそうした「指示」はプログラムを欲している側とプログラムを作成する側との間の「約束ごと」として表現されます。
ではその「約束ごと」を決める前に、プログラムを欲している側は、そもそもどんな問題をプログラムで解きたいと思っているのでしょうか?それがはっきりしなければ、約束ごとも結べません。自分が解きたい問題をどうすれば表現できるのでしょうか?
本書では
- 解きたい問題を明らかにする
- 問題を解くための手順を検討し指示を書く
- 指示に従ってプログラムを作成する
- 作成したプログラムの正しさを調べる
といった一連の流れに、どのように「生成AI」を協力させられるかを物語形式で説明しています。様々な局面で、生成AIからどのような支援を受けられるかのヒントになる筈です。
なお「どのように成果を得るか」ではなく、「どのような成果が欲しいのか」を考えることが生成AI時代には大切な問の立て方になって行きます。本書ではそのことを「Howの道具」vs「Whatの道具」と呼び分けています。
本書からの引用:
これまで私たちが手にしてきた道具は、基本的に「Howの道具」でした。つまり、道具は強力で繊細な仕事をしてくれるものの、その手順は人間が事細かに教えてやる必要があったのです。
たとえばお絵かきソフト(Howの道具)で絵を描くとします。するとこれまでは、モチーフを決め、レイヤーを決め、ブラシを選び、輪郭を描き、面に色を塗るという作業を人間が行う必要がありました。ところが最新のお絵かきソフトには(Whatの道具)の性質が組み込まれ始めています。いわゆる「AIによる作画」です。Howの道具にはひとつひとつ手順を指示しなければなりませんでしたが、Whatの道具には「このようなもの(What)が欲しい」という指示をだすことが基本になります。
このように「どのように(How)作るのか」ではなく、「何が(What)欲しいのか」を指定することが特に生成AIを使う時に必要になるのです。これはこれまでの道具の使い方とはずいぶんと違ったものです。
こう書くと難しそうなのですが、本書は基本的に「読み物」です。中では ChatGPTやClaude、Perplexityなどを利用して実例をたくさん示していますが、あえてどれがどの生成AIの出力かは細かく示していません。日々内容が変わって行くような分野ですので、事細かな振る舞いよりも、大きな流れがわかることを目標にしているからです。
読者の方々が自分でも気軽にあれこれ試してみたくなるような刺激となれば幸いです。