【プロンプト】複雑な要件を完璧なコードに変換する構造化プロンプト by Code-Prompt
AIの思考プロセスを構造化し、堅牢なコード生成を導くための高度なメタプロンプトフレームワーク。
### 構造的要件変換フレームワーク:[Code-Prompt: Recursive Synthesis] このフレームワークは、曖昧な自然言語の要件を、実行可能な論理構造と厳密な型定義を持つコードへ変換するための再帰的思考プロセスである。以下のセクションを順に実行することで、AIが生成するコードの品質と堅牢性を最大化する。 #### 1. 概念的分解と境界の定義(Domain Analysis) 以下のプロンプトをAIに入力し、実装対象のドメインを厳密に定義せよ。 ```markdown # Role: System Architect ## Objective: 与えられた要件に対し、以下の構成要素を抽出し、曖昧さを排除した境界定義を行え。 1. Entities: システムが扱う主要な実体と、その属性(型情報を含む)。 2. Boundaries: システムが「やらないこと」の明示。 3. Invariants: 状態変化において常に真でなければならない不変条件。 4. Constraints: 技術的制約、パフォーマンス目標、セキュリティ要件。 # Input Requirements: [ここに要件を入力] ``` #### 2. 思考実験:逆方向からの検証(Negative Constraint Testing) コードを書く前に、AIに対して「失敗するシナリオ」をシミュレートさせる。これは、実装の穴を塞ぐためのクリティカル・シンキング・プロトコルである。 ```markdown # Protocol: Red-Team Simulation ## Task: 前セクションで定義したシステムに対し、以下の観点で「破壊的思考」を行え。 1. Boundary Violation: システムの境界を越える入力は何か? 2. Race Condition: 非同期処理で発生しうる競合状態の仮説を立てよ。 3. Edge Case: 想定外の入力(null, 空文字, 極端な数値)に対する挙動を定義せよ。 4. Error Propagation: エラーが発生した際、スタックトレースがどこで途切れる可能性があるか? # Output: 検出したリスクに対する防御的実装(Defensive Programming)の方針を提示せよ。 ``` #### 3. 構造化コード生成のテンプレート(Code Synthesis Pattern) 以下の構造に従い、実装コードを出力させること。 ```markdown # Rule: Syntactic Precision コード生成にあたっては、以下のテンプレートを厳守せよ。 ## Specification: - Language: [言語名] - Paradigm: [関数型 / オブジェクト指向等] - Style Guide: [標準規約] ## Implementation Structure: 1. Type Definitions: すべてのデータ構造を型として定義せよ。 2. Interface/Contract: 関数・クラスの入出力インターフェースを定義せよ。 3. Logic Layer: 実際の処理を記述せよ。 4. Validation/Test: ユニットテストコード(Jest/PyTest等)を併記せよ。 ## Constraint: - 冗長なコメントは排除し、自己記述的なコードを書け。 - 外部ライブラリへの依存を最小限に抑え、標準ライブラリで解決可能ならそちらを優先せよ。 ``` #### 4. 再帰的リファクタリング思考(Recursive Refinement) 生成されたコードに対し、AIに自己批評と改善を強いる。 ```markdown # Directive: Self-Correction Loop 生成したコードを以下の観点で再評価し、改善案を提示せよ。 1. Cyclomatic Complexity: 複雑度を下げるために分割すべき関数はあるか? 2. Readability: 変数名と関数名は要件と一致しているか? 3. Performance: 計算量(Big O)の観点で、より効率的なアルゴリズムは存在するか? 4. Maintainability: 拡張時に既存コードを修正せず、追加のみで対応できるか(Open-Closed Principle)? ``` #### 5. 哲学的な検証(The Programmer's Oracle) システムが完成に近づいた際、以下の問いをAIに投げ、論理的な整合性の最終確認を行う。 「このコードが扱う『データ』は、現実に存在するどのような現象を抽象化したものか? その抽象化において、私たちは何を捨て、何を残したか? 捨て去った情報が、将来的な要件変更において致命的な欠陥にならないと断言できるか?」 この問いに対するAIの回答が、実装における「暗黙の仮定」を可視化する。もしAIが「考慮不足」を認めた場合、その部分は技術的負債としてドキュメント化し、例外処理のロジックとして組み込むこと。 #### 6. 実行のためのメタ・コマンド集 プロンプトの最後に以下のコマンドを付与することで、AIの出力を最適化できる。 - `[FORMAT: JSON/MARKDOWN]` : 出力形式の固定。 - `[VERBOSE: OFF]` : 前置きや解説を省き、コード本体のみに集中させる。 - `[TRACE: ON]` : 決定に至った論理的プロセスをコメントとしてコード内に挿入する。 - `[STRICT: TYPE_SAFETY]` : 静的型付け言語のような厳密さを全言語で適用する。 --- **思考ツール:実装の「完全性」を測るためのマトリクス** 以下の項目を実装コードと並行して作成せよ。