“Soon, the most valuable skill won’t be coding — it will be communicating with AI.”
![]()
Andrej Karpathy(AI researcher, ex‑Tesla & OpenAI)*
最近、これまで独学で少しずつ触れてきたコーディングに加えて、
AIを活用した開発を本格的に取り入れ始めました。
まだ日が浅いものの、AIの提案を参考にしながらコードを組み立て、
それが実際に動いて機能として形になるのを見ると、これまでとはまた違った新鮮さがあります。
一方で、戸惑う場面も少なくありません。
というのも、いまの私は最初の一手をAIに任せることが増えており、
まずAIに下書きを作ってもらい、それを自分で調整していく流れが自然と身についてきたからです。
ふとした瞬間に、
「もし明日AIツールが使えなくなったら、私はどこまで自力で書けるのだろう?」
「これは本当に“自分が作った”と言えるのだろうか?」
といった疑問が頭をよぎることがあります。
とはいえ、この感覚はおそらく、
AIを使った開発を始めたばかりの人なら、多くが一度は抱くものだろうとも感じています。
私はこれを弱さではなく、新しい開発スタイルに踏み込んだことで生まれた自然な戸惑いとして受け止めるようにしています。
私が感じたこと
![]()
① AIは“脅威”というより、私の視界を広げる「増幅装置」だ
AIが書いた初稿を眺めていると、自分だけでは思いつかなかった構成や、試したことのないライブラリの使い方に出会うことがあります。私の不足を暴く存在であるのと同時に、私の可能性を押し広げる存在でもあるのだと実感します。
ただし、それは「すべて任せればいい」という意味ではありません。AIが示してくれるのは、多くの場合、“平均的に妥当な”出発点です。そこからどの程度の品質に仕上げるか、どの制約を優先するか、どんなトレードオフを受け入れるかは、やっぱり私が決めなければいけません。
② 「正しく疑う目」を持つほど、AIは心強い相棒になる
AIが生成したコードは “答え”ではなく“仮説”として扱う。これは、最近の自分の合言葉です。動いて見えるものほど危ないときもあるし、セキュリティや性能、保守性の観点で穴が残っていることもあります。
テストを書き、挙動を観察し、仮説を壊す。そのサイクルを回すほど、AIはよりよい出発点をくれるようになります。任せるのではなく、いっしょに検証していく。そんな距離感が、私には心地よいとわかってきました。
③ 文脈と目的を握っているのは、やっぱり人間だ
同じログイン機能でも、プロダクトによって「一番大事なこと」は違います。速度か、堅牢性か、UXなのか——判断基準を握っているのは常に人間です。AIは提案してくれますが、それがこの文脈における「最適」かどうかは、私が決めるしかありません。
これから、私がやっていくこと
![]()
① AIの出力は「初稿」。仕上げは自分で
まずAIに骨格を作ってもらい、その後で変数名・責務・例外処理・境界値を自分の基準で整えます。少し手を入れるだけでも理解が深まることを実感しています。
② 基本の学習は続ける
アルゴリズム、データ構造、ネットワーク、DB、テスト。派手ではありませんが、判断の根拠になるのは常にここだと感じています。必要になる前に、定期的に触れておきたいと思っています.
③ ドメインの理解を優先する
「この機能は何のためか」「失敗すると何が問題か」。業務ドメインの文脈を理解した上で作るようにします。AIへの指示もドメインの言葉を使うことで、回答の精度が上がると感じています。
④ 自分なりの“AI使用スタイル”を育てる
どこまでAIに任せて、どこから自分が介入するのか。後の修正を楽にする指示の出し方は何か。試行錯誤しながら自分に合ったAIとの距離感を作っていこうと思います。
おわりに
![]()
AIが普及してから、私は「便利さ」と「戸惑い」を行き来しながらコーディングを続けています。それでも今は、AIをうまく使うことでより多くを学び、より早く試せる環境にいると感じています。明日、また不安になることがあるかもしれません。それでも、そうした揺れを受け止めながら、自分のペースで続けていきたいと思っています。
同じ戸惑いを抱える方へ。この記事が少しでも助けになればうれしいです ![]()