初期衝動
AIにプログラミングしてもらう体験が面白すぎる。一年、いや半年くらい経つと慣れてこの感覚を忘れてしまいそうなのでメモしておく。
AIコーディングは大きく「伴走型」と「委譲型」に分けられる。伴走型は人間がパソコンの前に座り、AIに指示を出し、成果物をレビューしながら少しずつ前に進む方法。委譲型はもっと大胆で、最初に仕事の内容を丸ごと伝え、人間のいない間にそれを実装しておいてもらうもの。これまでとの違いが大きいのは後者。お風呂に入る前にやってほしいことを箇条書きで書き出し、それを伝える。自分は風呂に入りドライヤーで髪を乾かす。パソコンの前に戻ってくると「実装が完了しました!」のようなメッセージが表示されている。「あ、そういえば依頼してたな」と思い出してちゃんとできてるか確認する。ほとんど思い通りに動いていて感動。まさに自分の分身が得られたような感覚になる。
複雑なタスクの場合は失敗することもある。そんな時でもAIは「できました!」と言っている。これは仕事の達成条件が明示されていないのが原因。「最後にこういう確認コマンドを実行して、それがPassしたら完了です」と次からは伝えてあげる。するとAIは最後に確認コマンドを叩き、それがエラーになったらエラーメッセージを見て修正し、修正がうまくいったら完了としてくれる。まさに「自律型」エージェントといえる。
委譲型で任せられるタスクは限られる。一番任せやすいのは画面系の機能開発。一通り触って問題なければ大体OKだし、見た目に関するコードはよく書き換えるのでサービスの根幹になりにくい。その機能が使われなければ廃止することもある。丁寧に作るよりもスピードが重要な部分で、これはAIにフィットしやすい。
逆にデータベースとかログイン周りの処理とか、サービスの根幹に関わる部分は任せにくい。データベースを適当に変更されると影響範囲が大きすぎるし、ログインや認証の実装をミスるとセキュリティ的な事故に繋がりかねない。こういった部分は伴走型で、人間立ち合いのもと進める必要がある。
AIは世の中のコードから学習してるが、その学習コードにわざと悪意あるコードを混ぜ、AIに罠をしかける動きが警戒されてるらしい。そうなると今後はAIに触らせる範囲はもっと限定的になってくるかもしれない。新しい技術の可能性を、悪意ある一部の人間が狭めてしまう。インターネット初期から変わらないサイクルだが実に虚しい。