- IDE の自動補完から GitHub Copilot・Claude Code へと続く体験は、AI が思考をより速くコードへ移し、既存コードを分析・修正する実用的な開発ツールになったことを示している
- 初期の失敗だけを見て AI を敬遠していたが、Claude の質疑応答やバイナリのリバースエンジニアリング、Ollama のローカルモデルを実際に体験した後では、すべての AI 技術を無用または有害だと断じる態度もまた素朴だと考えるようになった
- 40年前のやり方でクラシック Macintosh ソフトウェアを自作する過程では、成果物だけでなく C やプラットフォームを学び、コミュニティを築くという 労働と学習そのものの価値 を得た
- 数年かけて開発したクラシック Mac 向けブラウザに似た製品を、AI がより多くの機能と洗練されたインターフェースで素早く生成するのを見て、自分の仕事が埋もれ、これまでの努力が無意味になるかもしれないという不安を覚えた
- バイブコーディング ツールが今有用なら、コミュニティでの利用を受け入れつつ、自分の版は引き続き手で開発して準備ができた時に公開できるし、Claude の成果物も結局は既存の人間のコードに依存している
自動補完が開発者の思考速度に追いつく
- 2019年から Andreas Kling のプログラミング動画を見ながら、SerenityOS のライブコーディング過程を追っていた
- Kling は C++ コード全体を理解する Qt Creator で、クラス、変数名、関数シグネチャを自動補完していた
- 当時は、必要なコードはすでに頭の中にあり、開発を制約しているのは タイピング速度 だけのように見えた
- 4年後、Kling は初期の GitHub Copilot を支援する CLion に移行した
懐疑から実用へ
- Kling の開発速度が上がっていく様子は興味深かったが、長いあいだ自分の作業に AI を使いたいとは思わず、エディタでは IDE や LSP すら使っていなかった
- 初期 AI の失敗を見て、この技術を早々に見限りすぎていた可能性がある
- その後、Web ブラウザで Claude を試し、検索エンジンや Stack Overflow の代わりに質問への答えを得るようになった
- Claude Code にノートPCのコードディレクトリを任せ、ファイルを直接読んで修正させると、その能力に驚かされた
- 文脈がまったくない状態でも、バイナリ blob を素早く完全にリバースエンジニアリングする能力も印象的だった
- 小さく高性能なローカルモデルが登場してからは、M4 Mac Mini で Ollama を使い、オフラインで作業し始めた
AI 技術と AI 産業を区別する
- 技術・言語・ツールを好み、使いながらも、その周辺の誇張や詐欺、否定的なコミュニティは拒否できるし、Rails や Rust も同じ例だ
- 逆に、その技術を好んだり使ったりする義務もない
- 丸ノコの代わりに手ノコを使ったり、自動運転の電気自動車ではなくマニュアル車を選んだりできる
- 現時点で、あらゆる AI 技術 が役に立たない、あるいは悪いと見る態度は素朴だが、AI 産業には別の問題があると考えている
40年前のやり方で作る Macintosh ソフトウェア
- 2020年、Kling に触発されて、8MHz の Macintosh 512Ke とその後の Macintosh Plus でプログラミングする動画シリーズを始めた
- クラシック Macintosh を実際に使ったことがなかったため、40年前の開発者が体験したであろうやり方で THINK C 5 IDE 上でプログラミングしたいと思った
- コードは Macintosh 本体でしか書かない
- すべての入力は Apple M0110 キーボードで行う
- 現代のコンピュータはコードの作成・編集・コンパイルに使わない、というルールを設けた
- その後、いくつものソフトウェアをほぼ自力で開発した
- IMAP メールクライアント
- Amend リビジョン管理システム
- Wikipedia リーダー
- Wallops IRC クライアント
- マルチユーザー・マルチスレッドの Subtext BBS サーバー
- この過程で Macintosh と C を大いに学び、ヴィンテージコンピューティング趣味 を始め、多くの新しい友人と出会った
クラシック Mac から現代の Web へアクセスする
- メールクライアントには、遅い Macintosh に平文を渡すため、現代のサーバー側で TLS を外すプロキシサーバーが必要だった
- Mac Plus に Wi-Fi 機能を追加した後、TLS オフロード装置を実装した
- これにより、Mac が独力で TLS 復号を行えるようになった
- 今日ではほぼすべての通信が暗号化されており、TLS 処理はクラシック Mac OS 向けの現代的な Web ブラウザを作るために必要な最後の大きなパズルのピースだった
- 目標は、MacWeb より新しく、HTML5 をパース できるブラウザだった
- 2024年からブラウザ開発を始め、Gopher と、しぶしぶ Gemini プロトコルも追加した
バイブコーディングがもたらした虚脱感
- 数か月前、新しいソフトウェアプロジェクト、とりわけヴィンテージコンピューティングのプロジェクトを読みたいという意欲をすべて失ったというメモを残した
- 1〜2年前なら驚きをもって受け止め、開発者と交流したであろうプロジェクトも、今では AI が生成したものだと決めつけてしまい、空虚で退屈に感じて通り過ぎてしまう
- 別のメモでは、1年間ゆっくり着実に新しいソフトウェアを作っても、誰かがそのアイデアを聞いて Claude で1週間のうちに機能が10倍ある製品を作れてしまう、と吐露している
- 実際、次のようなプロジェクトを見ても、AI が全部書いたのだろうと思って見過ごしていた
- CSS、ES5 JavaScript、TLS をサポートする Mac OS 9 向けの現代的な Web ブラウザ
- 動画をサポートする System 7 向け 3D プリンタ監視アプリ
- その後、クラシック Mac OS 向け Gopher クライアント Geomys が完全に バイブコーディング で作られ、Claude が洗練された Web サイトまで作っていたことを確認した
- コントリビューター記録にも、バイブコーディングの痕跡が見て取れる
- 一部のネットワークコードとシステムユーティリティコードは、自分のプロジェクトから持ってこられたものだった
手でコードを書く理由を問い直す
- Andreas Kling は 2026年に、「実際に手でコードを書くのを楽しんでいる」と言うことが、プログラマの大きな 美徳シグナリング になりそうだと投稿した
- これに全面的に同意するわけではないが、なぜ少数しか使わない40年物のコンピュータ向けソフトウェアを作るのか、この領域のバイブコーディングがなぜ居心地悪いのかを改めて考えるようになった
- 多くのソフトウェアは自分に必要だから作るが、コミュニティのほかの人たちが使ってくれることも嬉しい
- 同時に、自分が属するコミュニティの中で 愛情と労力を注いだ仕事 を認めてほしいという虚栄心があるのかもしれない
- 機能が多くインターフェースも洗練されたバイブコーディング製品が現れると、自分の仕事が埋もれてしまうのではないかと怖くなる
- これまで注いだ努力が無駄に思え、自分の Comet が Yahoo に押し負ける状況を懸念している
有用なツールと個人的な作業の共存
- バイブコーディングツールが本当に有用で、何年も開発中の自分の製品より先に利用可能になるなら、コミュニティがそのツールを使えることを歓迎することもできる
- 自分の版は 個人的な目的 のために引き続き開発し、準備ができた時に公開すればよい
- Claude がコードを生成するには、結局のところどこかに存在する既存の人間のコードに依存しなければならない
1件のコメント
Lobste.rsの意見
バイブコーディングの雰囲気には興味がなく、プログラミングそのものの楽しさが好きなので、記事の結論に深く共感する。巨大テック企業のあらゆる論争を経験しておきながら、再び莫大な影響力を持つ企業を二つ育て、アイドル状態で200MB以上食うボットベースのTUIを使ってそれをイノベーションと呼ぶ姿には冷笑的になってしまう。むしろ小さく専門化されたコミュニティのほうに、ずっと大きな楽しさを感じる。