アンチパターン⑦「非技術者単独開発」
vibe codingの夢
vibe codingは、ある夢を約束しました。
「技術的な知識がなくても、アプリを作れる」
この夢は、多くの非技術者を惹きつけました。起業家、マーケター、デザイナー——彼らはvibe codingツールを手に取り、アプリ開発に挑戦しました。
しかし、その結果はこれまでの記事で見てきた通りです。
「ゼロ手書き」SaaS事件
別記事で紹介した事件を思い出しましょう。
最初のツイート:
“guys my saas was built with Cursor, zero hand written code”
数週間後:
“guys, i’m under attack… maxed out usage on api keys, people bypassing the subscription, creating random shit on db”
最終結果: サービス完全終了。
非技術者が単独でSaaSを構築し、本番運用した結果です。
なぜ非技術者単独開発は危険か
非技術者が単独で開発することの危険性を整理しましょう。
危険性1: 問題を理解できない
エラーメッセージが出ても、意味が分からない。AIに聞いても、AIの説明が分からない。
危険性2: デバッグできない
問題が起きたとき、どこを見ればいいか分からない。ログの読み方も分からない。
危険性3: セキュリティを判断できない
何が安全で何が危険か、判断基準を持っていない。
危険性4: 学習できない
基礎がないため、経験を積み上げられない。同じ間違いを繰り返す。
vibe codingの「見えない複雑さ」問題
非技術者が見落としがちな「見えない複雑さ」があります。
“The invisible complexity gap: the difference between ‘it works on my machine’ and ‘it’s secure in production.’” 「見えない複雑さのギャップ:『自分のマシンでは動く』と『本番環境で安全』の違い」
見えない複雑さの例:
| 見えるもの | 見えないもの |
|---|---|
| UIが表示される | XSS脆弱性がある |
| データが保存される | SQLインジェクション可能 |
| ログインできる | 認証バイパス可能 |
| 決済できる | 不正決済可能 |
非技術者は「見えるもの」しか確認できません。「見えないもの」を確認するには、技術的知識が必要です。
サイバー攻撃者の視点:AI生成コードの狙い方
攻撃者は、vibe codingで作られたサービスを狙っています。
攻撃者の考え:
- 「vibe codingで作った」と公開している
- 開発者は非技術者の可能性が高い
- セキュリティレビューされていない可能性
- 簡単に脆弱性が見つかるかもしれない
- 攻撃してみよう
別記事の「ゼロ手書きSaaS」事件では、SNSで公開した直後から攻撃が始まりました。
技術者との協業モデル
非技術者がアプリを作りたい場合、技術者との協業 が必要です。
協業モデル1: 技術顧問
- 非技術者が主導でvibe coding
- 技術者がセキュリティレビュー
- 本番デプロイ前に確認
協業モデル2: ペアプログラミング
- 非技術者がプロンプトを考える
- 技術者が生成されたコードをレビュー
- 一緒に修正
協業モデル3: 役割分担
- 非技術者:UI/UX、ビジネスロジック仕様
- 技術者:実装、セキュリティ、インフラ
非技術者が学ぶべき最低限
非技術者がvibe codingを行う場合、最低限の知識 は必要です。
学ぶべきこと:
-
プログラミングの基礎概念
- 変数、関数、条件分岐、ループ
- これがないとAIの出力を理解できない
-
セキュリティの基礎
- OWASP Top 10の概要
- 認証と認可の違い
- APIキーの扱い方
-
デバッグの基礎
- エラーメッセージの読み方
- 開発者ツールの使い方
- ログの確認方法
-
Gitの基礎
- バージョン管理
- 変更の追跡
「プロトタイプ止まり」の覚悟
非技術者単独でできることには限界があります。
非技術者単独で可能なこと:
- アイデアの検証(プロトタイプ)
- デモの作成
- 個人利用のツール
非技術者単独では危険なこと:
- 本番サービスの運用
- ユーザーデータの取り扱い
- 決済処理
- 公開サービス
「プロトタイプまではvibe codingで、本番は技術者と」という覚悟が必要です。
Builder.AI事件の教訓
別記事で紹介したBuilder.AI事件を思い出してください。
「技術的知識なしでソフトウェアを作れる」を売りにしたBuilder.AIは、$15億の評価額から破産しました。
そして、顧客たちは「使えないプロダクト」を抱えて途方に暮れました。
「誰でもアプリを作れる」という夢は、現時点では幻想 です。
この事例から学ぶべき教訓
「非技術者単独開発」から学ぶべきことは以下の通りです。
-
非技術者単独での本番運用は危険
- 問題を理解できない、デバッグできない
-
「見えない複雑さ」がある
- 「動く」と「安全」は別
-
攻撃者はvibe codingサービスを狙う
- SNSで公開するのは危険
-
技術者との協業が必要
- レビュー、ペアプログラミング、役割分担
-
最低限の技術知識は必要
- プログラミング基礎、セキュリティ基礎
-
プロトタイプ止まりの覚悟を
- 本番は技術者と一緒に
まとめ:重要ポイントの振り返り
- vibe codingの夢「技術知識なしでアプリを作れる」
- しかし「ゼロ手書きSaaS」事件のような 破滅的な結果 に
- 非技術者は 問題を理解できない、デバッグできない
- 「見えない複雑さ」 を確認するには技術知識が必要
- 技術者との協業 が必要:レビュー、ペア、役割分担
- 教訓:プロトタイプまではvibe coding、本番は技術者と