掲載済み (2025-11-15号)
#112 577文字 • 3分

## わいの生成AIがカスコードばっか出してくるんやが

日本語

掲載情報

概要

https://zenn.dev/satto_workspace/articles/a12faf6131ac4e

詳細内容

## わいの生成AIがカスコードばっか出してくるんやが https://zenn.dev/satto_workspace/articles/a12faf6131ac4e プロンプトの具体性が生成AIによるコード品質を劇的に向上させ、エンジニア自身の深い理解がその基盤となることを、具体的なコード例を交えて解説する。 **Content Type**: 📖 Tutorial & Guide **Language**: ja **Scores**: Signal:4/5 | Depth:4/5 | Unique:3/5 | Practical:5/5 | Anti-Hype:4/5 **Main Journal**: 100/100 | **Annex Potential**: 100/100 | **Overall**: 80/100 **Topics**: [[Generative AI for Coding, Prompt Engineering, Code Quality, Web Application Development, Software Engineering Fundamentals]] 本記事は、生成AIを用いたコーディングにおいて、出力されるコードの品質がプロンプトの具体性とエンジニア自身の理解度によって大きく左右されると指摘します。多くのエンジニアが生成AIから「動くが品質の低いコード」を受け取る一方で、一部の熟練エンジニアは高い品質のコードを効率的に生成している現状を提示し、その差がどこから生まれるかを考察します。 著者は、抽象的な指示(例:「ユーザー一覧を取得するAPIを作って」)では、エラーハンドリング、ページネーション、認証・認可、セキュリティ(機密情報の漏洩、SQLインジェクション)などが欠如した、本番環境では使用できないコードが生成される危険性があることを示します。対照的に、具体的な要件(Honoフレームワークの使用、認証トークン検証、ページネーション、特定カラムのみ返却、Zodバリデーション、適切なエラーハンドリング、TypeScriptの型安全性など)を盛り込んだプロンプトでは、これらの問題をクリアし、保守性が高くセキュアなコードが生成されることを具体的なHonoのAPI実装例で示しています。 この違いの根源は、生成AIが「実装イメージを素早く具体化するツール」であり、要件の曖昧さを補完したり、ビジネスロジックの最適な設計を判断したり、セキュリティリスクを完全に検出したりするのが苦手であるという特性にあります。生成AIは既知のパターンやボイラープレートの生成は得意ですが、「何を作るべきか」「どう作るべきか」という明確な指示がなければ、期待する品質のコードは得られません。 著者は、生成AIが生成したコードを理解せずにそのまま利用する「コピペ文化」が「レビュー地獄」を生むと警告します。セキュリティ脆弱性、パフォーマンス問題、保守性の低いコード、ロジックのバグなどに気づけないリスクが高まり、結果として手戻りが発生し、開発速度が低下すると説明します。例えば、割引計算関数の例では、負の値や100%を超える割引率、小数点以下の丸め処理といったエッジケースの考慮がなければ、意図しないバグを見逃す可能性を示唆しています。 結論として、生成AI時代だからこそ、エンジニアは基礎を学ぶことの重要性が増していると主張します。良質なプロンプトを書くため、生成コードの品質を判断するため、適切な修正・改善をするため、そして新しい技術を組み合わせるためにも、エンジニア自身の深い技術的知識と経験が不可欠です。生成AIは「書く時間」を短縮するが、「考える時間」と「学ぶ時間」は変わらず、むしろそこにこそエンジニアの価値が集中すると締めくくっています。