「AIと一緒に作る」って、正直どうなの
前回の最後に、「AIと一緒に作るってどういうことなのか、正直なところを書く」と言いました。有言実行です。えらい。
Ligastmir のコードは、その大半を AI(Claude)と一緒に書いています。これは事実です。
で、こう書くと、たぶん一定数の人がこう思うわけですよ。
「じゃあAIに丸投げしたら、勝手にツールができるんでしょ?」
……できません。少なくとも、俺のやり方では。
正直に書くと、これはけっこう誤解されがちなところだと思っています。
まず、AIが本当に得意なことは何かというと、実装のスピードです。
「こういう動きをするパネルが欲しい」と伝えると、たたき台をものすごい速さで出してくれる。疲れないし、深夜でも文句を言わない。調べ物も速い。相棒としては最高です。
でも、そこには大きな「ただし書き」がつきます。
何を作るか、そして何を"作らない"かを決めるのは、最後まで自分の仕事でした。
前回書いた「全部入りの重いツールにはしない」という縛り。あれをAIは勝手には守ってくれません。放っておくと、良かれと思って機能をどんどん盛ってきます。親切なんですよ、AIって。
だから「それは要らない」「ここはもっとシンプルに」「この機能とこの機能は繋げない」と、俺がずっと言い続ける。方向を決めて、要らないものを削るのは、人間の側の役目でした。
言い換えると、「面倒くさい性分」で作りたいものの輪郭を持っていることが、たぶん一番効いています。作りたいものが自分の中にないと、AIがいくら速くても、ただ速く迷子になるだけなので。
そして、これが今日いちばん書きたかったこと。
AIは、平気な顔で「壊れているもの」を渡してくることがあります。
しかも厄介なのは、それがちゃんと動いているように"見える"ことなんです。
これ、コードを書いたのがAIだろうと人間だろうと起こります。むしろAIは「それっぽく動くもの」を作るのが上手いぶん、「動いているように見えて、実は動いていない」が生まれやすい。
だから最近は、実装が終わったあとに「主要な機能を片っ端から自分で叩いて、本当に動くか確かめる」という地味な作業を、意識してやるようにしています。さっきのシーン切替も、それで見つけました。ついでに、同じ種類の壊れ方を機械的に検出する仕組みも入れて、二度と静かに壊れないようにしました。
「動くように見える」と「動く」は、ぜんぜん違う。
これはAIと作るようになって、いちばん身に沁みたことかもしれません。
そう考えると、作るときの"詰まりどころ"が、昔と変わったなと思います。
昔は「コードを書くのが遅い」がボトルネックでした。今は書くのは速い。代わりに、「何を作るか決める」と「本当に動くか確かめる」が、いちばん時間と頭を使うところになりました。
手を動かすところをAIが引き受けてくれたぶん、人間は「判断する人」と「疑ってかかる人」に専念できる、という感じでしょうか。
だから、Ligastmir は「AIが作ったツール」ではなくて、「俺が決めて、AIと二人三脚で作って、俺が最後に動作を確かめているツール」です。ちょっと長いですが、これがいちばん正直な言い方だと思います。
魔法みたいに勝手にできあがったわけじゃない。でも、一人でやっていたら、たぶんここまで形にはできていなかった。両方とも本当です。
そして——これはもう性分なんですが、この「決める・確かめる」の往復が、普通に楽しいんですよね。めんどくさがりのくせに。
次回は、そうやって作った機能の中でも特に気に入っている「配信中に困ったとき、落ち着いて対処するための仕組み」まわりの話でも書こうかなと思います。地味だけど、いちばん"配信者のことを考えて作った"ところなので。
それでは、また。