@qre16

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

AIに頼りすぎない方法を知りたい

解決したいこと

AI頼りでプログラミングをしてしまいます。コードを読むことはできるが、0からコードを書く場合は基本的にAIに書かせたものを採用しています。

Xを見ていると「AIが出すコードは品質が低い」、「再出力すると全く違うコードが出てくるし、プロンプトが長いと条件を無視したコードを生成するから信用できない」といった意見がありました。

生成するコードが想定通りに動くことは確認できますが、品質やアルゴリズム面での効率、可読性、セキュリティなどにおいてベストプラクティスなものを採用できているのか自信はありません。

また、自分の知らない技術を勉強するときにAIにコードを書かせて解説させて学んでいます。

自力でコードを書き、コーディング能力を磨くべきでしょうか。皆様はどうなさっているのでしょうか。

参考

CLAUDE CLIやGeminiを使っています。

0 likes

何のためにプログラミングしていますか?

仕事であれば普通はレビューがあったりコーディング規約があるかと思いますので、そこで一定の品質は担保されるのではないでしょうか?
趣味であれば好きなようにすれば良いと思います。

仕事の場合、私が気になったのはライセンスと情報のリークです。AIの出力コードの著作権がどうなっているのかよく調べた上で仕事に使用しないといけないと思います。また業務上の秘密はAI入力に使用しないなど注意が必要です。

2Like
This answer has been deleted for violation of our Terms of Service.

闇雲にコードを書いても分からないと思います。
デザインパターンやクリーンアーキテクチャ、リーダブルコード等の本を読んだ上でAIを使いながら読みやすいコードを模索するのがいいと思います。

2Like

結論としてはわかりません

現在においてベテランの人は初心者のときに気軽に利用できる大規模言語モデルは存在しませんでしたし、数年前と今でも AI の品質はまるで違います。 つまり今の環境で上手くいった人はまだいないのです。 状況はどんどん変わっていき、古い時代の成功体験はあてになりません。

ベストプラクティスは確立していないという前提であくまで個人的意見であると前置きして述べるならば、信頼できる教材を元に学習しつつ補足的に AI と相談するというくらいの使い方が良いのではないかと思います。

用語や前提がおかしい質問をすると回答もおかしくなりがちです。 質問のどこがおかしいのかという詳細に踏み込んで解説してくれるほど AI は充分に賢くなく、適切な回答を引き出すには適切な質問が必要です。 指示に従って要約や調査をしてくれる少し馬鹿なパートナーとして AI を使うことは出来ても、教師として信頼できるほどではないと私は考えます。

それと人間の知識の定着には出力が重要であることが知られています。 同じ入力を何度もするよりも出力するときに知識の定着が強化されるのです。 単に書き写すだけの作業 (いわゆる写経) や朗読を軽く見る人が多いのですが、実際には絶大な効果があります。 資料を書き写すだけでもいいので自分で書くことはやったほうが良いでしょう。

3Like

@qre16 さんのプログラミング歴がわからないので、何パターンかの回答をしたいと思います。
【初学者】
まずは自力で全て書く経験を重視しつつ、技術書で基礎概念(構文・データ構造・設計の考え方)を体系的に理解する。
この際、呪文で書くコードがなくなってきたら中級者に移って良いと思います。
また、 @qre16 さんも実施してるように、AIを「丸写し」するのではなく「解説付きサンプル」として使うのが良いと思います。

【中級者】
設計や方針は自分で決め、実装補助としてAIを活用する。
ベストプラクティスは技術書や公式ドキュメントなどで学習し、AIの出力をレビューする力を鍛えていくのがいいと思います。

【ベテラン】
AIを前提に生産性を最大化しつつ、品質・セキュリティ・将来の保守性を最終判断する役割に集中する。

2Like

個人的な趣味程度のモノを作っていて、現状に不満などを感じてないなら好きにしたら良いかと思います。

ただ対価をもらって行っている、これからそのような職に就きたいと考えてるならAIにコードを書かせるスタイルは控えるべきかと思います。
私たちからするとあれは補助的なツールですが、全く使わないというわけではありません。
そして平然と嘘を付かれますし、それを見抜けない現状も問題です。

これはあなたも理解していることだとは思いますが、AIの利用を禁止された組織でコードの修正を依頼されたら詰むのはあなたです。

今も昔も基本的なことは変わらず、書籍や専門学校、或いはまとまった情報のあるウェブサイトで学習するものです。
専門知識があって、それらを理解し使いこなしてこそエンジニアと呼べるのです。もちろんその枠の中にAIは含まれますが、それが主体になるのはほぼ特殊なケースだけです。

2Like

既に結論出ているようですが、遅ればせながら。

自力でコードを書き、コーディング能力を磨くべきでしょうか。

コーディング能力を高めたいなら「Yes」です。

昔から、コードやアルゴリズムは色々と公開されてて、書籍を始めとする解説なども手に入りました。AIを使って解説してもらったとしても、昔からの学習法と大きく変わっていません。

経験則から言えば、
・他人の書いたソースを読むだけではコーディング能力は上がらない
ですね。

他人の考えたノウハウ(アルゴリズムなど含む)を知識として覚えるのは大事ですが、実装経験がなければ、そのノウハウを理解して活用することは難しいでしょう。


今後はAIに依存するというなら、コーディング能力はある程度もっていれば大丈夫でしょう。

AIはここ数年でものすごく発展しています。
現在のコーディング能力に関しては「まだまだ使えない」という状態ですが、数年経てば「使えるコード」を出す存在になりえます。

設計・実装・評価くらいなら、AIで自動化できる範囲だと考えられます。
将来は、動作確認・品質チェックまで終わったコードを出力してくれるようになるはずです。

なお、大手の企業では、既にコーディングをAIに任せることを視野に入れた取り組みも始まっています。

1Like

私は情報系の大学4年生で来年からエンジニアとして就職する予定です。将来への漠然とした不安を感じて質問をしました。

「情報系の大学」と一言でいっても色々あるので分かりませんが、一から自分でコードを書いたことがなくても卒業できてエンジニア(こちらも色々ありますが)として就職できるならあなたにとってコードを自力で書けることは必須ではないのでしょう。
コーディング試験でもAI利用OKのところもあるようですし、AIを上手に使用するスキルは評価されると思います。

AIに書かせたコードを自分だけで書いたと偽っていない限り不安を感じなくても良いかと思います。

1Like

すでにクローズしているスレッドに対する今更ながらのレスですみませんが、他の方の意見の中にはなかったので私の提案を一言・・・

AIに頼りすぎない方法を知りたい

現状でどのように頼っているのか不明ですが、生成 AI に 100% 依存してコードを書いてもらっているということでしたら、下の Google Cloud の記事に書いてある「責任ある AI を活用した開発」という形を検討されてはいかがでしょう?

そこに書いてあるように、AI に 100% 依存するのではなく、AI に「ペアプログラマー」としての役割を担ってもらい、質問者さんが AI をガイドし、AI が生成したコードをレビュー、テスト、理解し、最終的な製品にするという形です。

1Like

Your answer might help someone💌