執筆

バイブスの下にあるスタック

·7 min read

このページはAIの支援を受けて翻訳されました。正文は英語の原文です。

「バイブコーディング」——欲しいものを言葉で伝え、AIエージェントにコードを書かせ、動かさせ、直させるやり方——は、宴会芸からプロダクションの実践へと一線を越えました。このサイトも、かなりの部分がそうやって作られました。私のポートフォリオにあるAIプロダクトも、ドローンハードウェアの設計パイプラインもそうです。私は信奉者です。だからこそ、この実践を生き延びさせている、徹底的に流行遅れな3つの道具について話したいのです。バイブスはスタックの最上層であり、そのスタックは古いのですから。

バイブコーディングのスタックをレイヤーとして描いた図:いちばん上にエージェント、その下にgit、GitHub、素のLinuxサーバー。

Git:自信のための取り消しボタン

AIエージェントは全幅の自信をもって生成し、自分が壊したものの記憶を持ちません。これは批判ではなく、職務記述書です——そしてgitがその片割れです。バージョン管理は、エージェントの速度をリスクから資産に変えます。コミットされた動作状態のひとつひとつがセーブポイントになり、あらゆる実験がタダになり、バイブコーディングで最も恐ろしい一文——「ついでに、ほかもいくつかリファクタリングしておきました」——が、謎として発覚するものではなく、diffとしてレビューできるものになります。

大事な習慣はささやかなものです。野心的な依頼をする前にコミットすること。生成された変更をレビューできる大きさのまとまりに保つこと。そしてdiffを読むこと——エージェントを実際に監督する場はdiffです。散文の要約が語るのは意図であり、diffが語るのは現実だからです。説明できないハンクがあったとき、それは些細な指摘ではありません。コードベースがあなたのものでなくなりかけた、まさにその瞬間です。

GitHub:セッションより長生きする記憶

エージェントのコンテキストウィンドウは忘れます。リモートは忘れません。プッシュするかどうかは、「プロジェクトは私のラップトップに入っている」と「プロジェクトは存在する」の分かれ目です。しかし、バイブコーディングにとってのより深い価値は、GitHubが生成コードとプロセスの出会う場所だという点にあります。プルリクエストは、生成の一回ごとの噴出にレビュー可能な境界を与えます。CIは、エージェントが書いたテストを、エージェントが書いたコードに対して、エージェントの支配下にないマシンで実行します。Issueは、今夜の「いつか直さないとね」を、将来のセッション——人間であれエージェントであれ——が実際に拾えるものに変えます。エージェントは、記憶喪失の天才的な協働者です。GitHubは、記憶喪失者との協働を可能にする共有ノートです。

Linuxサーバー:理屈で把握できるデプロイ

デプロイに対する流行の答えは、すべてを抽象化してくれるプラットフォームです。バイブコーダーの正直な友は、nginxが動いている月6ドルの仮想サーバーです——エージェント(あるいは午前1時のあなた)がなぜサイトが落ちているのかを知る必要があるとき、本物のログが読めるsshセッションは、ステータスバッジ付きのダッシュボードに毎回勝つからです。

このポートフォリオはそのように動いています。静的ビルド、ssh越しのtar、フラットなファイルを配信するnginx、タイマーで動くcertbot。どの部品も中身を検査でき、20年ぶんのドキュメントがあり、そして——決定的に重要なことに——モデルたちが深く知っているものです。エージェントは、数十年ぶんのnginx設定とsystemdの質問で訓練されています。プロプライエタリなプラットフォームのブラックボックスをデバッグさせれば当て推量をしますが、nginxのエラーログを読ませれば魔法使いです。退屈なインフラは安いだけではありません——AIが最もうまく運用できるインフラなのです。

レイヤーが教えてくれること

ここには、タイポグラフィがずっと昔に教えてくれたパターンがあります。新しい表現のレイヤーは、その下にある退屈なシステムの出来を超えられない、ということです。壊れたグリッドの上の美しい書体は散らかりでしかなく、バージョン管理されていないコードベースの上の優秀なエージェントは、カウントダウンです。バイブコーディングの技芸はプロンプトではありません——プロンプトは簡単です。恐れなく生成させることを安全にする基盤を築くこと。信頼できるチェックポイント、消えない記憶、そして実際に読めるサーバー。それが技芸です。

古い道具を学ぶのは、バイブスの代わりではなく、バイブスのためです。宴を支えているのは、スタックなのですから。