コンテンツにスキップ

エンジニア歴20年の私が、素人バイブコーディング勢に物申す

チェック

  • [ ] 本文を確認した
  • [ ] 概要を確認した
  • [ ] タグを確認した
  • [ ] inbox/ 直下へ移行した

概要

生成AIでソフトウェアを作れるようになった非エンジニア向けに、本番リリース前に最低限守るべき実務観点をまとめた記事。 セキュリティ、依存ライブラリ、エラー情報、テスト、仕様書、設計レビューの観点が強い口調で整理されている。 付録として、AIに質問するための観点インデックスがあり、初心者がAI出力を検証するためのキーワード集として使える。

本文

中心メッセージ

AIでアプリを作ること自体は良い入口だが、1週間で作ったものをそのまま本番リリースするのは危険。 AIが書いたコードであっても、事故が起きたときの責任は利用者・事業者側に残る。

セキュリティ

  • ユーザー入力、外部API、アップロードファイルは信用しない
  • クライアントサイドバリデーションはUX補助であり、セキュリティ境界ではない
  • サーバー側でも同じ制約を検証する
  • ファイルアップロードでは拡張子、ファイル名、サイズ、SVG表示、保存先パスに注意する
  • AIが提案したライブラリは、実在、更新状況、メンテナー、Issue、ライセンス、バージョン固定を確認する
  • 本番環境ではスタックトレース、SQL、内部パス、ライブラリバージョンをユーザーへ返さない

テストと仕様

記事では、AIにただ「テストを書いて」と頼むのではなく、仕様書、テストケース、自動化対象、人的確認対象を段階的に作らせる流れが示されている。

確認すべき観点は次の通り。

  • テスト名が仕様として読めるか
  • Arrange / Act / Assertが分離されているか
  • モックが多すぎないか
  • 実装詳細に依存しすぎていないか
  • 単体テストだけでなく結合テストや意味的なつながりも確認しているか

AIに聞くための観点インデックス

付録には、設計レビューとコードレビューで使える観点が並んでいる。 主な分類は次の通り。

  • アーキテクチャ設計
  • データとインターフェース
  • UX設計
  • 非機能・運用
  • セキュリティ設計
  • UI設計・フロントエンド
  • 設計原則とパターン
  • コード品質
  • テスト
  • 実装技術
  • プロセスとドキュメント
  • セキュアコーディング

初心者はすべてを理解する必要はなく、作っているものに関係しそうな項目を選び、AIに説明やレビューを依頼するための語彙として使う。

要点

  • AIで作れることと、本番で安全に運用できることは別。
  • 初心者に必要なのは、コードを書く能力だけでなく、AI出力を疑うための観点。
  • セキュリティ、依存関係、エラー処理、テスト、仕様化は最低限の確認ライン。
  • 付録の観点リストは、AIにレビューを依頼するプロンプト材料として使える。

タグ

ai-coding #vibe-coding #security #testing #software-quality #beginner