【マイレース開発記録(27)】AIとの役割分担
— AIと人間の境界線 —
「マイレース」の開発を進める中で、私が何度も考えたのは、
AIにどこまで任せて、どこからを自分で担うのか、ということでした。
いまはAIを使ってコードを書いたり、設計の相談をしたりすることが珍しくない時代です。
けれど、実際に手を動かしてみると、AIがいてくれるからこそ楽になる部分と、最終的には自分が理解して判断しなければならない部分が、はっきり分かれていることを感じます。
この回では、「マイレース」を作る中で見えてきたAIとの役割分担について書いてみたいと思います。
AIに任せたこと
AIに任せたのは、主に「思考の補助」と「たたき台づくり」です。
たとえば、FlaskでAPIを組むときの基本構造、HTMLとJavaScriptのつなぎ方、Canvas描画の流れ、条件分岐の整理、CSSの調整案などは、まずAIに相談することが多くありました。
自分の中にぼんやりしたイメージはあっても、それをどの順番でコードに落としていけばよいのか分からないとき、AIは最初の足場を作ってくれる存在でした。
また、エラーが出たときにも、原因候補を整理したり、確認すべき場所を絞ったりする場面で助けられました。
特に「マイレース」は、単純なフォーム処理だけではなく、占星術ロジック、順位計算、ゾーン判定、レース演出、メッセージ表示と、
複数の要素が絡み合っています。
そのため、一箇所の不具合がどこに由来しているのかを切り分ける作業に、AIとの対話はかなり有効でした。
自分で担ったこと
一方で、AIにそのまま任せることができなかった部分もはっきりありました。
一番大きいのは、「このアプリで何を表現したいのか」を決めることです。
たとえば「速さ」と「跳ね方」にどんな意味を持たせるのか。
順位をどう受け取ってほしいのか。
1位を正解、最下位を失敗のように見せないために、どんな言葉を選ぶべきか。
こうした部分は、コード以前に設計思想の問題であり、これは自分自身で考えて決めるしかありませんでした。
また、AIが提案してきたコードも、そのまま採用したものはほとんどありません。
実際には、
「なぜこの関数が必要なのか」
「この値はどこで使われるのか」
「この条件分岐で本当に意図通りになるのか」
「今の構成に合っているのか」
を一つずつ確認して、必要なら削り、組み替え、書き直して使ってきました。
たとえば detect_zone の定義が重複していた箇所や、役割の近い処理が複数箇所に分散していた部分は、AIの提案をそのまま積み重ねていたら見落としていた可能性があります。
最終的に整合性を取るのは、自分の役割でした。
コードを理解するまでのプロセス
AIとの開発で特に意識していたのは、「動いた」で終わらせないことです。
コードが一度動いても、自分で説明できないものは、まだ自分の技術になっていないと考えています。
そのため私は、AIから提案されたコードに対して、まず処理の流れを言葉で追うようにしていました。
入力は何か。
出力は何か。
どこで値が変わるのか。
どの関数がどの関数を呼んでいるのか。
なぜこの条件で分岐しているのか。
そうやって文章として整理し直してみると、分かったつもりだった箇所の曖昧さが見えてきます。
とくに発達特性の影響で、コードを一度に広く把握しようとすると混乱しやすい場面があります。
だからこそ、AIとの対話を利用して、曖昧な理解を細かく言語化しながら進めることが、自分にとってはとても大切でした。
AIは答えを出す装置というより、思考を整理するための相手に近かったと思います。
AIと人間の境界線
「マイレース」の開発を通じて、AIに向いていることと、人間が担うべきことの違いが以前よりはっきり見えてきました。
AIは、整理、提案、補助、比較、壁打ちが得意です。
一方で、何を作りたいのか、どんな体験を届けたいのか、どこを削ってどこを残すのか、
そうした判断は人間が持つべき領域だと思います。
私はAIを、代わりに作ってくれる存在としてではなく、考えを深めるための協働者として使っています。
そのおかげで、以前なら途中で混乱して止まってしまっていた工程も、分解し、確認し、修正しながら前に進めるようになりました。
これは単に「楽になった」ということではなく、学び方そのものが変わった、という感覚に近いです。
「AIとの役割分担」は、このプロジェクトを通じて何度も見直してきたテーマでした。
AIがいるから開発できた、という面は確かにあります。
けれど、それ以上に大きかったのは、AIを相手にしながら自分の考えを整理し、
理解を積み上げていく方法を持てたことです。
私は、AIに丸投げする開発ではなく、AIを活用しながら自分で理解し、判断し、改善していく開発を続けていきたいと思っています。
それが、自分の特性と向き合いながらも、リモート環境で安定して成果を出すための現実的な方法だと感じているからです。
次回予告
次の記事は、
として、AI時代における「理解すること」と「検証すること」について、もう少し踏み込んで書いてみたいと思います。


