AIを使っても最終的な責任は開発者にある

AIを使っても最終的な責任は開発者にある

記事
IT・テクノロジー
最近は、Web制作やプログラミングでもAIを使うことがかなり増えました。

僕自身も、コードを書いてもらったり、エラーの原因を調べてもらったり、実装方法の候補を出してもらったりと、AIを使う場面はかなり多いです。

正直、AIがあるのとないのとでは、開発スピードが全然違います。

以前なら何十分も検索していたことが、数分で解決することもあります。

ただ、AIを使えば使うほど、

「AIが出したコードだから大丈夫」ではない

ということも強く感じるようになりました。

最終的にそのコードを使うと判断したのは、自分だからです。

AIは普通に間違える

AIにコードを書いてもらうと、一見するとかなりそれっぽいコードが返ってきます。

変数名も自然ですし、コメントまで付いていて、

「これならそのまま使えそう」

と思ってしまうこともあります。

でも実際に動かしてみると、

存在しない関数を使っている
古い書き方になっている
一部の条件でエラーになる
セキュリティ的に問題がある
WordPressの仕様と合っていない
既存のコードと競合する

といったことは普通にあります。

特に怖いのは、明らかなエラーではなく、

「一応動いているけど、実は問題があるコード」

です。

画面上では正常に見えていても、裏では不要な処理を大量にしていたり、入力値のチェックが足りなかったりする可能性があります。

「AIが書いた」は言い訳にならない

例えば、クライアントのWebサイトを制作していて、AIが生成したコードが原因でサイトに不具合が発生したとします。

そのときに、

「この部分はChatGPTが書いたので……」

とは言えません。

クライアントからすれば関係ありません。

AIを使うかどうかを決めたのも、そのコードを採用したのも、最終的に本番環境へ反映したのも開発者です。

つまり、

AIは作業を手伝ってくれる存在ではあるけれど、責任を代わりに取ってくれる存在ではありません。

ここはかなり重要だと思っています。

AIを使うなら「確認できる力」が必要になる

AIが普及すると、

「これからはコードを書けなくてもWeb制作できるのでは?」

という話もよく出てきます。

確かに、以前よりコードを書くハードルはかなり下がったと思います。

ただし、個人的には、

コードを書く力以上に、コードを判断する力が重要になっていく

と思っています。

AIが出してきたコードを見て、

「これは何をしているのか」

「この処理は本当に必要なのか」

「セキュリティ的に問題はないか」

「もっとシンプルな方法はないか」

「既存環境に影響しないか」

と確認できなければいけません。

全部をゼロから暗記している必要はないと思います。

分からなければ調べればいいですし、AIにさらに説明してもらってもいい。

ただ、

分からないまま本番環境に入れる

という状態はかなり危険です。

AIに聞くことと、AIに丸投げすることは違う

僕も分からないことは普通にAIに聞きます。

むしろ、かなり聞きます。

でも最近は、

「これを作って」

だけではなく、

「なぜこの実装なのか」

「他に方法はないのか」

「このコードのデメリットは何か」

「本番環境で使う場合に注意することはあるか」

といったことまで聞くようになりました。

AIを、

答えを出してくれる機械として使うのか、考えるための補助として使うのか

で、かなり違うと思います。

丸投げすると、自分には何も残りません。

一方で、AIが出した答えを確認しながら使えば、開発スピードを上げながら知識も増やせます。

AIが便利になるほど、基礎知識は重要になる

AIがこれだけ便利になると、

「もうHTMLやCSS、PHPを細かく勉強しなくてもいいのでは?」

と思うこともあります。

でも実際に使っていると、むしろ逆だと感じます。

基礎知識があるほど、

AIの回答がおかしいことに気付けます。

例えばWordPressなら、

「テンプレート階層的に、このファイルで処理するのは違う気がする」

とか、

「ここで直接SQLを書く必要はないのでは?」

とか、

「この処理ならWordPress標準の関数があるのでは?」

と判断できます。

知識がなければ、AIの出した答えを正解だと思ってそのまま採用してしまいます。

だからAI時代こそ、

基礎を知っている人と、AIの回答をそのまま使う人との差は大きくなる

のかもしれません。

AIは「開発者の代わり」ではなく「強力な道具」

AIを使うこと自体は、まったく悪いことではありません。

電卓を使って計算するのと同じように、便利なものは使えばいいと思っています。

むしろ、使わずにすべて自力でやることにこだわる必要もないと思います。

ただ、AIはあくまで道具です。

コードを書くのがAIでも、

そのコードを採用するか判断するのは開発者。

本番環境に反映するのも開発者。

問題が起きたときに対応するのも開発者です。

だから、

「AIがそう言ったから」ではなく、「自分が確認して、この方法を選んだ」と言える状態で使う。

これが、AIを使って開発するうえで大切なことだと感じています。

AIによって開発は間違いなく便利になりました。

だからこそ、これから必要なのは、

AIに仕事を任せる力ではなく、AIが出したものに責任を持てる力なのかもしれません。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す