
AIと共にプログラム開発する際に意識すること
近年、AIを活用したプログラム開発が一般的になり、
多くの開発者がAIツールを利用するようになりました。
しかし、AIを使う際にはいくつかの注意点があります。
本記事では、AIと共にプログラム開発を行う際に意識すべきポイントをまとめました。
1.とりあえずAIに聞いてみる
後輩達の様子を見ていると意外とできていないのがコレ。
単にキーワードで引っかかるものであればgoogle検索でもすぐに見つかりますが、
複雑な条件を含めた情報の検索はAIの方が圧倒的に早いです。
簡単な例を出しますと、、
javascriptでオブジェクトに対してforeachをしたい。
※obj.forEach()はエラーになる。
そんなとき
『javascriptでオブジェクトに対してforeachをしたい』
とAIに聞けば書き方は一瞬で返ってきます。
なので知らないことを調べる時はとりあえずAIに聞く。
それができるだけで相当な時間の短縮になります。
2.できるだけ具体的に指示を出す
AIは簡単に言うと『とても知識のある指示待ち人間』。
そして気が利きません。
たとえば飲食店で
💁♂️「手を洗いたいな」
とお客さんが言っていたとすれば、
それを聞いた店員さんがおしぼりを提供したり、化粧室の場所を教えるでしょう。
ですが、AIにはそれができません。
なので複雑なことを聞く際は注意です。
できるだけ具体的に指示を出してあげてください。
僕がプログラム周りのことをAIに聞くときは
以下のことに注意しています。
- 最終的に何がしたいかが書いてあるか
- 現状が書いてあるか
- 書いているコードをそのまま読み込ませるのも〇
- 問題点が書いてあるか
どれかが欠けると見当ちがいな答えが返ってきがちです。
3.AIと対話をする
ある程度正しく質問しても
AIが見当ちがいな答えや惜しい答えを返してくるときがあります。
でもあきらめてはいけません。
検索とは違いAIは対話ができます。
新たな情報を入力してあげて正しい答えへ誘導しましょう。
また1つ工夫もできます。
AIは今の情報だけで頑張って答えようとする修正があります。
なので、この1行を追加してください。
『情報にかけている部分があれば聞き返してください』
これだけで、AIが先走りせず、
考えて聞き返して正確な答えを作るようになります。
4.AIの情報を鵜呑みにしない
ここまで「AIを上手く使っていこう」感のある
お話ばかりをしてきました。
ですがAIの情報を鵜呑みにしてはいけません。
AIは平気でウソをつきます。
下記のパターンが多いです。
- 論理的なミス
- セキュリティ上の問題にノータッチ
- SQLインジェクション
- XSS
- 情報が古い(特にライブラリのバージョンが古いはよくある)
一回直面したケースでは普通にtrueとfalseを書き間違えているとかもありました。
なのでAIの生成物は裏をとることを心がけましょう。
動かして確認することはもちろん、
ドキュメントや出典を見るようにするとスマートです。
※ドキュメントへのリンクはAIが教えてくれます。
5.AIの得意・不得意を理解する
僕ら人間にも得意不得意があるようにAIにも得意不得意があります。
AIが得意なことは下記
- 凡庸的なコードの自動生成(Reactコンポーネント等強い)
- 既存のコードの効率化(リファクタリング)
- バグの検出や修正案の提案
AIが苦手なことは下記
- 抽象的な要件の理解
- 既存コードの要件を保持したままの拡張
- 可読性の担保
なのでAIが得意な箇所はAIに投げる。苦手な部分はやらせない。
それを徹底するだけで効率よくAIを使うことができます。
まとめ
AIはプログラム開発を大幅に効率化できる強力なツールとなります。
それが故に、使い方の上手下手やそもそも使える人使えない人等、
格差がどんどん広がっていくでしょう。
格差がまだ小さい今だからこそ、一歩立ち止まる。
そして、使い方や特性を理解して適切に使用して開発効率を上げたいですね。
(おまけ)AIに文章を書かせる
AIは文章も作成できる。
特に情報量では僕らよりも圧倒的に多く、
閃かないときの案だしやひな形作成にも最適です。
僕も日常で記事を作成する機会が多いので頻繁に使用しています。
ただ、やはり「AIが書いた感」が出てしまいます。
そして人の心には刺さらない。
その為、案だしやひな形作成どまりです。
こういう感じにね、、