キャリア
コーディングの専門知識はAIへの依存から崩壊する
Coding expertise is going to collapse from AI reliance (larsfaye.com)
要約
AIコーディングアシスタントへの過度な依存は、開発者のスキル形成に必要な「摩擦」を排除し、長期的な専門知識の習得を妨げるという懸念が示されています。特に経験の浅い開発者は、AIの助けを借りることで表面的な理解に留まり、問題解決能力や「開発者としての直感」が育たない可能性があります。AIを効果的に活用するには、経験豊富な開発者のように、AIの提案を批判的に評価し、自身の知識と照らし合わせる能力が不可欠です。
全文翻訳
AI コーディングは専門知識を妨げる
長期的なスキル形成における継続的な摩擦の必要性。
「私たちは、知性が電気や水のようなユーティリティになる未来を見ており、人々はそれをメーターで私たちから購入し、好きなように使用するでしょう」 - Sam Altman of OpenAI
以前の記事「Agentic Coding is a Trap」では、「熟練したオーケストレーターのパラドックス」について論じました。これは、AIエージェントをコーディングのために管理するために必要なスキルが、それらの AI エージェントを継続的に使用することによって低下する可能性があるスキルと同じであるというものです。専門知識は主に差別化要因でした。開発者が経験豊富であるほど、知識が長年の経験を経て固化する機会があったため、スキルの低下を経験する可能性は低くなります。
今、周りを見渡せば、これらのモデルから最も恩恵を受けている人々の大多数は、この分野で何年、あるいは何十年もの経験(もちろん AI ツール以前のもの)を持っている人々であることがわかります。そして、業界のベテランなら誰でも同じことを言うでしょう。この知識の基盤は、仕事をしてきたことから来ています。
LLM が登場した頃にこの分野に入った開発者は、長年の経験の恩恵を受けることができない立場に置かれていますが、コーディングアシスタントを使用して努力を加速するように(時には義務付けられて)導かれています。これらのアシスタントは、効果的かつ責任を持って使いこなすためには、専門知識の歴史が必要です。
この人口統計にとって、それは奇妙な状況を生み出します。なぜなら、初心者はツールを効果的に活用し、業界でペースを維持するために専門家レベルのスキルを必要とするシナリオが生まれるからです。
「エキスパート・ルーキー」
現在、業界全体に非常に矛盾したメッセージを送っています。AI ツールを使用していないと、それらを使用している同僚に「遅れをとる」と強く主張しています。「AI はあなたを置き換えない、AI を使用している誰かがあなたを置き換える」ということは、2023 年から繰り返し言われています。
そして同時に、これらのモデルから最良の結果を得る方法は、高次の思考を適用することだとも言われています。「バイブコーディング」は行き止まりです。あなたは「スタックを上に移動」して堅牢な仕様を作成し、良いデザインパターンでアーキテクトし、理解していないものを決して出荷しないように、常に結果を注意深くレビューする必要があります。
しかし、そうするためのスキルは、長年にわたって「良い味」につながる摩擦と課題を経験した人の関数です。
これは別の状況的パラドックスにつながります。これらのツールが専門知識を要求するのに、ツールは専門知識を育成する摩擦を積極的に回避できるとしたら、専門家になってツールを効果的に使用するにはどうすればよいのでしょうか?
理解のない自信
1つの希望は、コード生成にこれらのモデルが使用されることで学習が加速されるということです。ジュニア開発者は、業界のベテランと同じような威厳と自信を持って、「パーソナル AI チューター」を持つことができます。構文を覚えることはますます重要ではなくなり、知識や曖昧なギャップは AI ツールによって埋められます。コードのより深いメカニズムは抽象化されたままです。なぜなら、開発者はスタックの上位に位置しているからです。
開発者ツールの大手である JetBrains は最近、ジュニアおよび初心者開発者を対象に、ライブコーディングセッションでの個々の行動を painstaking に分析し、さまざまなレベルの支援で AI ツールを使用してコーディングを学習する能力をテストする研究を完了しました。彼らの主な結論は、 stark で直感に反するものでした:
「参加者は、パーソナルチューターのようなものだと思っていました。私たちの研究のデータから...彼らは実際には GenAI ツールをパーソナルチューターのように使用していないことを観察しました。実際、それは全く逆でした。」
より重い AI アシスタンスに頼った参加者:
「彼らはこの状況に自分で考えたわけではないため、Copilot があったので、しばしば重要な計画段階をスキップしました。」
「真の理解ではなく、『能力の幻想』で終わりました。」
対照的に、AI の使用を軽減した参加者:
「『GenAI の不正確または役に立たない提案を無視する能力』という『ネガティブな専門知識』を開発したため、成功しました。これにより、彼らは AI に導かれるのではなく、自分でソリューションを書くことに集中できました。」
「彼らは GenAI を加速に使用でき、すでに作成しようとしていたコードを作成しました。」
最も制限がなく、AI 使用に自信があった初心者開発者は、「プログラミング問題解決プロセスの重要なステップをスキップしており、迷子になっていました。」
おそらく驚くことではありませんが、最もパフォーマンスが高かった初心者開発者は、AI コーディングアシスタンスを大幅に軽減したか、完全に無視した開発者でした。
Inverted Learning
LLM の自己指示的な性質により、経験が豊富であるほど、正確に誘導、監査、検証できるため、より多くのメリットが得られます。知識が少ないほど、誤解される可能性が高くなります。新しいスキルを学習するために LLM と対話することは、「逆学習」モデルの形をとります。これは、学生が最初にメンターを誘導し、メンターが応答し、その後学生が再びメンターを誘導するという役割の逆転です。
このプロセスは危険です。LLM はプロンプトの形状に非常に敏感です。新しいドメインを探索しているとき、あなたは自分が何を知らないかを知りません。LLM の柔軟で順応性の高い設計により、実際よりも多くを知っていると思い込ませることができます。
ある程度不慣れな領域を探索している場合、モデルに最良の回答を提供するように適切に誘導するために必要な質問さえわからないことがよくあります。それは、あなたが北だと提案する場所ならどこでも常に北を指すコンパスのように感じ始めます。
同じ JetBrains の研究から、最も準備ができていた学生でさえ、このタイプの学習モデルのために AI アシスタンスによって脱線しました。ある参加者は、良好な基本的な計画と習慣を示しましたが、「重要な問題解決計画段階をスキップし、直接コーディングにジャンプし、Copilot によってすぐにコードが生成された」と突然なり、AI が最初に導入したエラーを修正するために LLM に頼らなければなりませんでした。
AI モデルには、判断力、共感、教育的意図が欠けており、提供されるソリューションは経験に基づいているのではなく、トレーニングデータのパターンに基づいています(LLM は、その核となる部分では、信じられないほど複雑なパターン補間器です)。
無限の回答マシンは魅力的であり、中毒性があることが知られています。特に経験の少ない開発者にとっては、すぐに巻き戻される可能性があります。生成されたソリューションに深く入り込むと、問題解決の摩擦(そして公平を期すために、シニア開発者もこの現象にかかりやすいです)を回避して、仕事を完了するために AI ツールに依存することがよくあります。
摩擦は機能です
専門知識と習熟は、観察と対話だけでは起こりません。経験、繰り返し、試行錯誤を通じて起こります。成功するためには失敗しなければなりません。もし私が料理を学びたいとしたら、マスターシェフの仕事を見て、無限に質問をすることができます。1か月後、完璧なミディアムレアのリブアイを説明することはできても、それを調理した経験はなく、最初の試みでほぼ間違いなく焼きすぎます。
コーディングには、ログファイルなしで不明瞭なエラーをトレースしたり、特定のメソッドの微妙なパフォーマンスの違いを経験したり、スケーリングしないことが明らかになったときにアプローチを書き直したりする無限の瞬間があります。
この適用された摩擦は、まさに「開発者の直感」(または「味」)を構築するものです。ドイツ語にはこれにぴったりの言葉があります:Fingerspitzengefühl(指先の感覚)。これは、開発者が何かを見て、「うん…これは問題を引き起こしそうだ」と思うときにトリガーされる筋肉の記憶です。格闘のメカニズムを回避することで、この直感は決して構築されません。
UPenn の大規模な 2025 年の研究「Generative AI without guardrails can harm learning」では、1,000 人の学生が LLM を使用して数学を学習するのを追跡し、学生は AI を松葉杖として使用し、教科書のみの学生よりも 17% パフォーマンスが低下したことがわかりました(JetBrains の研究と同様に、AI アシスタンスを使用した学生は...