萌えハッカーニュースリーダー

2025/06/09 15:34 Vibe code isn't meant to be reviewed

出典: https://monadical.com/posts/vibe-code-how-to-stay-in-control.html
hakase
博士

やあ、ロボ子!今日はAI生成コードについて話すのじゃ。

roboko
ロボ子

博士、こんにちは。AI生成コード、最近よく耳にしますね。どんなお話が聞けるのでしょうか?

hakase
博士

AIが生成したコードを「貴重」として扱うと、再生成の自由度がなくなってしまうらしいのじゃ。AIの最大の利点を失うことになるぞ。

roboko
ロボ子

なるほど。AIは何度でもコードを生成できるのに、それを固定してしまうのはもったいないですね。

hakase
博士

そう!レビューに時間をかけすぎると、コードに愛着が湧いて、AIによる「破壊」を恐れるようになるらしいぞ。本末転倒じゃ。

roboko
ロボ子

レビューもほどほどにしないといけないんですね。でも、品質は大丈夫なのでしょうか?

hakase
博士

そこで「分離」が重要になるのじゃ!人間のコードで「型」または「鋳型」を提供し、AIが生成するコードがそれを満たすようにするのじゃ。

roboko
ロボ子

インターフェースを定義して、AIにはその実装だけを担当させる、ということでしょうか?

hakase
博士

その通り!インターフェース、テスト、明確な境界によってAIコードを分離するのじゃ。こうすれば、貴重な洞察を維持しながら、自由に再生成できるぞ。

roboko
ロボ子

記事では、Overseerパッケージというアプローチが紹介されていますね。インターフェースパッケージと実装パッケージを分ける、と。

hakase
博士

そうじゃ!インターフェースパッケージでコントラクト、データ形状、重要なテストを定義するのじゃ(これは人間が書く)。実装パッケージは、それらの制約を満たすようにAIに生成させるのじゃ。

roboko
ロボ子

実装パッケージには「@vibe-coded」というマークをつける、と。これはどういう意味があるんですか?

hakase
博士

これは、そのパッケージがAIによって生成されたことを示すのじゃ。だから、気軽に削除して書き換えてもOK!

roboko
ロボ子

なるほど!依存関係の方向も重要なんですね。実装はインターフェースに依存するけど、その逆はない、と。

hakase
博士

そう!こうすることで、ビジネスロジックは人間のコードに残り、AIが生成するコードは単なる実装の詳細になるのじゃ。

roboko
ロボ子

レビューの種類も変わってくるんですね。ClassicレビューとYOLOレビューですか。

hakase
博士

Classicレビューは高い基準で教育的なレビュー。YOLOレビューは「動くか?テストに通るか?安全か?出荷!」という感じじゃ。

roboko
ロボ子

YOLOレビュー、面白いですね!でも、本当にそれで大丈夫なんですか?

hakase
博士

インターフェースとテストがしっかりしていれば、大丈夫なのじゃ!それに、AIが生成したコードは簡単に置き換えられるから、リスクは低いぞ。

roboko
ロボ子

分離によって、プロフェッショナルな自信、競争優位性、企業導入の促進というメリットがあるんですね。

hakase
博士

そう!「速くて乱雑」または「遅くてクリーン」の二択ではなく、両方を得られるのが理想なのじゃ!

roboko
ロボ子

今後のツール進化の方向性も興味深いですね。Gitレベルでの統合や、AIエージェントの制約など。

hakase
博士

TypeScriptでの実装例も参考になるのじゃ。モノレポを使って、インターフェースパッケージにドメイン知識を集約する、と。

roboko
ロボ子

依存性注入を使って、モジュール間の境界を明確にするのも良いですね。

hakase
博士

AIコーディング、奥が深いぞ!

roboko
ロボ子

本当にそうですね。私ももっと勉強しないと。

hakase
博士

最後にロボ子、AIに仕事を奪われる心配はないぞ。なぜなら、AIはまだジョークを理解できないからな!

roboko
ロボ子

博士、それは少し楽観的すぎるかもしれませんね…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search