世界を動かす技術を、日本語で。

AIは既存の技術スキルに対して倍増効果をもたらす

概要

  • AI の進化によるプログラミング業界の変化について解説
  • AIツール の本質的な役割と人間開発者の価値を考察
  • 熟練開発者 がAIを活用することで得られる生産性向上の事例紹介
  • AI と初学者のギャップや、AIを道具として捉える重要性を強調
  • 新しい アニメーション講座 や学習環境の案内を含む内容

AI時代におけるプログラミングスキルの価値

  • AIモデル の進化により、多様なプログラミングタスクの自動化が可能な現状

  • 完璧ではない ものの、多くのケースで「十分に使える」レベルに到達

  • 倫理・環境・安全面の課題は残るものの、現実として受け入れる必要性

  • AIの進化=人間開発者不要 という結論は誤りとの指摘

  • 実際には、 高度な専門知識を持つ技術者 がAIで成果を最大化する事例が多い

    • 例: Matt Perry (Motion、Popmotionなどの著者)がAI活用で劇的な生産性向上を実現
    • Motionリファクタリング や大量のIssue解決を短期間で達成
  • LLM(大規模言語モデル) は、初心者や経験の浅いユーザーには十分な成果を出せない場合が多い

  • AIは道具 であり、使い手のスキルが成果を左右

  • Jimi HendrixのギターGordon Ramseyのキッチン の例えで、道具よりも使い手の重要性を強調

  • AIを擬人化 しすぎると、実際以上に能力を過大評価しやすい傾向

  • Iron Manのスーツ のように、AIは優れた使い手によって真価を発揮

  • AIツールの成果=熟練者のスキル×AIの力 という理解が重要

AIと学習・キャリア形成

  • AI活用 で技術力がさらに重要になる現実
  • Web開発の知識 が深いほど、AIを最大限に活かせる
  • AIは既存スキルを増幅 するものという視点
  • 初心者がAIだけで高度な成果を出すのは困難
  • 学ぶことの意義 はAI時代でも変わらない

Whimsical Animations講座の紹介

  • Whimsical Animations という新コースの開講案内
  • 20年のWeb開発経験とアニメーション技術の集大成
  • ゲーム開発の概念(リニア補間、Simplexノイズ、デルタタイム等)をWeb向けに応用
  • ChatGPTなどのAIツール で学習が容易になったが、「質問力」が必要
  • コースでは 厳選カリキュラム で新技術を体系的に習得可能
  • 演習やコードスニペット をローカル環境で実行できる独自プラットフォーム
  • ローンチセール中 で登録受付中

AI時代のキャリアへの考え方

  • AIの未来 や自身のキャリアへの不安は自然な感情
  • AIツールの本質 を理解し、使いこなす力が今後ますます重要
  • 読者へのフィードバック依頼 もあり、双方向の意見交換を歓迎

Hackerたちの意見

「AIツールはアイアンマンのスーツに似てると思う。すごいことができるけど、自分だけじゃ無理。」アイアンマン3を観るべきだね…

それか「アベンジャーズ/エイジ・オブ・ウルトロン」。

AIツールはアイアンマンのスーツに似てると思う。GitHubに63600スターの面白いリポジトリがあるよ(1)。そのリポジトリの開発者はGitHubのトレンド貢献者リストで1位(2)。でも、アプリケーションは説明されている通りではないみたい(3)。開発者たちも、これは本物かどうかをはっきり答えられないみたいで、ただのごちゃごちゃしたLLMの出力なんだ。スーツだけじゃ誰もアイアンマンにはなれないって証明だね。1. https://github.com/ruvnet/RuView 2. https://github.com/trending/developers?since=weekly 3. https://github.com/deletexiumu/wifi-densepose

全体的に気持ち悪い。ruvnetには複数のプロジェクトがあって、ただのAIがたくさんある。GHのインフラが溢れてる理由がなんとなく分かるよ。

三つのAIシステム(Claude、Codex/GPT-5.2、Gemini)による徹底的な独立コード監査とクロス検証の結果、このプロジェクトは機能しない外観に過ぎないことが確認されました。つまり、AIによって作られた非機能的なプロジェクトがあり、AIがその非機能性を証明するために使われているってこと。なんて勇気ある新しい世界なんだ。

スーツだけでは誰もアイアンマンにはなれないって証明だね。アイアンマンのコミックや映画でのテーマだと思う。

先週、アイアンマンみたいな瞬間があったんだ。「バイブコーディング」って感じで、UIデザインを他の画面でコンポーネントテストしながらやってた。要素の強調を減らしたり、レイアウトのオプションを探ったり、動かしてみたりしてたんだ。ループはほぼリアルタイムで、すごく良い感じだった。生成されたコードはひどかったけどね。知らない人が出荷するようなゴミみたいなもので、見た目は良くて動いたけど、すぐにメンテナンスの行き止まりになった。でも、自分じゃできなかったデザインに楽にたどり着けたんだ(デザイナーじゃないからね)。それから、参考デザインを手に入れて、いいコードで手動で実装したよ(こっちが得意な部分)。

同じ気持ちだけど、私が一番悩むのはこれだね。「これを維持する人たちがAIを使ってこのメンテナンスの悪夢を直すだけなら、意味あるの?」って。

脱線だけど、みんなが「プロフェッショナル」や「きれい」と思うようなウェブサイトの作り方を学んだことがないんだ。機能的で使いやすいウェブアプリは作れるけど、見た目が良いと思われるものは作れなかった。LLMがそれを簡単にしてくれたよ。パフォーマンスのオーバーヘッドもなく、HTML/CSS/ターゲットJSでもできるし。

でも、自分ではできなかったデザインにスムーズにたどり着けたよ(デザイナーじゃないから)。私もデザイナーじゃないけど、デザイナーと長いこと一緒にいるから、悪いものは分かるけど、どう改善すればいいかは分からないんだよね。ちゃんとデザインされたサイトを探して、手動でHTML/CSSをコーディングして、今ではCSSがかなり得意になったと思ってる。ライブラリやフレームワークは必要ないし、私のCSS/HTMLはそれらのフレームワークよりもずっと軽いよ。自分をデザイナーとは呼べないけど、ページはエンジニアが作ったんじゃなくて、まあまあのデザイナーが作ったみたいに見えるかな :shrug:

生成されたコードはひどかった。知らない人が出荷するようなゴミみたいなもので、見た目は良かったし、動いてた。でも、すぐにメンテナンスの行き止まりになった。先日Tailwindのスレッドで、「多くのフレームワークの意図された体験は『書き込み専用コード』だ」と明言されたから、これが未来の流れなのかもしれないね。どう繋がってるかは気にしないで、動けばそれでいいし、動かなくなったらAIに直させればいい。なんか解放感があるよね。これを受け入れるAIのニルヴァーナにはまだ達してないかもしれないけど、その瞬間は近いと思う。

これがどれだけ勢いによるものなのか気になる。今のところ、基本的な技術は理解してるし、DIYもできるけど、どこかに理解できるコードがあって、それを掃除しに行くのは嫌だって分かってるから、やらないんだよね。どう「あるべきか」の大体の形は分かってるから、早い反復を受け入れて、自動化されたフレームワークをそれに向けて導くことができる。特に自分のプロジェクトや元々作ったものに関してはね!スタークやアイアンマンは知識を持って動いて、スーツが勢いを加えてた。私たちは「知識の勢い」に乗ってるんだ。企業が十分に持ちこたえられれば、その知識は完全に消えて、ツールだけが残る。その時点で、彼らはロックインされる。そうなると、アイアンマンじゃなくてアイアンラングだね(やっぱり言いたかった!)

私もそのモデルにたどり着いたよ: - まず、システムのアーキテクチャがどうあるべきかのスキルを作った - LLMにガイドラインに従うように言う;100%は無理だけど、十分良いものになる - 生成されたものを確認して、テンプレートに合わせる;もし気に入ったものがあれば(考えたことがなかったか、単に忘れたもの)、それをスキルテンプレートに追加する - これを繰り返す これはシステムのアーキテクチャだけでなく、バックエンド、フロントエンド、E2Eテスト、ドキュメントを書く時にも使う。私が達成したいことは分かってるし、コードがどう整理されるべきか、どう動くべきか、テストがどう書かれるべきかも分かってる。LLMのおかげで、毎回同じテンプレートに従う面倒さを排除できる。これらのガードレールがないと、パターンが頻繁に変わって、メンテナンス不可能なゴミができちゃうからね。注意してほしいのは、出力には常に監視が必要で、LLMは私が触れないように言ったところに触れたり、私が言ったことに従わなかったりすることがある。出力の量も時には圧倒的になることがある(だから、ピアレビューはまだ必要だね)、でも今のところ、LLMが生成したものを別のLLMで繰り返し、最終的に人間に渡すことができるよ。

なんでメンテナンスの行き止まりになっちゃったの?今の状態で反復的に作業できたみたいだけど、コードのメンテナンスをするのは君になるの?同じことをずっと考えてるんだけど、結局、私たちが求めているクリーンなモデル構造は人間がメンテナンスや拡張をするためのもので、AIには必要ないってことなんだよね。ここには確実に効率の面があって、AIがクリーンなモデルの解決策から望ましい解決策に移るのは早いんだ。だって、クリーンなコードでトレーニングされてる可能性が高いからね。でも、これって本当に重要なのかな?私が思いつく一番の理由は、クリーンなモデルの解決策は既存の開発ツールにとって良いってこと。コード全体のバラバラな部分に混乱しにくいから。でも、結局は効率の問題になっちゃう気がする。これが新しい現実かもしれないし、もうカーテンの裏を見ようとするのはやめて、魔法使いが見せてくれるものを受け入れるべきなんだ。

私たちは一緒に、高価なオペレーションと安価なオペレーションを再学習しなきゃならない。プロトタイプは今やほぼ無料だよ。AIに各アーキテクチャやスタイルのオプションを試させて、どのコードが好きかを見てみることができる。君の言う通り、リライトや再アーキテクチャリングもすごく良い。私が好きなパターンは、コードをいくつかの解決策でバイブさせて、アプローチを選んでから、テストをバックフィルしてメンテナブルにするために大規模なリファクタリングを行うこと。ここでのスキルは、良いアーキテクチャがどういうものかを知って、プロンプトを出して検証すること(例えば、どのレベルのテストがフィードバックサイクルを早めたり、LLMの変更を理解可能にするか)なんだ。正直言って、「準備、発射、狙え」の迅速なプロトタイピングのアプローチは昔から知られているけど、うまく機能させるには、旧世界でかなり早くコーディングする必要があると思う。

専門家としてやってることがクソに見えるのに、専門外のことは普通に見えるってのは、偶然じゃないのかもね。デザイナーたちに聞くと、逆のこと言う人も多いけど。Claude Design Studioが作ったこのクソみたいなUIを手動で直したけど、そのおかげで、俺が絶対に作れなかった素晴らしいコードができたよ。

すごくわかりやすいけど、考えるのが難しいね!俺も似たようなことをしたけど、コードを見てると、すごく手続き的で、ほとんど抽象的じゃなくて、ビジョンが全然感じられなかった。これをどうやってメンテナンスするつもりだったんだろう?AIが永遠にやってくれるのかな?

ジョシュの意見にはほとんど同意だけど、AIを使った時のシニアとジュニアの経験について語る投稿はちょっとナンセンスだと思う。確かに、シニアはAIツールを使うと結果が良くなるし、ジュニアは苦労する。でも、その方程式に変わったことはないよ。ただ増幅されただけ。みんなが避けがちなのは、ジュニア(どんな分野でも)がAIリサーチアシスタントを使うことで学ぶスピードがめちゃくちゃ速くなるってこと。専門家になるのも、深く掘り下げるだけのスタミナがあれば加速するし(この要件は変わってない)、AIツールを使って質問する時間も、物を「作る」や「直す」時間と同じくらいかけてる。「これってどうやって動くの?」「他のツールを提案してくれる?」ってね。AIを入力/出力の関係で考える人もいるけど、実際にはその間の調整が重要なんだよね。最初はみんな下手くそになるけど、昔からそうだったし、良い人たちは自分がやった時よりもずっと短い時間で成長すると思う。多くの人が挫折してしまうけど、それは前にもあったこと。学ぶには根気が必要だよね。AIの即時的な快感が人を摩擦から遠ざけることがあるっていうのが唯一の本当の問題だと思う。AIネイティブは摩擦を理解せず、疑問を持たないだろうね。

ジュニア(どんな分野でも)はAIリサーチアシスタントを使うことで、すごく早く学べる能力があるんだ。これが見えないんだよね。大学レベルで見てる限り、期待してない。

ジュニア(どんな分野でも)はAIリサーチアシスタントを使うことで、すごく早く学べる能力があるんだ。これは検証可能な仮説だけど、引用が全然足りない。直感的には逆だと思う。私たちは脳を使って学ぶんだから、思考を機械に任せてその出力をコピーするだけじゃ学べない。子供は計算機を使って掛け算を学ばないし、言語学習者は機械翻訳で毎文を訳しても新しい言語は学べない。どちらの場合も、彼らが学んだのは、学ぶのを飛ばしてツールを使うことだけだ。

他にもいろんな軸があるよ。AIを持ってる企業は持ってない企業よりも早く動く。AI自体が、私たちが共通して考える「エンジニアリングのセンス」を吸収するかもしれない。AIは自分のやることが早いから、たとえジュニアがAIよりも安くても、AIにお金を払うことは先行者利益を得ることになるんだ。

AIリサーチアシスタントがいることで、学ぶスピードがめちゃくちゃ早くなるし、専門家になることが、深く掘り下げる個人的なスタミナを持っている人には加速している(この要件は変わってない)。むしろ、できるだけ怠けることができるようになってる。AIツールを使って、誰かがより深く掘り下げているのを見たことがない。

賢くてやる気のあるジュニアたちは、自分の学びや能力を増幅させる素晴らしいツールを手に入れてるね。

専門家になることは、深く掘り下げるための個人的なスタミナを持つ人にとって加速している(この要件は変わっていない) これは矛盾した意見だと思う。深く掘り下げるのにかかる時間は昔と変わらない。AIは表面的な部分を加速させるけど(正直、下手くそに)、深く掘り下げるのは加速しない。専門家になるには、やっぱり時間と努力が必要で、ショートカットはないよ。アイアンマンのメタファーをちょっと拷問するけど、AIなしで専門家じゃないなら、AIがあっても専門家にはなれないよ。

人々が避けているように見えるのは、ジュニア(どんな分野でも)がAIリサーチアシスタントを使うことで、学習速度が格段に上がるということだよ。読んで学ぶんじゃなくて、やって学ぶんだ。この場合、LLMの出力をただ読むだけじゃ、実質的に教育にはならないよ。

本当に言えることは、AIの即時的な快感が人々を摩擦にぶつからないようにするってことだと思う。AIネイティブは摩擦を理解せず、疑問に思わないだろうね。これが重要だと思うし、悪いバイブコードや10倍のスピードの主張を見て怒る人たちに隠れがちだよね。最も重要な学びは、すぐに答えを求めて得るときじゃなくて、自分を伸ばして答えを探し、何度か失敗して、深く考えた後、もしかしたら昼寝の後に問題を解決する時なんだ。そういう知識は貴重で、答えを得るだけじゃなくて、将来の問題解決で避けるべき道を見つける手助けにもなるし、自分の考えに対する信頼も高まる。次の世代がこのステップを飛ばしたら、答えは簡単に見つかるべきだと思うようになって、ますますAIに依存し、自分の頭に自信を失っていくと思う。

「部屋の中の象」っていうのは、誰も話していない大きな話題のこと。みんなAIのことを話してるけど、もっといい見出しは「AIが開発者のスキルを置き換えるのではなく、増幅する理由」だね。

結果は同じだけど、同じことを達成するのに必要な開発者が減るってことは、たくさんの人が失業するってことだよね。それに、残る人たちは給料が下がる可能性が高い。ジュニアの給料とAIのサブスクリプションを払って「同じ結果」を得られるなら、シニアの給料を払う理由がないよね。ソフトウェア開発者は厳しい時代に突入すると思う。俺はもう15年やってるけど、正直言って楽しみじゃない。別の業界にスキルを移すことも考えてるよ。たとえ給料が下がっても、このクソみたいな状況を回避する価値はあると思う。

でも、多くのソフトウェアエンジニアは自分のコードベースの専門家だから、エンジニアの大部分はAIから高い価値を得てるってことだよね。私には明確じゃないのは、もしエンジニア一人あたりのコード量が増えたら、それがエンジニアの数を減らすのか、それとも単にソフトウェアが増えるのか、特に従来は圧迫されていた分野(UX、テスト、DevEx、ドキュメントなど)でどうなるのかってこと。もしかしたら、基準が上がるだけかも?

私には、スキルの低い人たちがこれらの増幅ツールを使ってどうやって有用な経験を得るのかが不明なんだ。私は35年この業界にいるけど、時々すごい結果を出せると思ってる。二人のかなり未熟な開発者と一緒に働いてるけど、彼らが混乱を引き起こすスピードは今や驚異的だよ。ツールが早い成功を与えることで、彼らの自信が高まって、私が提供できる経験は今やあまり意味がなくなってる。まあ、それはいいんだけど、「私の経験が君に役立たなきゃならない」って思うような古いタイプにはなりたくない。でも、この新しい世界で「教訓がどうやって学ばれるか」には興味があるんだ。

でも、どうやって「教訓が学ばれる」のか、そしてこの新しい世界でのツールの利用がどんどん進むのか、ちょっと興味がある。 (これを正しく読んでると思うけど、違ったら気軽に訂正してね。) 一言で言うと、痛みだね。彼らの幸福(感情的、心理的、または経済的)に対する正当な脅威がない限り、教訓は本当に「学ばれない」。決断の真のコストを知らない限り、高く飛んでいる状態だ。年配のエンジニアはこのことを自然に対処してきたから、彼らのDNAに組み込まれている。特定のことが行われない理由(または特定の方法で行われない理由)は、その痛みがすでに感じられ、より良い方法を学ぶことが促されているからだ。

AIツールで作業を加速すればするほど、有用なソフトウェアを出荷する技術がどれだけ難しいかを実感するようになった。確かに、Claude CodeやCodexは(ほとんど)私のためにコードを書いてくれるけど、何をどうやって作るかを決めるために必要な技術的知識は膨大なんだ。例えば、今、Claude Artifactsのように動作するシステムに取り組んでいるんだけど、カスタムHTML+JSアプリを大きなアプリケーションの中のiframeサンドボックスで安全に実行できるようにしている。これがなぜ有用なものなのかを理解するだけでも、サンドボックス、セキュリティ脅威、ブラウザのセキュリティモデル、何十年も進化してきたプラットフォームの機能について深い知識が必要なんだ。技術的な理解なしにバイブコードを作ったとしても、どんなにLLMがガイダンスを与えても、そんなものを実現するチャンスはゼロだよ。AIの登場で、既存の深い技術経験がこれまで以上に価値がある時に、キャリアを辞めるなんて話をする開発者を見るのは本当に悲しい。

何年もかけて築いてきた「キャリア」を簡単に辞めるわけにはいかないよね(他に何があるっていうのさ)。徐々に失業に向かってフェードアウトすることになるんじゃないかな。

AIについて、キャリアを辞めるなんて話をしている開発者を見ると、本当に悲しくなる。今こそ、深い技術的経験がこれまで以上に価値がある時なのに。

  1. AIとのやり取りは本当に苦痛だよ。コードを書くのは好きだけど、機械に正しいコードを書かせるための魔法の呪文を探すのは嫌だし、間違った時に機械を訂正するのも好きじゃない。こんなの全然楽しくないし、もし誰かが「いつかこうなるよ」って言ってたら、この分野には入らなかった。
  2. これらのツールが作られた手段には賛同できない。私にとって、それは盗みだと思う。倫理的に作られていないものを使うのは不正だと思うし、盗まれた作品を使うのは嫌だ。使う人はみんな、世界を悪化させて盗みを普通のことにしていると思う。もしキャリアを続けることで倫理を妥協しなきゃならないなら、たとえこの仕事が好きでもやらないし、1の理由もある。
  3. 誰かが私の「より価値のある」スキルに対してもっとお金を払ってくれるの?今のところそんな感じはしないし、エンジニアの給料は全体的に下がってる。いつか上がるって信じてもいいけど、それが起こる証拠はないし、今もそうなってない。もし雇い主がすべての価値を独占するなら、私がもっと価値を生み出しているかどうかなんて気にする必要ないよね。

俺はAIに対して厳しい批判者だよ。かなり苦いね。でも、専門家が手作業で仕事をする能力を持っている限り、AIには掛け算の効果があるってことには同意する。どんなに遅くても、良い仕事をすることには変わりないからね。それに、チームの設定ではAIはネットでネガティブな影響があるけど、俺みたいな孤独な狼にはブースターになるってことは繰り返し言っておくべきだね。

私も先週、数学者として「アイアンマンの瞬間」を体験したよ。数年前から2人の友達(教授)と共同で数学研究をしてるんだけど、先週はその研究の一部をチャットGPTを使って探ってみることにした。

  1. 考えを持つ。
  2. それをGPTに提示する。
  3. 証明が簡単な定理を書いてもらって、その証明をLaTeXに入れる。(証明はいつも慎重にチェックしなきゃね。)
  4. それからコードを生成してもらう(私は主にMathematicaを使ってる)。
  5. コードを実行することで証明を確認するのに役立つし、さらに考えが浮かぶから、またステップ2に戻る。 このプロセスはすごくうまくいったけど、ある時特定の式を束縛できなくて、理解もいまいちだったから、鉛筆と紙を取り出して自分で導出し直したら、すごく助かった。この全体のプロセスは、GPTなしでやるよりも約10倍速く進んだ。数時間の終わりには、約20ページの正しい証明と、証明に関連する数値シミュレーションに必要なコードが揃った。