【ゆる募】AIのコード、どこまで理解してから実装していますか…?

こんにちは!

AI使って開発されている方に相談です。

最近ChatGPTなどを使って、AIにコードを書いてもらう機会がとても増えていて、
ふと気になったのですが…… みなさんAIが出してくれたコードを、どこまで理解してから実際に使われていますか?:thinking:

私は正直、よくわかってないまま普通に使ってしまったりしててあまりよくないよな…と自分で思ったりしてます…。

考え方の違いや、環境・影響範囲の規模などにもよって正解はない話だと思う分、他の方のリアルな話を聞いてみたくなりました。参考までによかったら教えてください〜:folded_hands:

(余談ですが、プログラミングを始めたばかりの頃に「魔法の言葉としてコピペ」と理解せず実装していたのも思い出して、AIが書いたコードへの向き合い方について、他の方がどうされているのか聞いてみたくなりました。

お気軽にコメントもらえたら嬉しいです!

また、どんなツールのAIを使っているかも教えてもらえたら嬉しいです!コーディング以外でも。

(私は、ChatGPT、Claude、Cursorを主に使っています)

私の場合はエンジニアなので基本的には概ねみていますが、

どう利用されているか、どういう機能をAIに実装してもらってるか、などグラデーションはありそうですね。
ひとつ、破壊的かどうか?でわけるのはありそうです。

たとえば、ボタンをクリックするとクリップボードに何らかの値をコピーする、くらいのカスタマイズであればあんまり見なくていいと思います
逆に、このボタンをおすと条件に合致したものは削除される、などは見たり、動作確認しないとこわいですね。
外部送信系ですと、セキュリティ的な問題もあるかもしれません。

愚直に考えると、AIに依頼する側が学習していく(AIによって学習コストもさがっている)ほうがいいのでしょうが、
コードレビューツールを駆使する方法もあるかなぁとはおもいます

(それもAIで動作してるので、AIがAIのコードみて本当に品質担保できるのか?はありますが、レビュー特化であればある程度担保されると判断して利用するのも…

「いいね!」 2

私の場合は、どこまで見るかは AI に頼る目的によって分けてますね。

例えば、 Windows のバッチで高度なことをやりたくて (コマンド分からんので) 一式組んでもらうときや、検証のためにサクッとモックを作りたいときには、そこまで中身を読み込まずにとりあえず実行しちゃいますね。
一通りやばそうなコードが含まれてないかは空見しますが、動きが担保できてればいいや、という感じです。動かしている最中で意味は分かってくることもありますし。

逆に自分が組んでいるプログラムに混ぜ込みたい、今後も保守していかないといけない、ということであれば1行1行読みますね。 AI に解説させることもありますが、基本は関数/命令単位で意味を確認して、使っているライブラリや言語のリファレンスを調べて何やってるか理解します。じゃないと、品質を保てないなと思っているので (AI の進化でこの辺りは今後変わるかもしれません) 。

人間側にある程度プログラミングへの知識や理解が無いと、 AI が出してきたコードを細かく評価するのは難しいと思います。「これはやっちゃダメ」「この動きをしたら危ない」というような、エラーパターンをちゃんと意識していれば、出てきたコードをそのまま使うのは別にアリなんじゃないかな?と思います。

ちなみにツールの話で行けば、私は M365 Copilot に頼むことが多いですね。 VSCode で GitHub Copilot が使えるので、コード補完とか空気読んだ新クラスとかは VSCode 上で生成しますが、正直書き直すことが多いので特段便利か?と言われるとうーん。普段プログラミング以外でも活用している M365 Copilot のほうが使い慣れてるので、なんか自然とそっち使っちゃうんですよね……。

「いいね!」 1

コメントありがとうございます!!

なるほどです。

削除など重大なトラブルにつながるものや、外部送信系でセキュリティ的な懸念があるものは慎重にみるというのはとても納得でした。

リスクがある事を依頼しているかを判断する能力が人間側には求められそうですね。

コードレビューをAIに頼むという方法もあるんですね!元々、人間も完璧じゃないからバグを出す時は出すし、、、AIがコード書いてレビューして仮にバグがあってもそれって人がやったときと変わらないじゃないかって考え方もあるなぁと読んでて思いました。

コメントありがとうございます!!

そうですよね、動いてOKだけだったらあまり気にしなくていいですけど、保守運用が必要かによって変わってきますよね。

これがもしkintoneカスタマイズである程度共通ルール化されたら便利だったりするのかもと思いました。有識者が意識して見る部分をAIに学習させることができたら、プログラミングの知識がなくても専門家が側についてくれてる感じになるのかな…と妄想でした。

「いいね!」 1