日本の開発現場における最強AIプロンプトチートシート⑥ - パフォーマンス・セキュリティ

## パフォーマンス最適化

### パフォーマンス問題分析プロンプト

```
以下のパフォーマンス問題を分析し、原因と解決策を提案してください：

【問題の概要】
{パフォーマンス問題の症状と影響}

【システム構成】
{関連するシステム構成、アーキテクチャ}

【計測データ】
{レスポンスタイム、CPU使用率、メモリ使用量、DBクエリ実行時間など}

【問題発生状況】
{問題が発生する条件、タイミング、頻度など}

【関連コード/クエリ】
{パフォーマンス問題に関連するコードやSQLクエリ}

【出力形式】
- 問題の要約
- 考えられる原因の分析
  - アプリケーションレベルの問題
  - データベースレベルの問題
  - インフラストラクチャレベルの問題
- ボトルネックの特定
- 短期的な改善策
- 長期的な改善策
- 改善効果の予測
- 検証方法の提案
```

### SQLクエリ最適化プロンプト

```
以下のSQLクエリを最適化してください：

【対象クエリ】
{最適化対象のSQLクエリ}

【実行環境】
{DBMSの種類とバージョン}

【テーブル構造と件数】
{関連するテーブルの構造、インデックス、およそのレコード件数}

【実行計画/パフォーマンス情報】
{可能であれば現在の実行計画や実行時間}

【クエリの目的】
{このクエリが何を達成しようとしているのか}

【出力形式】
- 現在のクエリの問題点
- 最適化したクエリ
- 最適化のポイント説明
  - インデックス活用
  - 結合方法の改善
  - サブクエリの最適化
  - 不要な処理の削減
- インデックス改善提案
- クエリ実行計画の予測
- テーブル設計の改善提案（必要に応じて）
```

### アプリケーションパフォーマンス最適化プロンプト

```
以下のコードのパフォーマンスを最適化してください：

【対象コード】
{最適化対象のコード}

【言語・フレームワーク】
{プログラミング言語とフレームワーク}

【パフォーマンス問題】
{現在のパフォーマンス問題の症状}

【実行環境】
{コードが実行される環境、リソース制約など}

【処理量・データ量】
{想定される処理量やデータ量}

【出力形式】
- 現在のコードの問題点分析
- 最適化したコード
- 最適化のポイント説明
  - アルゴリズムの改善
  - メモリ使用量の最適化
  - CPU使用の効率化
  - 非同期処理の活用
  - キャッシュの活用
- 予想されるパフォーマンス向上
- トレードオフ（可読性、保守性など）
- 検証方法の提案
```

### フロントエンドパフォーマンス最適化プロンプト

```
以下のフロントエンドコードのパフォーマンスを最適化してください：

【対象コード】
{最適化対象のHTMLやJavaScript、CSSコード}

【フレームワーク】
{使用しているフロントエンドフレームワーク}

【パフォーマンス問題】
{ページロード時間、レンダリング遅延などの問題}

【ブラウザ環境】
{対象ブラウザや端末}

【計測データ】
{Lighthouseスコアやパフォーマンス計測値など}

【出力形式】
- 現在のコードの問題点分析
- 最適化したコード
- 最適化のポイント説明
  - レンダリングパフォーマンス改善
  - JavaScript実行効率の向上
  - リソース読み込みの最適化
  - キャッシュ戦略
  - バンドルサイズの削減
- Core Web Vitalsへの影響
- モバイル最適化の提案
- 検証方法の提案
```

### データベース最適化プロンプト

```
以下のデータベース設計・利用状況を分析し、パフォーマンス最適化を提案してください：

【データベース情報】
{DBMSの種類、バージョン}

【テーブル構造】
{主要テーブルの構造、リレーションシップ}

【インデックス情報】
{現在のインデックス設定}

【クエリパターン】
{頻繁に実行される代表的なクエリ}

【データ量】
{主要テーブルのレコード数とその増加傾向}

【パフォーマンス問題】
{現在発生しているパフォーマンス問題}

【出力形式】
- データベース設計の分析
- インデックス戦略の評価と提案
- クエリの最適化提案
- テーブル設計の改善提案
- パーティショニング戦略（必要な場合）
- キャッシュ戦略
- メンテナンス・運用改善提案
- スケーリング戦略
- 具体的な実装手順
- パフォーマンスモニタリング提案
```

### キャッシュ戦略設計プロンプト

```
以下のシステムに最適なキャッシュ戦略を設計してください：

【システム概要】
{システムの機能や目的}

【アーキテクチャ】
{システムのアーキテクチャ概要}

【データアクセスパターン】
{データの読み書き比率、アクセス頻度など}

【データ特性】
{データの更新頻度、整合性要件など}

【スケール要件】
{想定されるトラフィック、データ量など}

【現在の問題点】
{現在のパフォーマンス問題}

【出力形式】
- キャッシュ戦略の概要
- キャッシュ対象の選定
  - キャッシュに適したデータ
  - キャッシュに適さないデータ
- キャッシュ階層設計
  - ブラウザキャッシュ
  - アプリケーションキャッシュ
  - データベースキャッシュ
- キャッシュ無効化戦略
- キャッシュの一貫性確保
- キャッシュツールの選定提案
- キャッシュサイジング
- モニタリング方法
- 実装手順と優先順位
```

### 負荷対策設計プロンプト

```
以下のシステムに対する負荷対策を設計してください：

【システム概要】
{システムの機能や目的}

【現行アーキテクチャ】
{現在のシステムアーキテクチャ}

【予想される負荷】
{想定されるトラフィックやデータ量、ピーク時の状況}

【性能要件】
{応答時間、スループットなどの要件}

【制約条件】
{予算、技術スタック、既存システムとの互換性など}

【出力形式】
- 負荷対策の全体戦略
- スケーリング戦略
  - 垂直スケーリング（スケールアップ）の提案
  - 水平スケーリング（スケールアウト）の提案
- 負荷分散方式
  - ロードバランサー設計
  - セッション管理
- データベース負荷対策
  - レプリケーション
  - シャーディング
- キャッシュ戦略
- 非同期処理の活用
- 静的コンテンツの最適化
- マイクロサービス化の検討
- 過負荷保護の仕組み
- 実装の優先順位と段階的アプローチ
- 投資対効果の予測
```

### パフォーマンステスト計画プロンプト

```
以下のシステムに対するパフォーマンステスト計画を作成してください：

【システム概要】
{システムの機能や目的}

【テスト目的】
{テストで確認したい性能特性}

【性能要件】
{応答時間、スループット、リソース利用率などの要件}

【システム構成】
{システムの構成、インフラ環境}

【テスト環境】
{テスト環境の構成、本番環境との差異}

【出力形式】
- テスト計画の概要
- テスト種類と目的
  - 負荷テスト（通常負荷）
  - ストレステスト（限界性能）
  - 耐久テスト（長時間安定性）
  - スパイクテスト（急激な負荷変動）
- 負荷シナリオ設計
  - ユーザー行動モデル
  - トランザクションの組み合わせ
  - データセット
- 測定指標と成功基準
- テストツールと構成
- テスト実施手順
- 結果分析方法
- リスクと対策
- スケジュール
```

## セキュリティ対策

### セキュリティリスク分析プロンプト

```
以下のシステムのセキュリティリスクを分析してください：

【システム概要】
{システムの機能や目的}

【システムアーキテクチャ】
{システムの構成、使用技術}

【取り扱うデータ】
{個人情報、機密情報など重要データの種類}

【利用環境】
{システムの利用環境、アクセス方法}

【現在のセキュリティ対策】
{現在実施しているセキュリティ対策}

【懸念事項】
{特に懸念しているセキュリティリスク}

【出力形式】
- リスク分析の概要
- 主要なセキュリティリスク
  - 認証・認可関連のリスク
  - データ保護関連のリスク
  - 通信セキュリティのリスク
  - インフラストラクチャのリスク
  - アプリケーションレベルのリスク
- 重要度に基づくリスクの優先順位付け
- 脅威モデル
  - 脅威の種類と攻撃シナリオ
  - 攻撃者プロファイル
- 対策の提案
  - 短期的対策
  - 長期的対策
- セキュリティテスト戦略
- セキュリティガバナンス提案
```

### セキュアコーディングレビュープロンプト

```
以下のコードのセキュリティレビューを行ってください：

【対象コード】
{レビュー対象のコード}

【言語・フレームワーク】
{プログラミング言語とフレームワーク}

【システム概要】
{システムの概要、処理の目的}

【取り扱うデータ】
{処理するデータの種類、重要度}

【出力形式】
- セキュリティレビュー概要
- 検出された脆弱性
  - 入力検証の不備
  - 認証・認可の問題
  - 機密情報の取り扱い問題
  - セッション管理の問題
  - SQLインジェクション
  - XSS脆弱性
  - CSRFリスク
  - その他の脆弱性
- 各脆弱性の詳細
  - 問題の箇所
  - リスクの説明
  - 想定される攻撃シナリオ
  - 影響度
- 修正提案
  - 具体的なコード修正例
  - ベストプラクティスの適用
- 残存リスクと追加対策
```

### 認証・認可設計プロンプト

```
以下の要件に基づいて認証・認可の設計を行ってください：

【システム概要】
{システムの機能や目的}

【ユーザータイプ】
{システムを利用するユーザーの種類}

【アクセス要件】
{各ユーザータイプのアクセス権限要件}

【セキュリティ要件】
{必要なセキュリティレベル、規制要件など}

【技術制約】
{使用技術、フレームワークなどの制約}

【出力形式】
- 認証設計
  - 認証方式の選定（パスワード、多要素認証など）
  - 認証フロー
  - アカウント管理ポリシー
  - パスワードポリシー
- 認可設計
  - 認可モデル（RBAC、ABACなど）
  - ロールとパーミッションの定義
  - アクセス制御ルール
- セッション管理
  - セッションライフサイクル
  - セッションセキュリティ
- トークン設計（必要に応じて）
  - トークンの種類と目的
  - トークンの署名と暗号化
  - トークン無効化
- API保護
  - APIアクセス制御
  - レート制限
- 実装ガイドライン
  - セキュアなコーディング手法
  - ライブラリ・フレームワークの使用方法
- テスト方針
```

### GDPR/個人情報保護対応設計プロンプト

```
以下のシステムに対するGDPR/個人情報保護法対応の設計を行ってください：

【システム概要】
{システムの機能や目的}

【取り扱う個人データ】
{収集・処理する個人データの種類}

【データフロー】
{個人データの収集、処理、保存、削除の流れ}

【法的要件】
{準拠すべき法律や規制（GDPR、個人情報保護法など）}

【地理的範囲】
{サービス提供地域、ユーザーの所在国}

【出力形式】
- 法的要件の分析
  - 適用される規制の特定
  - 主要な遵守要件
- プライバシー設計原則
  - Privacy by Design実装方針
  - データ最小化の方針
- 同意管理の設計
  - 同意取得プロセス
  - 同意の証跡管理
  - 同意の撤回方法
- データ主体の権利対応設計
  - アクセス権
  - 修正権
  - 消去権（忘れられる権利）
  - データポータビリティ権
- データセキュリティ対策
  - 暗号化設計
  - アクセス制御
- データ保持ポリシー
  - 保持期間の設定
  - 自動削除の仕組み
- プライバシー影響評価（PIA）
- データ処理記録の管理方法
- システム機能への実装方針
```

### セキュリティ監視設計プロンプト

```
以下のシステムに対するセキュリティ監視の設計を行ってください：

【システム概要】
{システムの機能や目的}

【システム構成】
{システムの構成、コンポーネント}

【想定脅威】
{想定されるセキュリティ脅威}

【監視要件】
{検知すべきセキュリティイベント、対応時間など}

【運用体制】
{セキュリティ監視の運用体制、スキルレベル}

【出力形式】
- セキュリティ監視の全体方針
- 監視対象とセキュリティイベント
  - インフラレベルの監視項目
  - OSレベルの監視項目
  - アプリケーションレベルの監視項目
  - ネットワークレベルの監視項目
- ログ収集設計
  - 収集すべきログの種類
  - ログフォーマット標準化
  - ログ保存期間と保管方法
- 検知ルール設計
  - 異常検知ルール
  - シグネチャベース検知
  - 相関分析ルール
- アラート設計
  - 重要度定義
  - 通知方法と対象者
  - エスカレーションフロー
- インシデント対応プロセス
  - 初動対応手順
  - 調査・分析手順
  - 封じ込め・排除手順
  - 復旧手順
- 監視ツールと実装方法
- 運用体制とプロセス
```

### インシデント対応計画プロンプト

```
以下のシステムに対するセキュリティインシデント対応計画を作成してください：

【システム概要】
{システムの機能や目的}

【システム構成】
{システムの構成、重要コンポーネント}

【想定インシデント】
{想定されるセキュリティインシデントの種類}

【組織体制】
{インシデント対応に関わる組織体制}

【対応目標】
{インシデント対応の目標（検知時間、復旧時間など）}

【出力形式】
- インシデント対応計画の概要
- インシデント対応体制
  - 役割と責任
  - 連絡体制
  - 外部連携先
- インシデントの分類と優先度
- 対応フェーズ詳細
  - 準備フェーズ
  - 検知フェーズ
  - 分析フェーズ
  - 封じ込めフェーズ
  - 排除フェーズ
  - 復旧フェーズ
  - 学習フェーズ
- インシデント種別ごとの対応手順
  - マルウェア感染
  - 不正アクセス
  - データ漏洩
  - DoS/DDoS攻撃
  - その他のインシデント
- コミュニケーション計画
  - 内部コミュニケーション
  - 外部コミュニケーション
  - 関係者への通知
- 証拠収集と保全手順
- 事後分析と改善プロセス
- 訓練・演習計画
```

### ペネトレーションテスト計画プロンプト

```
以下のシステムに対するペネトレーションテスト計画を作成してください：

【システム概要】
{システムの機能や目的}

【テスト対象】
{ウェブアプリケーション、インフラなどテスト対象}

【テスト範囲】
{テストの範囲、対象外の領域}

【テスト種別】
{ブラックボックス、グレーボックス、ホワイトボックスなど}

【リスク許容度】
{テスト実施に関するリスク許容度、制約事項}

【出力形式】
- ペネトレーションテスト計画の概要
- テスト目標と範囲
- テスト方法論
  - 採用する標準（OWASP、NISTなど）
  - テストのアプローチ
- テスト項目
  - 偵察フェーズ
  - スキャンフェーズ
  - アクセス獲得フェーズ
  - 権限昇格テスト
  - 横展開テスト
  - 持続性テスト
  - データ収集テスト
  - クリーンアップ
- テストシナリオ
  - 認証バイパス
  - 権限昇格
  - データ漏洩
  - インジェクション攻撃
  - その他の攻撃
- テスト環境と前提条件
- リスク管理と緊急時対応
- レポーティング方法
- スケジュール
```

### セキュアアーキテクチャ設計プロンプト

```
以下の要件に基づいてセキュアなシステムアーキテクチャを設計してください：

【システム要件】
{システムの目的、主要機能}

【セキュリティ要件】
{必要なセキュリティレベル、対応すべき脅威}

【データ要件】
{扱うデータの種類、機密性レベル}

【技術要件】
{利用可能な技術スタック、制約条件}

【スケール要件】
{想定ユーザー数、トラフィック量など}

【出力形式】
- セキュアアーキテクチャの概要
- アーキテクチャの構成要素
  - ネットワーク設計
  - サーバー構成
  - データストレージ
  - アプリケーション層
- セキュリティコントロール
  - 境界防御
  - 認証・認可
  - 暗号化戦略
  - セキュアな通信
  - セグメンテーション
- データ保護手法
  - 保存データの保護
  - 転送中データの保護
  - バックアップ戦略
  - データの分類と取り扱い
- セキュリティ運用の考慮点
  - 監視・検知
  - パッチ管理
  - 構成管理
- ゼロトラスト原則の適用
- DevSecOpsの組み込み
- コンプライアンスへの対応
- アーキテクチャの進化と拡張性
```

### クラウドセキュリティ設計プロンプト

```
以下の要件に基づいたクラウド環境のセキュリティ設計を行ってください：

【クラウド環境】
{利用するクラウドサービス（AWS、Azure、GCPなど）}

【システム要件】
{クラウド上に構築するシステムの概要}

【ワークロード特性】
{デプロイするワークロードの特性}

【データ特性】
{扱うデータの種類、機密性レベル}

【コンプライアンス要件】
{準拠すべき規制、標準など}

【出力形式】
- クラウドセキュリティ設計の概要
- アカウント・権限設計
  - アカウント構造
  - IAM設計
  - 最小権限の原則の適用
- ネットワークセキュリティ
  - VPC設計
  - セグメンテーション
  - 境界防御
- データ保護
  - 暗号化戦略
  - アクセス制御
  - データ分類
- コンピューティングセキュリティ
  - サーバーレスセキュリティ
  - コンテナセキュリティ
  - 仮想マシンセキュリティ
- セキュリティ監視と検知
  - ログ収集と分析
  - 異常検知
  - インシデント対応
- コンプライアンスの確保
  - 証跡の確保
  - 監査対応
- 自動化とIaC（Infrastructure as Code）
- セキュリティオペレーション
- クラウドサービス固有の推奨設定
```