30 ポイント 投稿者 GN⁺ 2025-04-04 | 16件のコメント | WhatsAppで共有
  • 初めてAIコードツールを使ったとき、その驚きと効率性に感嘆した
  • 特にC++のコンパイルエラー分析に役立ち、まるで魔法のように感じられた
  • GitHub CopilotやさまざまなLLMベースのエディタ統合ツールを使ううちに、開発ワークフローの一部になっていった
  • しかし2024年末には、コードエディタからすべてのLLM統合機能を削除した
  • 今でもAIを時々使うが、主要なワークフローには組み込んでいない

Tesla FSDとの似た体験

  • 2019〜2021年のあいだTesla車に乗っており、FSDを頻繁に使っていた
  • 高速道路でFSDを使ううちに、運転への集中力が徐々に低下していった
  • FSDへの依存によって、自分で運転する能力が弱まった
  • 再び普通の車を運転したとき、集中力を取り戻すのに時間がかかった

AIコードエディタの使用体験

  • AIツールを使うほど作業速度は上がったが、基礎的な実力は弱くなった
  • サイドプロジェクトではAIツールを使えず不便さを感じ、自信も落ちた
  • 関数定義やテストコード作成などの基本的な作業で難しさを感じた
  • AIに依存するうちに、実装上の判断を自分で下す自信がなくなった
  • 結局、複雑な作業では自分の実力不足を実感するようになった

直感的感覚の喪失

  • ドイツ語の「Fingerspitzengefühl」は、熟練者が持つ直感的な判断力を意味する
  • コードを書くうえでも、言語やフレームワークに慣れるほど身についていく感覚だ
  • ポインタの使い方、標準ライブラリの選択、assertの使用など、細かな技術的選択でこの感覚は重要になる
  • AIツールはこの感覚を弱める
  • コードの品質や保守性を考えると、人間の直感は非常に重要だ

AIツールがなくてもできる開発

  • AIツールがなければ仕事ができなくなるという恐れは誇張されている
  • 実際にはAIは大規模プロジェクトやレガシーシステムではそれほど有用ではない
  • 社内ツール、フレームワーク、内部DSLを使うプロジェクトでは、LLMは役に立たない
  • セキュリティ関連コード(JWT、RBACなど)をAIに任せてはいけない
  • セキュリティは自分で理解し、責任を負うべき領域だ
  • AIがコード作成からPRレビュー、デプロイまで担うなら、セキュリティ問題は急増するだろう

AI利用の基準点を設ける

  • AIは有用だが、エディタに統合して使うやり方は避けている
  • 自分でコンテキストを入力し、必要なコードだけを受け取って手動で適用する
  • 例: テスト変換、SIMD計算変換、圧縮データのデコードなど
  • このやり方ならコードへの責任感を持てて、コストも抑えられる
  • 学習用途でAIを使うのは有益だ。アセンブリコード、シェーダー、ネットワークコードなどの説明を求めるときには特に役立つ
  • 個人ブログではAI生成コンテンツを使わず、人間の創作物を好んでいる

好きなことを続ける

  • 効率や生産性だけでなく、「好きなこと」を続けることも重要だ
  • チェスのように、AIが勝てるようになっても人々が楽しみ続ける活動と同じく、プログラミングも楽しみとして続けられる
  • 単により上手くやることではなく、自分が楽しめるからこそプログラミングを続けることが大切だ

新人開発者への助言

  • AIに依存する「永遠のジュニア」になってはいけない
  • 自分でコードを書く力を伸ばし、システムの原理を深く理解すること
  • 裏側で動く仕組みを学びながら実力を積み上げることが重要だ
  • AIはあくまでツールであり、それ自体が完全な解決策ではない
  • ときにはAIなしで働く練習も必要だ
  • 「バイブコーディング」だけでは実力ある開発者にはなれない
  • AIなしでコーディングできないなら、それは本当のコーディングではない

結論

  • AIはスピードのために知識を犠牲にする行為だ
  • ときにはこのトレードオフに価値があるが、基礎訓練は必須だ
  • 実力ある開発者は基礎を繰り返し練習する
  • AIが職業を代替するにはまだ遠く、企業にはFOMOをあおって投資を呼び込もうとする意図が大きい
  • AIはツールにすぎず、思考の代替物ではない
  • 常に好奇心を保ち、学び続けることが重要だ

16件のコメント

 
supermaxi 2025-04-28

コンピュータが発明されて以来、実力のある開発者の基礎力というものは変わっていないのではありませんか?

 
space0403 2025-04-05

私もコーディングテストの準備をしながら、ただ習慣的に Cursor を使っていたら、タイピングより Tab を押すほうが多くて……(笑) そんなわけで、穏やかな気持ちでまた戻りました。

 
ahwjdekf 2025-04-05

AIツールを作る人たちも、この問題はみんな分かっていると思う。ただ口にしないだけだ。

 
potatium 2025-04-05

AIに無思考に依存してしまうと、アーキテクチャも分からずコードを1行も書けないのに、部下に仕事を振るだけでコードに内在するリスクも分からず、問題が起きても解決方法を見つけられない無能な管理者と、概念的にはまったく同じになってしまうのかもしれません。使う道具が人間の知能から人工知能に変わるだけで。

 
aqqnucs 2025-04-04

面倒な力仕事のようなコーディングには、これ以上ないほど役立つのに……

 
dbs0829 2025-04-04

私もおおむね共感します。まだしばらくは、ああいう感覚が必要な領域があると思いますし、認識できていることとできていないことの差はかなり大きいと思います。ツールとして使うのはよいとしても、十分に認識したうえで使うべきだと思います。

 
dudghks5722 2025-04-04

AIコードエディタの使用経験、直感的な感覚の喪失、新人開発者に伝えたい助言――この3点にとても共感します。

 
reagea0 2025-04-04

コンピュータも使うなってことか、何のために…。

 
plumpmath 2025-04-06

ははは、同感です。

 
plumpmath 2025-04-06

ははははははははは

 
ifmkl 2025-04-04

25年版のキム代理、ファンクションを使わないでくださ…でしょうか ハ

 
dbs0829 2025-04-04

文面を見る限り、単純作業に使うなと言っているわけではなく、思考をAIに委ねるなという意味に見えます。

 
hhkkkk 2025-04-04

笑 +1です

 
tujuc 2025-04-04

だんだんと……意図的な訓練が必要な状況が増えてきますね…… :)

 
kandk 2025-04-04

???: "puttyとviを使い続けてください"

 
GN⁺ 2025-04-04
Hacker Newsの意見
  • 技術には2種類あると考えている: 独立した技術と基礎的な技術

    • 歴史的に見て、多くの独立した技術は失われたり獲得されたりしてきた
    • 論理、推論、演説能力と、基礎的な機械および工学原理への理解は、古代ギリシャや18世紀フランスでも有用だったはず
    • AIはプログラミングにおける独立した技術に使うのに適している
    • プロジェクトの基礎アーキテクチャをAIに任せると、基礎的な問題解決力やソフトウェア設計力が弱まる可能性がある
    • AIは独立した技術には有用だが、基礎的な技術にはまだ不十分
    • AIベースのコードエディタは、長期的なスキル低下のリスクなしに有用である
  • 今ではCursorのような編集レベルのAIツールは使わず、インラインのテキスト補完やチャットで問題を解決している

    • AIに依存しすぎると、脳が衰えるように感じる
    • 将来は、AIに過度に依存する人とそうでない人の間の格差がさらに広がるだろう
  • コーディングの大半は手作業で行うが、LLMを意味検索に使って調査を充実させている

    • LLMにファイル全体を書かせることはしない
    • AIツール市場についての良い引用がある: 多くの企業が販売戦略としてFOMOを使っている
  • コード補完は無効化している。提案を読むこと自体が精神的負担になる

    • 必要なときだけチャットを使う
  • Nicholas Carrの本は、自動化に依存するほどスキルが劣化するという力学について説明している

    • Copilotをオフにし、チャットの使用も減らした
    • 2つの理由でそう決めた: スキルが悪化し、コーディングが楽しくなくなるから
    • 自分で考えるのが好きで、スキル向上を楽しんでいる
    • 再び一人でコーディングするのは遅いが、より楽しい経験だ
  • 「すべての開発者がAssemblyを学ぶべき理由」のような記事に似ている

    • AIのコーディング能力は向上し、市場投入には十分な90%のソリューションを提供するだろう
    • 最適化されていなかったり、完全に安全ではなかったりするかもしれないが、ほとんどの実際のソフトウェアプロジェクトと大きくは変わらない
  • Riderに付属する行補完AIだけを使っている

    • 従来のコード補完に少しスマートさを加えた、合理的な組み合わせだ
  • AIツールは生活をより便利にする

    • マニュアル車も運転できるが、オートマチック車のほうが便利だ
    • プログラミングでも、実際の問題に集中したい
    • 技術は生活をより便利にするために存在する
  • スキルの喪失は双方向に作用する

    • LLMを効果的に使う初期スキルを取り逃す可能性がある
    • LLMがプログラミング言語を変える可能性がある
  • 特定の問題を探すときはGoogle検索の代わりに使う

    • AIの結果は長すぎて冗長なのでGoogleを好むが、Googleもだんだん役に立たなくなっている