T-CREATOR

gpt-oss プロンプト設計チートシート:指示・制約・出力フォーマットの即戦力例 100

gpt-oss プロンプト設計チートシート:指示・制約・出力フォーマットの即戦力例 100

GPT や Claude 等の大規模言語モデルを活用したオープンソース開発において、効果的なプロンプト設計は開発効率や品質を大きく左右する重要な要素です。しかし、「どのように指示を書けば望む結果が得られるのか」「制約の設定方法がわからない」「出力フォーマットをどう指定すべきか」といった悩みを抱える開発者が多いのも現実です。

本記事では、GPT-OSS プロジェクトで実際に使える 100 のプロンプトパターンを、指示・制約・出力フォーマットの 3 要素に分けて体系的にご紹介します。初心者の方でも今すぐ活用できる実践的なチートシートとして、ぜひご活用ください。

プロンプト設計パターン 100 例 一覧表

指示設計パターン(33例)

No.パターン名カテゴリ概要
1基本機能実装コード生成ユーザー登録機能をTypeScriptで実装
2APIエンドポイント作成コード生成RESTful APIでページネーション付き商品一覧
3データベース操作コード生成PostgreSQLで注文履歴テーブル設計
4フロントエンドコンポーネントコード生成Reactで商品カードコンポーネント作成
5認証機能コード生成JWTを使用したログイン機能実装
6エラーハンドリングコード生成API通信エラーの適切な処理実装
7バリデーション機能コード生成フォーム入力値のバリデーション実装
8データ変換処理コード生成CSVからJSON形式への変換機能
9検索機能コード生成全文検索機能の実装
10キャッシュ機能コード生成Redisを使用したキャッシュ機能
11ファイルアップロードコード生成画像ファイルアップロード機能
12全体的なレビューコードレビューバグ・パフォーマンス・セキュリティ確認
13パフォーマンス最適化コードレビュー実行時間・メモリ使用量の改善提案
14セキュリティチェックコードレビューセキュリティホールの特定
15リファクタリング提案コードレビュー保守しやすい形への改善
16テスタビリティ向上コードレビューモック化しやすい構造への変更
17型安全性チェックコードレビューTypeScript型安全性の向上
18エラーハンドリング改善コードレビュー適切な例外処理の追加
19コードスタイル統一コードレビューコーディング規約への統一
20可読性向上コードレビュー変数名改善・コメント追加
21依存関係最適化コードレビュー外部ライブラリ依存の最適化
22ドキュメント追加コードレビュー関数説明・使用例の追加
23ユニットテスト作成テスト・デバッグ正常系・異常系・境界値テスト
24統合テスト設計テスト・デバッグAPIエンドポイントの統合テスト
25エンドツーエンドテストテスト・デバッグユーザー操作シミュレートテスト
26モックテストテスト・デバッグ外部API使用機能のモックテスト
27パフォーマンステストテスト・デバッグ負荷・ストレス・スループット測定
28バグ原因調査テスト・デバッグログ解析・コードトレース
29デバッグ支援テスト・デバッグブレークポイント・実行パス追跡
30テストデータ生成テスト・デバッグリアルなダミーデータ生成
31回帰テストテスト・デバッグ修正による影響範囲のテスト
32セキュリティテストテスト・デバッグ認証回避・権限昇格テスト
33アクセシビリティテストテスト・デバッグスクリーンリーダー・キーボード対応確認

制約設計パターン(33例)

No.パターン名カテゴリ概要
34プログラミング言語指定技術制約TypeScript使用、JavaScript禁止
35フレームワーク制限技術制約React 18.x、関数コンポーネントのみ
36ライブラリ依存制限技術制約既存dependenciesのみ使用
37バージョン制約技術制約Node.js 18以上、ES2022機能のみ
38ブラウザ対応制約技術制約Chrome 90+、Firefox 88+、Safari 14+
39データベース制約技術制約PostgreSQL 14、MySQL特有機能禁止
40API仕様制約技術制約RESTful API規約、GraphQL禁止
41セキュリティ制約技術制約OWASP Top 10準拠、平文パスワード禁止
42パフォーマンス制約技術制約ページロード3秒以内、API 500ms以内
43メモリ使用量制約技術制約1GB以下、メモリリーク禁止
44ファイルサイズ制約技術制約JSバンドル500KB、画像1MB以下
45コードカバレッジ制約品質制約ユニットテスト80%以上
46コード複雑度制約品質制約循環的複雑度10以下、ネスト3層以下
47命名規則制約品質制約キャメルケース、略語・数字のみ禁止
48ファイル構成制約品質制約1ファイル200行、1関数50行以下
49依存関係制約品質制約循環依存禁止、階層構造明確化
50コメント制約品質制約パブリック関数にJSDoc必須
51エラーハンドリング制約品質制約全例外キャッチ、わかりやすいメッセージ
52ログ出力制約品質制約console.log禁止、適切なログレベル
53型安全性制約品質制約any型禁止、明示的型指定
54アクセシビリティ制約品質制約WCAG 2.1 AA準拠
55国際化制約品質制約文字列ハードコード禁止、i18n対応
56既存コード保護制約プロジェクト制約APIエンドポイント変更禁止
57データ保護制約プロジェクト制約DB構造変更禁止、カラム追加のみ
58設定ファイル制約プロジェクト制約本番環境設定変更禁止
59権限制約プロジェクト制約管理者権限禁止、一般ユーザー権限のみ
60環境制約プロジェクト制約Dockerコンテナ内動作、ホストOS依存禁止
61予算制約プロジェクト制約有料サービス禁止、OSS使用
62期限制約プロジェクト制約2週間以内実装、段階的リリース
63チーム制約プロジェクト制約現在スキルレベル考慮、複雑設計回避
64運用制約プロジェクト制約24時間365日運用、ダウンタイム禁止
65監査制約プロジェクト制約全操作ログ記録、監査要件満足
66規制制約プロジェクト制約GDPR・個人情報保護法準拠

出力フォーマット設計パターン(34例)

No.パターン名カテゴリ概要
67基本コード出力コード生成用コードブロック・ポイント・使用例
68段階的実装フォーマットコード生成用ステップ1〜4の段階的コード
69ファイル分割フォーマットコード生成用ファイル名付きコードブロック
70テスト付きフォーマットコード生成用実装・テスト・実行方法
71設定込みフォーマットコード生成用メイン・設定・依存関係
72API仕様書フォーマットコード生成用エンドポイント・リクエスト・レスポンス
73コンポーネント設計フォーマットコード生成用Props・実装・スタイル・使用例
74データベース設計フォーマットコード生成用テーブル・インデックス・クエリ・マイグレ
75関数設計フォーマットコード生成用シグネチャ・実装・使用例・エラー
76パッケージ設計フォーマットコード生成用構成・エントリー・モジュール・設定
77設定ファイルフォーマットコード生成用開発・本番・環境変数・読み込み
78デプロイメントフォーマットコード生成用Docker・compose・スクリプト・手順
79コードレビューフォーマットレビュー・分析用評価・良い点・改善点・修正後
80パフォーマンス分析フォーマットレビュー・分析用現状・最適化案・改善効果
81セキュリティ監査フォーマットレビュー・分析用レベル・問題・修正・推奨事項
82アーキテクチャ分析フォーマットレビュー・分析用構造・問題点・改善提案・移行
83依存関係分析フォーマットレビュー・分析用マップ・問題依存・最適化案
84テストカバレッジフォーマットレビュー・分析用現状・未テスト・追加提案
85コード品質フォーマットレビュー・分析用指標・改善対象・リファクタリング
86API仕様分析フォーマットレビュー・分析用一覧・問題API・推奨追加
87ドキュメント分析フォーマットレビュー・分析用現状・改善案・テンプレート
88エラーログ分析フォーマットレビュー・分析用分類・主要エラー・修正提案
89統合結果フォーマットレビュー・分析用全体評価・優先項目・実装計画
90READMEフォーマットドキュメント・説明用概要・インストール・使用方法・開発
91APIドキュメントフォーマットドキュメント・説明用認証・エンドポイント・エラーコード
92設計書フォーマットドキュメント・説明用要件・アーキテクチャ・DB・IF設計
93操作マニュアルフォーマットドキュメント・説明用基本操作・トラブルシューティング
94リリースノートフォーマットドキュメント・説明用新機能・改善・バグ修正・破壊的変更
95コード説明フォーマットドキュメント・説明用概要・詳細解説・注意事項
96学習用フォーマットドキュメント・説明用目標・基礎知識・ステップ・練習問題
97比較表フォーマットドキュメント・説明用対象・比較表・推奨選択
98課題解決フォーマットドキュメント・説明用問題整理・原因分析・解決案・推奨
99技術検証フォーマットドキュメント・説明用目的・方法・結果・結論・次アクション
100総合レポートフォーマットドキュメント・説明用概要・技術詳細・テスト・性能・課題・リソース

背景

プロンプト設計の重要性

現代のソフトウェア開発において、AI アシスタントは必要不可欠なツールとなりました。特に GPT-4 や Claude などの大規模言語モデルは、コード生成からドキュメント作成、レビューまで幅広い開発業務をサポートしています。

しかし、これらのツールの真価を発揮するためには、適切なプロンプト設計が欠かせません。同じ処理を求める場合でも、プロンプトの書き方次第で出力の品質が大きく変わるのです。

プロンプト設計の良し悪しが開発生産性に与える影響について、以下の図で示します。

mermaidflowchart LR
  poorly_designed["曖昧なプロンプト"] -->|結果| poor_output["不正確な出力<br/>手直しが必要<br/>時間のロス"]
  well_designed["適切なプロンプト"] -->|結果| good_output["期待通りの出力<br/>そのまま利用可能<br/>効率化達成"]

  poor_output -->|累積効果| low_productivity["開発生産性低下"]
  good_output -->|累積効果| high_productivity["開発生産性向上"]

適切なプロンプト設計により、開発者は意図した通りの結果を効率的に得ることができ、全体的な開発品質と速度の向上が期待できます。

GPT-OSS プロジェクトでのプロンプト活用

オープンソース開発におけるプロンプト活用は、個人開発とは異なる特徴があります。複数の開発者が参加し、コードの品質や一貫性がより重要になるためです。

GPT-OSS プロジェクトでは、以下のような場面でプロンプトが活用されています。

活用場面具体的な用途期待される効果
コード生成新機能の実装、バグ修正開発速度の向上
コードレビュー品質チェック、改善提案コード品質の均一化
ドキュメント作成API 仕様書、README 更新ドキュメント品質向上
テスト生成ユニットテスト、統合テストテストカバレッジ向上
リファクタリング既存コードの改善保守性の向上

これらの用途において、プロンプトの設計方法により、AI からの出力品質が大きく左右されることが分かっています。特に複数人で開発を行う OSS プロジェクトでは、プロンプトの標準化やパターン化が重要になります。

課題

効果的なプロンプト設計の難しさ

多くの開発者がプロンプト設計で直面する課題は、「何をどのように伝えれば AI が期待通りの結果を返してくれるのか」という点です。プログラミング言語のように明確な文法がないため、試行錯誤を繰り返すことが多くなります。

特に以下のような問題が頻繁に発生しています。

曖昧な指示による問題

  • 「良いコードを書いて」→ 何が「良い」のか AI には伝わらない
  • 「バグを修正して」→ どのバグをどのように修正するか不明確
  • 「テストを追加して」→ どの種類のテストをどの程度追加するか曖昧

情報不足による問題

  • 既存コードの文脈や制約を伝えずに新機能を依頼
  • プロジェクトの命名規則やコーディングスタイルを無視した出力
  • 使用している技術スタックやフレームワークを考慮しない提案

これらの問題により、以下のような無駄な時間が発生してしまいます。

mermaidflowchart TD
  vague_prompt["曖昧なプロンプト"] --> poor_result["期待と異なる結果"]
  poor_result --> retry["再試行・修正依頼"]
  retry --> time_waste["時間のロス"]

  poor_result --> manual_fix["手動での修正作業"]
  manual_fix --> frustration["フラストレーション"]

  time_waste --> productivity_loss["生産性低下"]
  frustration --> productivity_loss

指示・制約・出力フォーマットの使い分け

プロンプト設計において、多くの開発者が混同しがちな要素があります。それが「指示」「制約」「出力フォーマット」の 3 つです。

これらの要素を適切に使い分けることで、AI からより正確で有用な出力を得ることができますが、実際には以下のような使い分けの問題が発生しています。

要素本来の役割よくある間違い正しい使い方
指示何をするかを明確に伝える「コードを改善して」「パフォーマンスを 20%向上させるためにアルゴリズムを最適化して」
制約守るべき条件や制限を設定制約を設定せずに依頼「既存の API 仕様を変更せずに」「TypeScript 使用」
出力フォーマット結果の形式や構造を指定形式指定なし「コードブロック + 変更理由 + テスト方法」

使い分けができていない場合の典型的な問題

  1. 指示が制約と混在している

    • 例:「React でログイン機能を作って、でも useState は使わないで」
    • 問題:指示と制約が一文に混在し、優先度が不明確
  2. 出力フォーマットが未指定

    • 例:「このコードをレビューして」
    • 問題:コードだけなのか、説明付きなのか、改善提案も含むのか不明
  3. 制約が曖昧

    • 例:「きれいなコードで書いて」
    • 問題:「きれい」の基準が不明確で、人それぞれ解釈が異なる

これらの課題を解決するためには、プロンプト設計の体系的なアプローチが必要になります。

解決策

プロンプト設計の 3 要素フレームワーク

前述の課題を解決するため、プロンプト設計を「指示(Instruction)」「制約(Constraint)」「出力フォーマット(Output Format)」の 3 つの要素に分けて構造化するフレームワークをご提案します。

この 3 要素フレームワークにより、プロンプトの品質を大幅に向上させることができます。

mermaidflowchart TB
  prompt["効果的なプロンプト"] --> instruction["指示<br/>(Instruction)"]
  prompt --> constraint["制約<br/>(Constraint)"]
  prompt --> format["出力フォーマット<br/>(Output Format)"]

  instruction --> inst_detail["・何をするか明確に定義<br/>・具体的なアクションを指定<br/>・目的と期待結果を記述"]
  constraint --> cons_detail["・技術的制約<br/>・品質要求<br/>・スタイルガイド"]
  format --> form_detail["・出力の構造<br/>・応答の形式<br/>・必要な要素"]

各要素の役割と重要性

  1. 指示(Instruction)

    • 役割:AI に何をしてほしいかを具体的に伝える
    • 重要性:曖昧な指示は期待と異なる結果を生む
    • 例:「ユーザー認証機能を実装してください」
  2. 制約(Constraint)

    • 役割:守るべき条件や制限事項を明確にする
    • 重要性:プロジェクトの要件や品質基準を維持
    • 例:「TypeScript を使用し、既存の API 仕様を変更しないこと」
  3. 出力フォーマット(Output Format)

    • 役割:結果をどのような形式で受け取りたいかを指定
    • 重要性:後の作業効率や理解しやすさに大きく影響
    • 例:「コードブロック、説明文、テスト例の順で出力」

チートシート活用によるプロンプト効率化

3 要素フレームワークを効率的に活用するため、すぐに使えるプロンプトパターンをチートシート形式でまとめました。これにより、以下のメリットが得られます。

効率化のメリット

メリット詳細効果
時間短縮一から考える必要がない作業時間を 50%削減
品質向上実証済みパターンの活用出力品質の安定化
学習効果パターンから原理を理解プロンプト設計スキル向上
標準化チーム内での統一基準コミュニケーション効率化

チートシートの構成

本記事では、実際の開発現場で使える 100 のプロンプトパターンを以下のように分類して紹介します。

  • 指示設計パターン 33 例:具体的で効果的な指示の書き方
  • 制約設計パターン 33 例:適切な制約条件の設定方法
  • 出力フォーマット設計パターン 34 例:用途別の最適な出力形式

これらのパターンを組み合わせることで、あらゆる開発シーンに対応できる高品質なプロンプトを作成できます。

具体例

4-1. 指示設計パターン(33 例)

効果的な指示設計のパターンを、開発現場で頻繁に使われるシーン別に分類してご紹介します。各パターンは実際のプロジェクトですぐに活用できる形式で記載しています。

コード生成系指示パターン(11 例)

1. 基本機能実装

ユーザー登録機能を TypeScript で実装してください。
メールアドレスとパスワードでアカウントを作成できるようにしてください。

2. API エンドポイント作成

RESTful API で商品一覧を取得するエンドポイントを作成してください。
ページネーション機能付きで、1ページあたり20件の商品を返すようにしてください。

3. データベース操作

PostgreSQL を使用して、注文履歴を保存するテーブル設計とクエリを作成してください。
ユーザーID、商品ID、注文日時、数量、金額を格納できるようにしてください。

4. フロントエンド コンポーネント

React で商品カード コンポーネントを作成してください。
商品画像、タイトル、価格、「カートに追加」ボタンを含むレスポンシブデザインにしてください。

5. 認証機能

JWT を使用したログイン機能を実装してください。
ログイン成功時にトークンを発行し、保護されたルートにアクセスできるようにしてください。

6. エラーハンドリング

API 通信エラーを適切に処理する仕組みを実装してください。
ネットワークエラー、認証エラー、サーバーエラーを分類して対応してください。

7. バリデーション機能

フォーム入力値のバリデーション機能を実装してください。
メールアドレス形式、パスワード強度、必須項目チェックを含めてください。

8. データ変換処理

javascriptCSV ファイルから JSON 形式にデータを変換する機能を実装してください。
ヘッダー行を考慮し、型変換とエラーチェックも含めてください。

9. 検索機能

全文検索機能を実装してください。
商品名、説明文、カテゴリを対象に、部分一致と完全一致の両方に対応してください。

10. キャッシュ機能

Redis を使用したキャッシュ機能を実装してください。
API レスポンスを5分間キャッシュし、キャッシュ有効期限の管理も含めてください。

11. ファイルアップロード

画像ファイルのアップロード機能を実装してください。
ファイルサイズ制限、形式チェック、リサイズ処理を含めてください。

コードレビュー系指示パターン(11 例)

12. 全体的なレビュー

以下のコードをレビューしてください。
バグの可能性、パフォーマンスの問題、セキュリティの懸念点を指摘してください。

13. パフォーマンス最適化

このコードのパフォーマンスを改善してください。
実行時間を短縮し、メモリ使用量を削減する方法を提案してください。

14. セキュリティチェック

sqlこのコードのセキュリティホールを特定してください。
SQLインジェクション、XSS、認証バイパスのリスクを検査してください。

15. リファクタリング提案

このコードをより保守しやすい形にリファクタリングしてください。
関数分割、責任分離、命名改善を行ってください。

16. テスタビリティ向上

このコードのテスタビリティを向上させてください。
依存性注入、モック化しやすい構造への変更を提案してください。

17. 型安全性チェック

arduinoTypeScript の型安全性を向上させてください。
any 型の削除、より厳密な型定義、型ガードの追加を行ってください。

18. エラーハンドリング改善

エラーハンドリングを改善してください。
適切な例外処理、ログ出力、ユーザーフレンドリーなエラーメッセージを追加してください。

19. コードスタイル統一

コーディング規約に合わせてスタイルを統一してください。
インデント、命名規則、コメントスタイルを一貫させてください。

20. 可読性向上

コードの可読性を向上させてください。
変数名の改善、コメントの追加、複雑な処理の分割を行ってください。

21. 依存関係最適化

外部ライブラリの依存関係を最適化してください。
不要な依存の削除、軽量な代替案の提案を行ってください。

22. ドキュメント追加

このコードにドキュメントを追加してください。
関数の説明、パラメーター、戻り値、使用例を含めてください。

テスト・デバッグ系指示パターン(11 例)

23. ユニットテスト作成

この関数のユニットテストを作成してください。
正常系、異常系、境界値テストを含む包括的なテストケースにしてください。

24. 統合テスト設計

API エンドポイントの統合テストを作成してください。
認証、データベース接続、外部API連携をテストしてください。

25. エンドツーエンドテスト

ユーザー登録からログインまでのE2Eテストを作成してください。
実際のユーザー操作をシミュレートしてテストしてください。

26. モックテスト

外部API を使用する機能のモックテストを作成してください。
成功時とエラー時の両方のシナリオをテストしてください。

27. パフォーマンステスト

この機能のパフォーマンステストを作成してください。
負荷テスト、ストレステスト、スループット測定を含めてください。

28. バグ原因調査

この不具合の原因を調査してください。
ログ解析、コードトレース、再現手順の確認を行ってください。

29. デバッグ支援

この問題のデバッグを支援してください。
ブレークポイント設置箇所、変数確認項目、実行パスの追跡方法を提案してください。

30. テストデータ生成

この機能のテストデータを生成してください。
リアルなダミーデータで、様々なパターンを網羅してください。

31. 回帰テスト

この修正による影響範囲の回帰テストを設計してください。
関連機能への副作用をチェックするテストケースを作成してください。

32. セキュリティテスト

この機能のセキュリティテストを実施してください。
認証回避、権限昇格、データ漏洩のテストを含めてください。

33. アクセシビリティテスト

この画面のアクセシビリティテストを実施してください。
スクリーンリーダー対応、キーボードナビゲーション、色覚対応をチェックしてください。

これらの指示パターンを使用することで、AI に対して明確で具体的な指示を出すことができ、期待通りの結果を得やすくなります。

4-2. 制約設計パターン(33 例)

制約設計は、AI の出力を適切な範囲内に制限し、プロジェクトの要件や品質基準を満たすために重要です。効果的な制約パターンをカテゴリ別にご紹介します。

技術制約パターン(11 例)

34. プログラミング言語指定

制約:TypeScript を使用してください。JavaScript は使用しないでください。

35. フレームワーク制限

制約:React 18.x を使用し、クラスコンポーネントは使用せず関数コンポーネントのみで実装してください。

36. ライブラリ依存制限

制約:新しい外部ライブラリを追加せずに、既存の dependencies のみを使用してください。

37. バージョン制約

制約:Node.js 18 以上、ES2022 の機能のみを使用してください。ES2023 の新機能は使用しないでください。

38. ブラウザ対応制約

制約:IE11 は対象外とし、Chrome 90+、Firefox 88+、Safari 14+ に対応してください。

39. データベース制約

制約:PostgreSQL 14 を使用し、SQLite や MySQL 特有の機能は使用しないでください。

40. API 仕様制約

制約:RESTful API の規約に従い、GraphQL や RPC スタイルは使用しないでください。

41. セキュリティ制約

css制約:OWASP Top 10 のセキュリティ基準を満たし、平文でのパスワード保存は禁止です。

42. パフォーマンス制約

制約:初期ページロード時間は3秒以内、API レスポンス時間は500ms以内にしてください。

43. メモリ使用量制約

制約:メモリ使用量は1GB以下に抑え、メモリリークが発生しないよう注意してください。

44. ファイルサイズ制約

制約:JavaScript バンドルサイズは500KB以下、画像ファイルは1MB以下にしてください。

品質制約パターン(11 例)

45. コードカバレッジ制約

制約:ユニットテストのコードカバレッジは80%以上を維持してください。

46. コード複雑度制約

制約:関数の循環的複雑度は10以下に抑え、ネストレベルは3層以下にしてください。

47. 命名規則制約

制約:キャメルケースを使用し、略語や数字のみの変数名は使用しないでください。

48. ファイル構成制約

制約:1ファイルあたり200行以下、1関数あたり50行以下に収めてください。

49. 依存関係制約

制約:循環依存を発生させず、階層構造を明確にしてください。

50. コメント制約

制約:パブリック関数には JSDoc コメントを必須とし、複雑な処理には行コメントを追加してください。

51. エラーハンドリング制約

制約:すべての例外を適切にキャッチし、ユーザーに分かりやすいエラーメッセージを表示してください。

52. ログ出力制約

lua制約:本番環境では console.log を使用せず、適切なログレベル(info, warn, error)を設定してください。

53. 型安全性制約

arduino制約:any 型の使用は禁止し、すべての変数と関数に明示的な型を指定してください。

54. アクセシビリティ制約

制約:WCAG 2.1 AA レベルに準拠し、スクリーンリーダー対応を必須としてください。

55. 国際化制約

制約:文字列のハードコーディングは禁止し、i18n 対応を前提とした実装にしてください。

プロジェクト制約パターン(11 例)

56. 既存コード保護制約

制約:既存の API エンドポイントを変更せず、下位互換性を維持してください。

57. データ保護制約

制約:既存のデータベーステーブル構造を変更せず、新しいカラム追加のみ許可します。

58. 設定ファイル制約

制約:本番環境の設定ファイルは変更せず、開発環境でのみ動作確認してください。

59. 権限制約

制約:管理者権限を必要とする操作は含めず、一般ユーザー権限で実行可能にしてください。

60. 環境制約

制約:Docker コンテナ内で動作し、ホストOS に依存する機能は使用しないでください。

61. 予算制約

制約:追加の有料サービスやライセンスは使用せず、無料のオープンソースソリューションのみ使用してください。

62. 期限制約

制約:2週間以内に実装可能な範囲に収め、段階的リリースを考慮してください。

63. チーム制約

制約:現在のチームスキルレベルを考慮し、過度に複雑な設計は避けてください。

64. 運用制約

制約:24時間365日の無停止運用を前提とし、ダウンタイムを発生させる変更は避けてください。

65. 監査制約

制約:すべての操作ログを記録し、監査要件を満たす実装にしてください。

66. 規制制約

制約:GDPR および個人情報保護法に準拠し、個人データの適切な処理を実装してください。

これらの制約パターンを適切に組み合わせることで、プロジェクトの要件を満たしながら、高品質なソフトウェアを効率的に開発できます。

4-3. 出力フォーマット設計パターン(34 例)

出力フォーマットの指定により、AI からの応答を目的に応じた形式で受け取ることができます。用途別の効果的なフォーマットパターンをご紹介します。

コード生成用フォーマット(12 例)

67. 基本コード出力

markdown出力フォーマット:
1. コードブロック(言語指定付き)
2. 実装のポイント(3行以内)
3. 使用例

68. 段階的実装フォーマット

markdown出力フォーマット:
1. ステップ1:基本構造のコード
2. ステップ2:機能追加のコード
3. ステップ3:エラーハンドリングのコード
4. 完成版のコード

69. ファイル分割フォーマット

ini出力フォーマット:
## ファイル名: src/components/Button.tsx
[コードブロック]

## ファイル名: src/types/button.ts
[コードブロック]

## 使用方法
[使用例のコードブロック]

70. テスト付きフォーマット

ini出力フォーマット:
# 実装コード
[メインのコードブロック]

# テストコード
[テストのコードブロック]

# 実行方法
[実行コマンドとエントリーポイント]

71. 設定込みフォーマット

ini出力フォーマット:
# メインコード
[実装コードブロック]

# 設定ファイル
[設定ファイルのコードブロック]

# 依存関係
[package.json の dependencies 部分]

72. API 仕様書フォーマット

ini出力フォーマット:
# エンドポイント
- メソッド: POST
- URL: /api/users
- 説明: [機能説明]

# リクエスト
[リクエストボディの例]

# レスポンス
[レスポンスの例]

# 実装コード
[バックエンドコード]

73. コンポーネント設計フォーマット

ini出力フォーマット:
# Props 定義
[TypeScript インターフェース]

# コンポーネント実装
[React コンポーネントコード]

# スタイル定義
[CSS/SCSS コード]

# 使用例
[親コンポーネントでの使用例]

74. データベース設計フォーマット

ini出力フォーマット:
# テーブル設計
[CREATE TABLE 文]

# インデックス設計
[CREATE INDEX 文]

# クエリ例
[SELECT/INSERT/UPDATE/DELETE の例]

# マイグレーション
[マイグレーションファイル]

75. 関数設計フォーマット

ini出力フォーマット:
# 関数シグネチャ
[型定義とJSDocコメント]

# 実装
[関数の実装コード]

# 使用例
[実際の呼び出し例]

# エラーケース
[エラーハンドリングの例]

76. パッケージ設計フォーマット

ini出力フォーマット:
# パッケージ構成
[ディレクトリ構造]

# エントリーポイント
[index.ts ファイル]

# 主要モジュール
[各モジュールのコード]

# package.json
[パッケージ設定]

77. 設定ファイルフォーマット

ini出力フォーマット:
# 開発環境設定
[development.json]

# 本番環境設定
[production.json]

# 環境変数
[.env.example]

# 読み込み方法
[設定読み込みコード]

78. デプロイメントフォーマット

ini出力フォーマット:
# Dockerfile
[Docker設定]

# docker-compose.yml
[複数サービス設定]

# デプロイメントスクリプト
[自動化スクリプト]

# 環境構築手順
[ステップバイステップの手順]

レビュー・分析用フォーマット(11 例)

79. コードレビューフォーマット

ini出力フォーマット:
# 総合評価
★★★★☆ (4/5)

# 良い点
- [良い点1]
- [良い点2]

# 改善点
- [改善点1: 具体的な修正案]
- [改善点2: 具体的な修正案]

# 修正後のコード
[改善されたコードブロック]

80. パフォーマンス分析フォーマット

ini出力フォーマット:
# 現状分析
- 実行時間: [時間]
- メモリ使用量: [使用量]
- ボトルネック: [問題箇所]

# 最適化案
[最適化されたコード]

# 改善効果
- 実行時間: [改善前][改善後]
- メモリ使用量: [改善前][改善後]

81. セキュリティ監査フォーマット

ini出力フォーマット:
# 脆弱性レベル
HIGH / MEDIUM / LOW

# 発見された問題
1. [脆弱性1: 説明と影響]
2. [脆弱性2: 説明と影響]

# 修正方法
[セキュアなコード例]

# 追加推奨事項
[セキュリティ向上のための提案]

82. アーキテクチャ分析フォーマット

ini出力フォーマット:
# 現在の構造
[アーキテクチャ図(テキスト形式)]

# 問題点
- [設計上の問題1]
- [設計上の問題2]

# 改善提案
[新しいアーキテクチャの提案]

# 移行方法
[段階的な移行プラン]

83. 依存関係分析フォーマット

ini出力フォーマット:
# 依存関係マップ
[モジュール間の依存関係]

# 問題のある依存
- [循環依存の箇所]
- [不要な依存の箇所]

# 最適化案
[依存関係の改善提案]

84. テストカバレッジフォーマット

ini出力フォーマット:
# カバレッジ現状
- 行カバレッジ: [%]
- 分岐カバレッジ: [%]
- 関数カバレッジ: [%]

# 未テスト箇所
[具体的な行番号と内容]

# 追加テスト提案
[テストケースのコード]

85. コード品質フォーマット

ini出力フォーマット:
# 品質指標
- 循環的複雑度: [値]
- 保守性指数: [値]
- 重複率: [%]

# 改善すべき関数
[関数名と改善理由]

# リファクタリング案
[改善されたコード]

86. API 仕様分析フォーマット

ini出力フォーマット:
# API 一覧
[エンドポイントの一覧表]

# 問題のある API
- [問題のあるエンドポイント]
- [問題の内容と改善案]

# 追加推奨 API
[新しく追加すべきエンドポイント]

87. ドキュメント分析フォーマット

ini出力フォーマット:
# ドキュメント現状
- 存在するドキュメント: [リスト]
- 不足しているドキュメント: [リスト]

# 改善案
[ドキュメントの改善提案]

# テンプレート例
[ドキュメントのテンプレート]

88. エラーログ分析フォーマット

ini出力フォーマット:
# エラー分類
- 致命的: [件数]
- 警告: [件数]
- 情報: [件数]

# 主要エラー
[エラーの詳細と原因]

# 修正提案
[修正コードと対策]

89. 統合結果フォーマット

ini出力フォーマット:
# 全体評価
[総合的な評価とスコア]

# 優先修正項目
1. [最優先項目]
2. [次優先項目]

# 実装計画
[修正作業の優先順位とスケジュール]

ドキュメント・説明用フォーマット(11 例)

90. README フォーマット

ini出力フォーマット:
# プロジェクト名

# 概要
[プロジェクトの説明]

# インストール方法
[手順]

# 使用方法
[基本的な使い方]

# 開発者向け情報
[開発環境のセットアップ]

91. API ドキュメントフォーマット

ini出力フォーマット:
# API リファレンス

# 認証
[認証方法]

# エンドポイント
## GET /api/users
[詳細な説明]

# エラーコード
[エラーコードとメッセージ]

92. 設計書フォーマット

ini出力フォーマット:
# 要件定義
[機能要件と非機能要件]

# アーキテクチャ設計
[システム構成]

# データベース設計
[ER図とテーブル定義]

# インターフェース設計
[API仕様]

93. 操作マニュアルフォーマット

ini出力フォーマット:
# 基本操作
## 1. ログイン方法
[手順1]
[手順2]

## 2. 機能の使い方
[詳細手順]

# トラブルシューティング
[よくある問題と解決方法]

94. リリースノートフォーマット

ini出力フォーマット:
# バージョン 1.2.0

# 新機能
- [新機能1]
- [新機能2]

# 改善
- [改善項目1]

# バグ修正
- [修正項目1]

# 破壊的変更
- [変更内容]

95. コード説明フォーマット

ini出力フォーマット:
# 概要
[機能の概要説明]

# 詳細解説
## データフロー
[処理の流れ]

## 重要な関数
[関数の説明]

# 注意事項
[使用時の注意点]

96. 学習用フォーマット

ini出力フォーマット:
# 学習目標
[何を学ぶか]

# 基礎知識
[前提となる知識]

# ステップバイステップ
## ステップ1
[説明とサンプルコード]

## ステップ2
[説明とサンプルコード]

# 練習問題
[確認用の課題]

97. 比較表フォーマット

css出力フォーマット:
# 比較対象
[比較する技術・ツール・手法]

| 項目 | 選択肢A | 選択肢B | 選択肢C |
|------|---------|---------|---------|
| 性能 | ★★★☆☆ | ★★★★☆ | ★★☆☆☆ |
| 学習コスト | ★★☆☆☆ | ★★★☆☆ | ★★★★☆ |

# 推奨選択
[状況別の推奨]

98. 課題解決フォーマット

ini出力フォーマット:
# 問題の整理
[現状の問題点]

# 原因分析
[根本原因]

# 解決案
## 案1: [短期的解決]
[実装方法]

## 案2: [長期的解決]
[実装方法]

# 推奨アプローチ
[最適な解決策]

99. 技術検証フォーマット

ini出力フォーマット:
# 検証目的
[何を確認したいか]

# 検証方法
[実験手順]

# 検証結果
[結果の詳細]

# 結論
[検証から得られた知見]

# 次のアクション
[今後の取り組み]

100. 総合レポートフォーマット

ini出力フォーマット:
# 実装完了レポート

# 実装概要
[何を実装したか]

# 技術的詳細
[使用技術と設計判断]

# テスト結果
[テストの実施結果]

# パフォーマンス
[性能測定結果]

# 今後の課題
[残課題と改善案]

# 関連リソース
[参考資料とリンク]

これらの出力フォーマットパターンを適切に選択・組み合わせることで、目的に最適化された有用な出力を AI から得ることができます。

まとめ

プロンプト設計のベストプラクティス

本記事でご紹介した 100 のパターンを活用することで、GPT-OSS プロジェクトにおけるプロンプト設計の品質を大幅に向上させることができます。効果的なプロンプト設計のためのベストプラクティスをまとめます。

設計原則の重要ポイント

mermaidflowchart TB
  principles["プロンプト設計原則"] --> clarity["明確性<br/>・具体的な指示<br/>・曖昧さの排除<br/>・期待値の明示"]
  principles --> structure["構造化<br/>・3要素の分離<br/>・優先順位の明確化<br/>・段階的な指示"]
  principles --> reusability["再利用性<br/>・パターンの活用<br/>・テンプレート化<br/>・チーム内共有"]

  clarity --> quality["高品質な<br/>AI出力"]
  structure --> quality
  reusability --> quality

段階的な習得アプローチ

  1. 初級段階:基本パターンの習得

    • 指示・制約・出力フォーマットの 3 要素を意識する
    • よく使う 10〜15 パターンを覚える
    • 単純な作業から適用を始める
  2. 中級段階:組み合わせの活用

    • 複数パターンの組み合わせを試す
    • プロジェクト固有の制約を理解する
    • チーム内でのパターン共有を始める
  3. 上級段階:カスタマイズと最適化

    • 自分流のパターンを作成する
    • 状況に応じた最適化を行う
    • 新しいパターンの開発と検証を行う

効果測定と改善サイクル

プロンプト設計の効果を継続的に向上させるため、以下のサイクルを実践してください。

フェーズ活動内容評価指標
計画パターン選択、要件整理要件カバー率
実行プロンプト作成、AI との対話初回成功率
評価出力品質チェック、修正回数測定品質スコア、修正回数
改善パターン改良、新パターン作成生産性向上率

今後の活用に向けて

GPT-OSS プロジェクトでのプロンプト設計は、今後ますます重要になると予想されます。継続的な学習と実践により、開発効率と品質の両方を向上させることができるでしょう。

継続的なスキル向上のための取り組み

  1. 定期的なパターン見直し

    • 月 1 回程度、使用パターンの効果を振り返る
    • 新しい技術動向に合わせてパターンを更新する
    • チームメンバーと知見を共有する
  2. コミュニティへの参加

    • プロンプトエンジニアリングのコミュニティに参加する
    • 成功事例や失敗事例を共有する
    • 最新のベストプラクティスを学習する
  3. 実験的な取り組み

    • 新しい AI モデルでのパターン検証を行う
    • 異なる領域でのパターン応用を試す
    • 自動化ツールの活用を検討する

プロンプト設計は技術と芸術の両方の側面を持っています。本記事のパターンを出発点として、皆様のプロジェクトに最適化されたプロンプト設計手法を確立していただければ幸いです。

効果的なプロンプト設計により、AI を真のパートナーとして活用し、より良いソフトウェア開発を実現してください。

関連リンク

公式ドキュメント・リソース

プロンプトエンジニアリング学習リソース

コミュニティ・フォーラム

開発ツール・フレームワーク

OSS プロジェクト・テンプレート

  • GPT-Engineer - AI 駆動開発ツール
  • OpenDevin - 自律的な AI 開発者エージェント
  • SWE-agent - ソフトウェアエンジニアリングエージェント
  • ChatDev - マルチエージェント開発フレームワーク

ベンチマーク・評価ツール

  • HELM - Stanford HAI による LLM 評価フレームワーク
  • LLM Eval - EleutherAI の LLM 評価ハーネス
  • PromptBench - Microsoft のプロンプト評価ベンチマーク
  • BIG-bench - Google の LLM 総合評価ベンチマーク

技術ブログ・記事

研究論文・学術リソース