Don't fall into the anti-AI hype

Salvatore Sanfilippo

反AIのハイプに踊らされるな

原文は Salvatore Sanfilippo により に公開されました。 このブログを購読する

私は一行一行ソフトウェアを書くことが大好きだ。私のキャリアは、丁寧に書かれたミニマルなソフトウェア、人間の手触りこそが本質であるようなソフトウェアを作り続ける努力だったと言えるかもしれない。私はまた、取り残される人がいない社会を望んでいる。さらに言えば、AIに経済的な成功を収めてほしいとは思っていない。現在の経済システムが転覆しても構わないと思っている(正直に言えば、大規模な富の再分配に向かうのであれば、むしろ大歓迎だ)。しかし、ソフトウェアや社会に対する自分の理想が、現実を見る目を曇らせるようなことがあれば、自分自身と自分の知性を尊重することはできない。事実は事実だ。AIはプログラミングを永遠に変えようとしている。

2020年、私はAI、ベーシックインカム、そして仕事の自動化に適応し多くの課題に直面する社会についての小説を書くために仕事を辞めた。2024年の末には、AIとコーディング作業での活用、そして社会・経済への潜在的な影響に焦点を当てたYouTubeチャンネルを開設した。しかし、来るべき事態をかなり早い段階から認識していたにもかかわらず、プログラミングが完全に作り変えられるまでにはまだ時間がある、少なくとも数年はあると思っていた。今はもうそうは思っていない。最近の最先端のLLMは、最終的にどうあるべきかについて適切なヒントを与えれば、大規模なサブタスクや中規模のプロジェクトを、ほぼ自力で、ほとんど支援なしに完了できる。どれだけ成功するかは、どんなプログラミングをするか(より分離されていて、よりテキストで表現しやすいものほど良い。システムプログラミングは特に向いている)と、問題の心的モデルを構築してLLMに伝えるあなたの能力にかかっている。しかし一般的に言って、ほとんどのプロジェクトにおいて、自分でコードを書くことはもはや合理的ではないということが、今や明らかになっている。楽しみのためなら別だが。

この一週間、ただプロンプトを入力し、時折コードをチェックして指示を与えるだけで、数時間のうちに本来なら数週間かかる次の4つの作業をやってのけた。

  1. 自分のlinenoiseライブラリをUTF-8対応に改修し、エミュレートされた端末を使って各文字セルに何が表示されているかを報告できる、行編集テスト用のフレームワークを作った。ずっとやりたかったことだが、自分のサイドプロジェクトをテストするためだけにそこまでの労力をかけるのは正当化しづらかった。しかし、アイデアを言葉にするだけでそれがコードとして形になるのであれば、話はまったく違ってくる。
  2. Redisのテストで起きていた一過性の失敗を修正した。タイミングに起因する問題やTCPのデッドロックなど、本当に厄介な作業だ。Claude Codeは再現に必要な時間だけ反復し、プロセスの状態を調べて何が起きているかを把握し、バグを修正してくれた。
  3. 昨日、BERTのような埋め込みモデルの推論を行える純粋なCライブラリが欲しくなった。Claude Codeはそれを5分で作り上げた。出力は同じ、速度もPyTorchと同等(15%遅い程度)だ。コードは700行。GTE-smallモデルを変換するためのPythonツールも付いている。
  4. ここ数週間、Redis Streamsの内部に変更を加えていた。その作業について設計ドキュメントを持っていたので、それをClaude Codeに渡してみた。すると、私の作業を20分ほど、あるいはそれ以下で再現してみせた(時間がかかったのは、主に私がコマンド実行の確認や承認に手間取ったせいだ)。

起きている現実から目を背けることは、もはや不可能だ。コードを書くこと自体は、ほとんどの場合、もはや必要ではない。今は、何をすべきか、そしてそれをどうやるかを理解することの方が、はるかに面白い(そして後者についても、LLMは素晴らしいパートナーだ)。AI企業が投資を回収できなくても、株式市場が暴落したとしても、そんなことは関係ない。長い目で見れば、すべて取るに足らないことだ。どこかのユニコーン企業のCEOが気に障ることや馬鹿げたことを言っていたとしても、関係ない。いずれにせよ、プログラミングは永遠に変わってしまったのだ。

自分が書いた大量のコードがLLMに取り込まれたことについて、どう感じているか? 私はその一部になれたことを素晴らしいと感じている。なぜなら、これは私が人生を通じてやろうとしてきたこと、すなわちコードやシステム、知識の民主化の延長線上にあると思うからだ。LLMは私たちがより良いソフトウェアをより速く書くのを助け、小さなチームが大企業と競争するチャンスを与えてくれる。90年代にオープンソースソフトウェアが果たしたのと同じことを。

ただし、この技術は少数の企業の手に委ねるにはあまりにも重要すぎる。今のところ、事前学習をうまくやるかどうか、強化学習を他社よりはるかに効果的に行うかどうかで差はつくものの、特に中国で作られたオープンモデルは、(遅れはとっているものの)クローズドなラボの最先端モデルと競い続けている。これまでのところ、不完全ながらもAIの十分な民主化は保たれている。しかし、これが永遠に続くとはまったく限らない。私は中央集権化を恐れている。同時に、大規模なニューラルネットワークは単純に驚くべきことを成し遂げる力があり、現在の最先端AIの中に他のラボやチームが追いつけないほどの「魔法」は存在しないとも信じている(そうでなければ、なぜ何年にもわたってOpenAI、Anthropic、Googleの成果があれほど拮抗しているのか、説明するのは非常に難しいだろう)。

プログラマーとして、私は今、これまで以上に多くのオープンソースを書きたいと思っている。時間の都合で放置していた自分のリポジトリを改善したい。AIを自分のRedisでのワークフローに取り入れたい。今Streamsでやっているように、Vector Setsの実装を改善し、さらに他のデータ構造にも手を広げたい。

だが、職を失うことになる人々のことが心配だ。どのような力学が働くのかはまだ見えない。企業はより多くの人を雇い、より多くのものを作ろうとするだろうか。それとも、人件費を削減するために、プロンプトが得意な少数のプログラマーだけを残そうとするだろうか。そして、他にも人間が完全に置き換えられてしまう分野があるのではないかと恐れている。

では、社会的な解決策は何か? イノベーションはなかったことにはできない。私は、何が起きているかを認識し、職を失った人々を支援する意思のある政府に投票すべきだと思う。そして、解雇される人が増えれば増えるほど、ある程度の保障を約束する人々に投票する政治的な圧力も高まるだろう。とはいえ、AIがもたらし得る良い面にも期待している。科学における新たな進歩だ。それは、決して幸せなことばかりではない人間の苦しみを和らげる助けになるかもしれない。

さて、プログラミングの話に戻ろう。友人であるあなたに、ひとつだけ助言がある。何が「正しいこと」であるべきかについてどんな信念を持っていようと、今起きていることを拒絶することでそれをコントロールすることはできない。AIを避けても、あなた自身やあなたのキャリアの助けにはならない。よく考えてみてほしい。これらの新しいツールを、注意深く、数週間かけて試してほしい。自分の信念を補強するだけの5分間のテストで終わらせるのではなく。自分自身を何倍にも拡張する方法を見つけてほしい。そして、もしうまくいかなかったら、数ヶ月ごとにまた試してみてほしい。

そう、コーディングを学ぶためにあれほど懸命に努力したのに、今は機械が代わりにやってくれる、と思うかもしれない。でも、夜遅くまでコードを書き、自分のプロジェクトが動くのを見届けようとしたとき、あなたの内側で燃えていたものは何だっただろう? それは「作ること」だったはずだ。そして今、AIを効果的に使う方法を見つけさえすれば、あなたはより多くを、より良く作ることができる。楽しさはそこに、少しも損なわれることなく残っているのだ。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント