0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【無料で使えるプロンプト集】要件を満たすAI実装プロンプトの作り方 - 曖昧な指示から脱却する設計思考のコツ 

0
Posted at

はじめに

AIを使った開発で「動くけど、なんか違う」という経験はありませんか?その原因の多くは、要件がAIに正確に伝わっていないことにあります。

本記事では、システム要件を確実に満たすAI実装プロンプトの設計方法を紹介します。

問題:なぜAIは要件を満たせないのか

AIが要件を満たせない主な理由:

  1. 要件が曖昧 - 「使いやすく」「高速に」などの抽象表現
  2. 制約が未定義 - 使える技術・使えない技術が不明確
  3. 検証基準がない - 何をもって「満たした」と判断するか不明

解決策:要件駆動型プロンプト設計

ステップ1:要件の構造化

要件を以下の形式で整理します:

【機能要件】
- ユーザーがメールアドレスでログインできる
- ログイン失敗時、3回まで再試行可能
- 3回失敗後、30分間アカウントロック

【非機能要件】
- 応答時間:500ms以内
- セキュリティ:パスワードはbcryptでハッシュ化

ステップ2:プロンプトテンプレート

あなたはWebアプリケーション開発の専門家です。

## 実装する機能
{{要件リスト}}

## 技術的制約
- 言語:Python 3.11
- FW:Flask
- DB:PostgreSQL
- 使用禁止:plainテキストでのパスワード保存

## 成果物
1. 実装コード(コメント付き)
2. 単体テストコード
3. 各要件の実現方法の説明

上記をすべて満たす実装を提供してください。

ステップ3:検証と改善

生成されたコードを要件チェックリストで確認:

| 要件 | 満たしているか | 改善点 |
|------|--------------|--------|
| メールログイン | ✅ | - |
| 3回再試行 | ❌ | カウンタ未実装 |
| アカウントロック | ❌ | 時間管理なし |

未達の要件について、プロンプトを具体化:

(改善例)
「ログイン失敗時、3回まで再試行可能」
↓
「ログイン失敗時、Redisに失敗回数を記録し、
キー名は `login_fail:{email}`、TTLは30分。
3回到達でアカウントロック状態にする」

実践のコツ

  1. 具体例を含める - 「こういう入力の時、こう動く」を示す
  2. 段階的に実装 - 一度に全機能ではなく、機能単位で検証
  3. 失敗から学ぶ - AIの誤解パターンを蓄積し、プロンプトに反映

まとめ

AIは強力な実装パートナーですが、要件を正確に伝える設計力が成果を左右します。

  • 要件を構造化する
  • 制約を明示する
  • 検証基準を持つ

この3つを意識することで、AIとの協働品質が劇的に向上します。

次回の開発では、ぜひ「要件駆動型プロンプト」を試してみてください。

おまけのプロンプト集(最近の推し)

  • ①要件をAIプロンプト要素に分解
以下の要件を分析し、AIプロンプトに含めるべき要素を抽出してください:

【要件】
{{requirements}}

以下の形式で出力してください:
1. 役割定義:AIに求める専門性
2. 主要機能:実装すべき機能リスト
3. 制約条件:技術的・ビジネス的制約
4. 入出力仕様:データ形式と期待する動作
5. 品質基準:満たすべき品質指標


  • ②要件充足型実装プロンプト作成
あなたは{{role}}です。以下の要件を完全に満たす実装を提供してください。

## 要件
{{requirements_list}}

## 制約条件
{{constraints}}

## 期待する出力
- 形式:{{output_format}}
- 含めるもの:{{includes}}

## 参考実装例
{{example}}

上記を満たす実装を、テストコード付きで提供してください。各要件がどのように実現されているかコメントで示してください。


  • ③実装検証とプロンプト改善提案
以下のコードが要件を満たしているか検証してください。

## 元の要件
{{original_requirements}}

## 生成されたコード

{{generated_code}}


## 検証項目
各要件について:
1. 満たしている / 部分的 / 満たしていない
2. 満たしていない場合の理由
3. プロンプト改善案(具体的にどう書き換えるべきか)

表形式で出力してください。
  • ④要件駆動型プロンプトテンプレート

# 役割
あなたは{{technical_domain}}の専門家です。

# 目的
{{project_goal}}

# 必須要件(すべて満たすこと)
{{must_requirements}}

# 推奨要件(可能な限り満たすこと)
{{should_requirements}}

# 技術的制約
- 使用言語/FW:{{tech_stack}}
- 使用不可:{{forbidden_tech}}
- パフォーマンス:{{performance}}

# 成果物
以下を含めてください:
- {{deliverable_1}}
- {{deliverable_2}}
- {{deliverable_3}}

# 期待する品質
{{quality_criteria}}

上記をすべて満たす実装を提供し、各要件の実現方法を説明してください。

他、推しのプロンプトが増えたら追加します~
あなたの推しのプロンプトもぜひ教えてください!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?