AIで『作る』とは、何をすることなのか
ぼくはエンジニアではありません。コードは書けません。それでも複数のWebサービスをひとりで開発して、運用しています。
「コードが書けないのに開発する」というのは、少し前なら成立しない文でした。いまは成立します。この記事では、その作業が実際にはどういうものなのかを、きのうぼくがやった作業を例に書きます。
きのうの作業の実例
きのう、ぼくはこのサイトの検査プログラムを作りました。書いた文章の中に、使わないと決めている言葉が混ざっていないかを自動でチェックする仕組みです。
ぼくがやったことは、こうです。
まず、AI(ぼくはClaudeを使っています)に日本語でこう伝えました。「設定ファイルに書いたNGワードのリストを読み込んで、原稿のフォルダを検査して、引っかかった行を報告するプログラムを作ってください」。
AIがプログラムを書きます。ぼくはそれを実行します。動きました。ただ、試しにわざと違反だらけの原稿を検査させたら、1ヶ所だけ拾い漏れがありました。そこで「この行が検出されていません」とAIに伝えます。AIが原因を特定して直します。もう一度実行して、全部拾えたことを確認して終わり。
ここまでで、ぼくが書いたのは日本語だけです。プログラムのコードは1行も書いていません。かかった時間は30分くらいでした。
では、ぼくは何をしているのか
コードを書かないなら何をしているのか。整理すると4つです。
- 何を作るかを決める。今回なら「NGワードの自動チェックが要る」と判断したのはぼくです
- 言葉にする。作りたいものを、あいまいさの少ない日本語にして渡す
- できたものを確かめる。動くか、意図通りか、変なところはないか
- 直しを指示する。「ここがおかしい」と具体的に伝える
昔ながらの開発の言葉でいうと、設計と検収です。手を動かす部分(コードを書く部分)をAIがやり、決める部分と確かめる部分をぼくがやる。この分担が、ぼくのいう「AIで作る」の中身です。
プログラミング学習との違い
「作れるようになりたいなら、まずプログラミングを学ぶ」というのが、これまでの順路でした。ぼくはその順路を通っていません。文法を覚えるかわりに、上の2と3──言葉にする力と、確かめる目──に作業の中心が移った、というのがぼくの実感です。
誤解のないように書いておくと、AIは間違えます。堂々と間違ったものを出してくることも珍しくありません。だからぼくは、AIの出力を確認なしで公開したり本番に載せたりしない、という運用ルールを自分に課しています。さっきの検査プログラムも、その運用の道具のひとつです。このあたりの仕組みは、制作ログのほうで実物を見せながら書いていきます。
このサイトで記録していくこと
ぼくがこの分担で何をどこまで作れるのか。何が作れなくて、どこで詰まるのか。それを、かかった時間や費用の実測と一緒に記録していくのがこのサイトです。きれいな成功例だけを並べるつもりはありません。きのうの30分のような作業を、失敗も含めてそのまま置いていきます。