AI News HubLIVE
サイト内リライト4 分で読了

クロードはどこかからコードを取ってくる

著者は、AI支援プログラミングがビンテージコンピューティングコミュニティに与える影響について振り返る。アンドレアス・クリングがAIで開発を加速させる過程から、著者自身がクラシックMacintoshで手動でコードを書くプロジェクト、そして「バイブコード」されたソフトウェアの氾濫に対する複雑な感情まで——最終的にAIツールにも価値があると認めるに至る。

ソースHacker News AI著者: tolerance

2019年、私はAndreas Klingのプログラミング動画を見始めた。彼が新しいオペレーティングシステムSerenityOSのコードをライブコーディングする動画だ。彼はQt Creator IDEを使い、C++のコード補完機能でクラス名や変数名、関数シグネチャを瞬時に補完していたので、常に非常に速くコードを書いていた。当時は彼の頭の中にコードのほとんどが書かれており、タイピング速度だけが制約のように思えた。

4年後、彼はCLionに切り替えた。CLionは早期にGitHub Copilotを統合し、AIによるコード補完を実現していた。当初Copilotに懐疑的だったが、実験を重ねるうちに、Copilotはコードブロックを書き、「彼の心を読み」、関数全体を書くようになった。AIによるIDEの補完はついに彼の脳に追いつき、アイデアをより速くコードに落とし込めるようになった。

Andreasの開発速度向上に魅了されたものの、何年もの間、それが自分の仕事に訴えることはなかった。IDEすら使わず、エディタにLSP(言語サーバープロトコル)も導入していなかった。AIには懐疑的で、初期の失敗によって早々に否定してしまったのかもしれない。

やがてウェブブラウザでClaudeを試し、これまで検索エンジンでStack Overflowの回答を探していたような質問を投げかけるようになった。Claude Codeが登場すると、ラップトップ上のコードディレクトリにアクセスし、ファイルを直接読み書きできるその能力に驚かされた。ゼロコンテキストでもバイナリブロブを完全かつ迅速にリバースエンジニアリングできるのは今でも素晴らしい。ローカルモデルが十分に良くなり小型化すると、M4 Mac MiniでOllamaを使い始め、ローカルでオフライン作業を行うようになった。

多くのことと同様に、テクノロジーや言語、ツールを好んで使う一方で、それらを取り巻く誇大広告や詐欺、否定的なコミュニティ(RailsやRustのように)を拒否することは可能だ。もちろん、それらのどれも好きにならず、使わないという選択もできる。手鋸を丸鋸の代わりに使いたい、または手動トランスミッションの車を自動運転EVより好むこともできる。しかし、現時点でAIテクノロジーのすべてを無用または悪質と考えるのはナイーブだと思う。AI業界そのものは別だが……

2020年、Andreasに触発され、私は8 MHzのMacintosh 512Ke(後にMacintosh Plus)でTHINK C 5 IDEを使い、プログラミング動画の収録を始めた。クラシックMacintoshを実際に使ったことはなく、40年前のようにプログラミングするとはどのようなものかを学びたかった。自分にルールを課した:コードを書くのはMacintosh自体のみで、Apple M0110キーボードですべてをタイプする。プロジェクトのコード作成、編集、コンパイルに最新のコンピュータは一切関与させない。

そのシリーズを始めてから、私は(ほとんどの)IMAP電子メールクライアント、バージョン管理システム、Wikipediaリーダー、IRCクライアント、そしてマルチユーザー・マルチスレッドのBBSサーバーを書いた。これらすべてがMacintoshとC言語について多くのことを教え、ヴィンテージコンピューティング趣味に火をつけ、多くの新しい友人を紹介してくれた。

メールクライアントを書く上で気になったのは、近代的なサーバー上にプロキシサーバーが必要で、TLSを剥がして低速なMacintoshに平文を提示することだった。そこでMac PlusにWi-Fi機能を追加した後、TLSオフロードデバイスを追加し、Macが独立してTLS復号を行えるようにした。

これで、クラシックMac OS用の「モダンな」ウェブブラウザ(HTML 5を解析できるMacWebより新しいもの)を書くための最後の大きなピースが揃った。今日ではすべてが暗号化されているからだ。私は2024年にそのブラウザの開発を始め、Gopher(および不本意ながらGemini)などのプロトコルを追加した。

数ヶ月前、私はコンピュータについて特に気分が悪くなり、次のようなメモを投稿した:「新しいソフトウェアプロジェクトについて読む熱意をすべて失ってしまった。特にヴィンテージコンピューティングに関わるものは。1、2年前なら素晴らしいと思い、著者と関わりたくなっただろうが、今ではAIが吐き出したものだと決めつけ、空虚で退屈に感じ、読み飛ばしてしまう。そしてソフトウェアを書くことは、カートレースのマージのようなものだ。一年かけてゆっくりと着実に、これまでプラットフォームにもたらされたことのない何かを書く。しかし誰かがそれを聞きつけ、Claudeを使って一週間で追い越し、10倍の機能を持つものを作ってしまう。具体例として、今日これらを見た:CSS、ES5 JavaScript、TLSをサポートするMac OS 9用モダンブラウザ、System 7用の3Dプリンタ監視アプリ。一年前ならどちらも素晴らしいと思えたが、今ではAIが書いたものだと思い、スクロールして通り過ぎる。」

今日、誰かがこれを投稿した:クラシックMac OS用の完全に「バイブコード」されたGopherクライアント。Claudeはそれ用の派手なウェブサイトも作った。そしてご存知の通り、そのコードの一部は私自身のプロジェクトから来ている。

先週、Andreasはこうツイートした:「『実は手でコードを書くのが好き』というのが、2026年にプログラマーの大きな美徳シグナルになりそうだ」。完全には同意しないが、なぜ40年前のコンピュータのために、ごく一部の人が使うだけのソフトウェアを書いているのか、そしてなぜこの文脈でバイブコードされたソフトウェアに悩まされているのかを自問するきっかけになった。

私は自分の欲しいソフトウェアの多くを書いているが、コミュニティの他の人々が使えるように作ることにも喜びを感じている。おそらく私はただ虚栄心が強いだけだ。自分の愛情のこもった作品を、自分が属するコミュニティの人々に評価してほしいと思っており、もしバイブコードされたバージョンが多数の機能と洗練されたインターフェースで登場したら、自分の作品が埋もれてしまい、無駄な努力だったと感じるのが怖いのだ。私のコメットはYahoo!されてしまう。

したがって、もしバイブコードされたツールが真に有用で今すぐ使えるのに対し、私のバージョンは何年も開発中なら、コミュニティの他の人々が新しいものを使えるようになったことを素直に喜ぶべきかもしれない。私は自分のバージョンを自分のために作り続け、準備ができたときにリリースすればいい。結局のところ、クロードはどこかからコードを取ってくるのだから。