AI ツールがあってもプログラミングを学ぶ必要がありますか?
AI コーディングアシスタントは多くのコードを生成しますが、プログラミングの理解がまだ重要な理由と、実際に何が変わったのかを説明します。
はい。それが簡潔な答えです。より詳しい答えはさらに興味深いものです。何が変わったのか、何が変わらなかったのかを説明するからです。
AI が実際に置き換えたもの
Copilot、Claude、GPT ベースのツールは、ボイラープレートコードの生成に優れています。CRUD エンドポイント、正規表現パターン、ユニットテストのスケルトン、設定ファイル、そして明確な仕様を理解していない言語で動作するコードに変換する処理です。プログラミングの機械的な部分で実際の時間を節約します。CSV をパースして API に接続する Python スクリプトを書くのに 20 分かかっていましたが、今は 2 分です。
何が置き換わっていないかというと、何を構築するかを決める部分、生成されたコードが微妙に間違っていることに気づく部分、午前 2 時に本番環境で壊れたときに修正する部分です。AI モデルはデータベーススキーマに email の一意制約があり、5 番目のテストケースで IntegrityError をスローすることを知りません。あなたがそれを知っているか、どうやって見つけるか知っている必要があります。
デバッグテスト
コード学習をスキップできるかどうかを確認する実用的な方法があります。AI で生成されたコードをプロジェクトに貼り付けて、実行し、失敗したときに何が起こるかを見てください。スタックトレースが読め、undefined is not a function がなぜ発生したのか理解でき、5 分以内に修正できるなら、あなたはすでに重要なスキルを持っています。エラーをチャットに貼り付けて毎回最善を祈っているなら、時間を節約していません。持っていない判断を外注しているだけです。それが実際のリスクです。
ほとんどの非自明なバグは実行順序、スコープ、非同期タイミング、またはライブラリの内部がエッジケースでどのように動作するかの理解が必要です。AI ツールはこれらを推論するのを助けることができますが、その説明が理にかなっているかどうかを評価できる場合に限ります。その評価はプログラミングの知識です。
実際のレバレッジがある場所
AI コーディングツールから最も多くを得ている人は、初心者ではなく経験のある開発者です。シニアエンジニアはデータベースマイグレーションスクリプトをリクエストでき、ざっと見て、不足しているインデックスを見つけ、3 分で配置できます。同じものをリクエストしている初心者はインデックスが重要であることを知らず、それが不足していることに気づかず、本番データでクエリに 40 秒かかるときに見つかります。
このパターンはドメイン全体で成り立ちます。
- ネットワークでは、AI で提案されたファイアウォールルールが正しくスコープされているかどうかを判断する前に、サブネットマスクが何をするかを知る必要があります。
- セキュリティ作業では、AI で生成されたログインフォームが実際にクエリをパラメータ化しているかどうかを確認する前に、SQL インジェクションを理解する必要があります。
- システムプログラミングでは、AI で生成された Rust または C++ を信頼する前に、メモリ所有権を理解する必要があります。
この記事は AI の支援を受けて執筆し、Korra Studio の Michal Pilch(CISSP)が確認のうえ公開しました。
これは Korra Studio ナレッジベースの 1 つのノートです。プラットフォームはすべてのトピックと 1 対 1 メンタリングをペアで提供します。
無料で始めるarrow_forward