更新の履歴を、上から下まで眺めました。117回。最初の1回は6月21日で、最後は8月14日です。8週間と少し。連載を始めたときは、この数字を出したところで話が終わると思っていました。終わりませんでした。
こんにちは。AIでDXを加速する専門家、ばんのです。
第1回で、月額数千円のメルマガ配信サービスを使わず、自分で作ることにした理由を3つ書きました。連載もこれで最終回です。そこで、あの3つの理由に、いまの時点で答えを出します。あわせて、実際にかかった時間、AIに任せた仕事と私がやった仕事の分かれ目、そして既製品を使うべき人と自分で作るべき人の線引きを書きます。先に断っておくと、手放しで勧める話にはなりません。
まず、数字で答え合わせをします
第1回で出した数字は、8週間、117回の更新、そして約17,000行でした。最終回を書くにあたって、同じものをもう一度AIに数えてもらいました。そうしたら、1つだけ食い違いが出ました。
8週間で117回。多かったのは7月です
更新の回数を月ごとに分けてもらうと、偏りがありました。
| 月 | 更新回数 | その月にやっていたこと |
|---|---|---|
| 6月 | 39回 | 土台づくり。登録の受け付けと、順番に送る仕組み |
| 7月 | 62回 | 使いはじめてから、足りないと気づいた分 |
| 8月 | 16回 | 1回あたりの中身が重い作業。削除と、送り直しの間隔 |
7月がいちばん多いのは、机の上で考えていた期間ではなく、実際に読者へ送りはじめた期間だからです。第1回で「117回は足りないと気づいた回数です」と書きましたが、その気づきは6月ではなく7月に集中していました。
8月に回数が減ったのは、機能が足りたからではありません。1回あたりの中身が重くなったからです。第7回で書いた古い機能の削除は、更新の回数としては1回ですが、動かして確かめた項目は22ありました。回数だけを見ると、この月は暇に見えます。
17,000行と21,456行は、どちらも同じものです
食い違いが出たのは行数です。第1回では約17,000行と書きました。今回数え直してもらったら、21,456行という数字が返ってきました。4,000行ほど増えたことになります。しかし、この期間に作ったものは変わっていません。
数え方を確かめてもらったところ、理由が分かりました。第1回の数字は、プログラム本体のファイルだけを、しかも空行を抜いて数えたものでした。今回の数字は、画面まわりのファイルも入れて、空行も含めて数えたものです。
| 数え方 | 行数 |
|---|---|
| プログラム本体だけ、空行を抜く(第1回の数字) | 17,557行 |
| プログラム本体だけ、空行も含める | 19,345行 |
| 画面まわりのファイルも入れて、空行も含める | 21,456行 |
同じ成果物で、3つの数字が出ます。増えたわけではなく、物差しが違っただけです。自分の仕事の量を数字で語るときは、物差しを先に書いておかないと、あとで自分が困ります。
空行は数えない
約17,000行
空行も数える
21,456行
いまの姿
念のため、いまの中身も並べておきます。
| 項目 | 数 |
|---|---|
| プログラムのファイル | 33本 |
| ひとまとまりの部品(クラス) | 26個 |
| この仕組み専用のデータ置き場 | 12種類 |
| 版数 | v3.21.0 |
第1回で挙げた3つの理由に、いま答えを出す
理由は3つでした。新しいドメインでは設置のやり直しが必要だったこと、AIを使った開発を覚えたかったこと、どうせ組み直すなら自分の運用に合わせたかったこと。順に答えます。
理由1「設置のやり直しが必要だった」は、半分だけ当たっていました
数年ぶりにメルマガを再開するにあたって、ドメインが変わりました。既製のサービスを使うにしても、送信元の登録から読者の受け入れ方まで、一から設定し直しになります。同じ手間をかけるなら自分の物にしたい、というのが1つ目の理由でした。
この理屈自体は成り立ちました。ただし、私が想定していた「一度きりの手間」は、一度目が終わっただけでした。連載で書いたものを並べると分かります。差出人の設定、届かなかったお知らせの受け皿、なりすましの見分け方。既製のサービスなら初期設定の画面に項目として並んでいるものを、私は置く場所から決めています。
つまり、設置のやり直しは避けられたのではなく、別の形で払い直しました。理由としては成立しますが、決め手にはなりません。
理由2「AIを使った開発を覚えたい」は、想定と違う形で当たりました
覚えられると思っていたのは、コードの書き方でした。実際に身についたのは、頼み方と、断り方です。
第2回で、毎回踏んでいる4つの手順を書きました。作らせる前にどう壊れるかを言葉にする、書かせるAIと検査するAIを分ける、直す前にわざと失敗させて確かめる、確認の仕掛けを捨てずに残す。この4つは、メルマガの配信に固有の話ではありません。次に何を作らせるときも、そのまま使えます。
そのため、この理由は当たりました。ただし手に入ったのは「作れるようになった」ではなく「頼めるようになった」です。私はいまも、コードを1行も書いていません。
理由3「自分の運用に合わせたい」が、いちばん見返りが大きかった
3つのうち、実際に効果があったのはこれです。連載で書いた判断を思い出してください。
- 催促のメールは2回だけ。3日目と5日目に送る(第5回)
- 届かなかった宛先は記録するだけで、止めるかどうかは私が手で決める(第6回)
- どの記事の、どの位置に置いたバナーから登録されたかを記録する(第4回)
とくに第6回です。既製のサービスなら、届かない宛先は自動で止まります。それが普通ですし、たいていの場合は正しい動きです。しかし私は、自動で止まってほしくありませんでした。他人が押せる停止ボタンを作りたくなかったからです。この判断を実際の動きに反映できるのは、自分で作っているからです。
第1回で理由を3つ並べたとき、私はこれを3番目に書きました。いまなら1番目に書きます。
AIに任せた仕事と、私がやった仕事の分かれ目
連載を通して、コードは1行も書いていません。書いたのはAIで、検査したのも別のAIです。では私は何をしていたのか。8週間分の記録を見返すと、はっきり分かれます。
私がやったのは、決めることと、採否を判断すること
催促は2回。届かない宛先は記録だけ。なりすましの5つ目の検問は、入れるけれど最初は動かさない。古い機能はまとめずに消す。これは全部、私が決めました。
決めた理由は、どれも技術の話ではありません。読者がどう受け取るか、他人が押せるボタンをどこまで許すか、その機能を今後使う予定があるか。判断の材料は自分の運用の側にあります。AIはこの材料を持っていません。
AIが強かったのは、条件の網羅と、私が知らない失敗の形
連載で何度か、AIのほうから条件を出してきた場面があります。記録に残っているものを挙げます。
- 第6回。届かない宛先を自動で止める案に対して、それは他人が押せる停止ボタンになる、という指摘が返ってきました
- 第7回。古い分岐を消すと、そこに引っかかっていた過去のデータが通常の配信として拾われて、全員に送り直される、という指摘が返ってきました
- 第3回。差出人の欄が自己申告だとは知っていましたが、どこをどう見れば偽物を弾けるかは知りませんでした。5つの検問は、私が問いを出してAIが形にしたものです
とくに第7回の指摘は、私が頼んだ確認ではありません。AIが自分から挙げてきました。もし気づかないまま消していたら、過去に登録した人へ古いメールが送り直されていたはずです。
AIが自分では気づかなかったのは、画面を見ないと分からないこと
逆に、AIが最後まで気づかなかった種類の問題もあります。
- 第4回。バナーが1,000回表示されて登録が0件でした。プログラムとしては正しく動いていたので、コードを何度読ませても出てきません
- 第6回。承認ボタンが別の人を止めてしまう不具合は、私が管理画面を眺めていて気づきました
- 第2回のきっかけになった不具合も、差出人アドレスの1文字違いでした。本番の設定値を見ないと判断できません
共通しているのは、コードの外側に答えがある、という点です。実際の画面、本番の設定値、読者の動き。この3つを見に行く仕事は、私に残りました。
書いたコードを検査する
失敗の形を洗い出す
動かして22項目を確かめる
行数を数える
指摘の採否を判断する
本番の設定値を見る
管理画面を眺める
いつ動かすかを決める
手放しでは勧められない、3つの負担
ここまでは良かった話です。しかし8週間動かしてみて、既製のサービスなら払わずに済んだ負担も、はっきりありました。3つ書きます。
1. 止まった日に動くのは、自分しかいない
第2回のきっかけになった不具合は、差出人アドレスの1文字違いでした。メールが1通も出ませんでした。既製のサービスなら、送信元はサービス側の設定なので、そもそも間違えられません。
自分で作ると、止まった日の夜に原因を探すのは自分です。AIは探すのを手伝ってくれますが、本番の設定値を並べて「これは違う」と言えるのは自分だけです。第1回で「中身がわかると、トラブルの待ち時間がゼロになる」と書きました。待ち時間はゼロになりましたが、その分の作業時間は自分に来ます。
2. 足すより、消すほうが手間がかかる
第7回で、使っていない機能を773行分消しました。動かして確かめた項目は22。足したときよりも多い数です。
使っていない機能は、置いてあるだけでは止まっていません。周りを触った日に動き出します。既製のサービスなら、使わない機能は画面に出てこないだけで、こちらの持ち物ではありません。自分で作ったものは、使っていなくても自分の持ち物です。
3. 作った機能が、動かないまま眠る
第5回で、確認メールの催促を作りました。ただし、入れた日と動かす日は分けています。有効にした瞬間に、6日前から待っていた人へ2通まとめて届くところだったからです。
これは意図してやったことですが、いまも回数の欄は0のままです。0だと1通も送られません。つまり、書いた記事の中で説明した機能が、私の手元ではまだ動いていません。動かす日を決めるのも自分の仕事で、決めなければ機能は眠ったままです。既製のサービスなら、新しい機能は管理画面の目立つところに出てきて、使いませんかと聞いてきます。自作には、その催促がありません。
既製品を使うべき人と、自分で作るべき人
第1回にも似た線引きを書きました。8週間動かしたあとの、更新版です。第1回のときより、既製品を勧める側の線が太くなっています。
既製のサービスを使ったほうが幸せな人
- 送る内容が決まっていて、届けばいい人。運用の条件に、こだわりたい点が思い浮かばない人
- 止まった日に、自分で見に行く時間が取れない人。担当が1人で、その1人が別の本業を持っている場合を含みます
- 決める材料を持っていない人。催促は何回にするか、届かない宛先をどう扱うか。既製のサービスには、ここに既定の値が入っています。自分で作ると、全部が空欄から始まります
3つ目が、いちばん大きい違いです。自作というのは、既製品が決めてくれていた項目を、全部自分で決め直すことです。
自分で作る価値がある人
- 送り方そのものが商売の中身に関わる人。やりたい運用が、既製品の設定項目として用意されていない人
- 既製のサービスを一度使ったことがあり、どこが合わないかを言葉にできる人
- 数字を、他の場所の数字とつなげたい人。第4回のように、記事のどこから登録されたかを自分のサイト側と突き合わせたい場合です
2つ目について補足します。第1回に書いたとおり、私は買い切りの配信ツールも月額のサービスも、すでに持っています。だから何が足りないかを言えました。使ったことがないまま自作に入ると、何を決めればいいのかが分かりません。
ある → 既製品で足ります
ない → まず既製品を使ってください
ない → 既製品のほうが安全です
よくある質問
Q1. 結局、費用はどれくらい安くなったのですか
月額は消えました。しかし、安くなったとは書けません。8週間分の私の時間が乗っているからです。時給を仮に置いて計算すると、月額数千円のサービスを何年も払い続けられる額になります。費用が理由ではない、というのは第1回の冒頭に書いたとおりで、答え合わせをしても変わりませんでした。
Q2. 8週間というのは、これに専念しての8週間ですか
違います。本業の合間です。多い日で2時間ほど、何もしない日もありました。117回の更新のうち多くは、1回あたり数十分の作業です。まとまった時間が取れないから無理だ、とは限りません。ただし、細切れの時間で進められるのは、前回どこまでやったかをAIが覚えている場合に限ります。
Q3. AIに指示を出す方式で、どこまで作れますか
上限は、こちらの技術知識よりも、どう壊れるかを言葉にできるかで決まります。第2回に書いたとおり、指示が足りないと、指示どおりの正しいものが上がってきて、抜けたところはそのまま残ります。作れる範囲を広げたければ、コードを覚えるより、失敗の形を知っているほうが早いです。
Q4. 途中で既製のサービスに戻れますか
読者の一覧は自分の手元にあるので、書き出して移せます。移せないのは、自分の運用に合わせて決めた条件のほうです。催促の回数、止める基準、記事のどこから登録されたかの記録。戻るのであれば、そこは既製品の既定の値に合わせ直すことになります。
ばんのの視点:自作の分かれ目は、費用ではなく「決められるか」
空欄が117個並ぶところから始まります
自作を選ぶというのは、既製のサービスが決めてくれていた項目を、全部自分で決めるということです。催促は何回か。届かない宛先はどうするか。新しい機能をいつ動かすか。どれも正解が1つに決まりません。
決める材料を持っている人にとって、これは自由です。持っていない人にとっては、宿題が117個増えるだけです。第1回で「既製品を一度使ったことがある人には勧められる」と書いたのは、そういう意味でした。8週間やってみて、この線引きは変わりませんでした。
AIがいても、決める仕事は減りません
8週間で分かったのは、AIに任せられる範囲が思ったより広い、ということです。しかし同時に、任せられない仕事の輪郭がはっきりしました。書く仕事と検査する仕事は渡せました。減らなかったのは、決める仕事と、画面を見る仕事です。
むしろ書く時間が消えた分、決める仕事の比率は上がりました。AIを入れると楽になるのは作業のほうで、判断のほうではありません。次に何かを作らせるときも、ここは変わらないと思います。
連載を終えて
全8回、お読みいただきありがとうございました。まだお読みでない回があれば、こちらからどうぞ。
- 第1回 AIと8週間でメルマガ配信システムを自作した記録
- 第2回 AIが書いたコードをどうやって確かめるのか
- 第3回 本物の返信だけを通すために、設計を4回間違えた話
- 第4回 表示1,000回、登録0件。原因はバナーではなかった
- 第5回 登録の途中で消えていく人たち。催促を2回で止めた理由
- 第6回 届かなかったメールを、自動で止めなかった理由
- 第7回 自分で作った機能を、まとめずに消した話
最後に1つだけ。作り終わったつもりはありません。117回目の更新は8月14日で、そのあとも欄が0のままの機能が残っています。既製のサービスを使っていれば、こういう宿題は残りませんでした。それでも、届かなかったお知らせを自動で止めない、という判断を自分の手で入れられたことのほうが、私には価値がありました。