プロンプトのベストプラクティス
1. より良い出力を得るためのプロンプトエンジニアリングの習得:
AIをエンジニアリングパートナーとして扱いましょう。AIはあなたが明確に伝えたことしか知りません。- 明確さと冗長性: 明確で冗長なプロンプトは、より優れた出力につながります。具体的であること、正確なページ(例:
/dashboard
)や期待される動作に言及することが重要です。次のような自然言語でリクエストを使用してください。
- 視覚的な補助: 特にバグやUXの問題を説明する際には、スクリーンショットを追加してください。これにより、言葉だけでは伝わりにくい視覚的なコンテキストを提供できます。
- ガードレールと制限: AIに触れてはいけないものを伝えます。例えば、次のように指示することができます。
- 記憶のための反復: AIの記憶力には限界があるため、必要であればプロンプトをまたいで重要な指示を繰り返してください。
- 複雑なタスクの分割: 複数のことを同時に実装しようとしないでください。作業をより小さく、テスト可能なチャンクに分割してください。各ステップの間でディスカッションモードを使用して、次に進む前に検証します。機能分割に役立つテンプレートには、次のようなものがあります。
- ロール固有の指示: アプリケーションが複数のユーザーロールをサポートしている場合は、プロンプトがどのロールに適用されるかを常に定義してください。これにより、共有ロジックやコンポーネントから生じるバグを防ぐことができます。例えば:
2. ディスカッションモードを頻繁に活用する
ディスカッションモードは、コードをすぐに変更することなく、デバッグ、ブレインストーミング、実装計画を行うために設計されたAIの副操縦士です。- いつ使うか: 「修正を試みる」が2〜3回失敗した後、複雑なロジックやデータベースの問題をデバッグするとき、または新機能を計画するときにディスカッションモードに切り替えます。次のようにプロンプトを出すことができます。
- ワークフローの推奨: 一部のユーザーは、時間の60〜70%をディスカッションモードで過ごし、完全に満足した場合にのみ「計画を実行」をクリックすることが効果的だと感じています。このアプローチは、出力の一貫性を高め、意図しない編集を防ぎます。
- 制御されたインタラクション: 意図しないコードの実行を避けるために、「調査してください、ただしコードはまだ書かないでください」や「何も変更せずにこれを解決する3つの方法を提案してください」のようなプロンプトを使用します。これにより、主導権を自分の手に保つことができます。
- AIループからの脱出: AIが壊れたコードを修正する「ループ」に入った場合は、ディスカッションモードに切り替え、エラーのスクリーンショットを貼り付けて、次のようにプロンプトを出します。
3. 最終手段としてのリミックス
開発の泥沼にはまった場合など、やり直した方が時間がかからないこともあります。- リミックスの機能: リミックスは、T=0時点のプロジェクトのクリーンなコピーを作成します。その後、改善されたプロンプトとより明確な知識で再構築でき、古いプロジェクトは純粋に参照として使用します。
- リミックスするタイミング: バグの多いループにはまってしまった場合、履歴を保持しつつクリーンに再起動したい場合、またはSupabaseのようなデータベースサービスを切断して新しいアプローチを試したい場合に便利です。
4. 忍耐と冷静さを養う
AI開発は予測不可能です。ある瞬間は魔法のようでも、次の瞬間にはイライラさせられることもあります。ビルドの最終段階は、しばしば最も時間がかかります。- 黄金律: プロンプトに時間をかけ、すべてを再確認し、作業を小さくテスト可能なブロックに分割してください。入力の正確さは、出力の品質に直接相関します。
5. ワークフローを強化するためのボーナスのヒント
- 「イライラしています…」パターン: 「イライラしています…」というプロンプトパターンを使用して、AIがより集中できるようにします。
- 編集後のチェック: 大きな編集を行った後は、常に複数のロールとその動作を再確認してください。特に条件付きロジックについては注意が必要です。
- フォールバックバージョン: 安定したバージョンをフォールバックとして保存し、迅速なデバッグに備えます。
- ロール固有のコンポーネント: 過度に汎用的なロジックによるバグを避けるために、AIに次のようにプロンプトを出します。
プロンプトライブラリ – 戦略と例
プロンプトライブラリは、LumiのAIを使った一般的な開発シナリオのための再利用可能なプロンプトパターンと例のコレクションを提供します。これらをプロジェクトに合わせて適応させるテンプレートと考えてください。- プロジェクトの開始
- いつ使うか: プロジェクトのまさに最初に、AIがハイレベルな要件を理解し、基盤を構築するのを助けるために使用します。これは、最初のプロジェクト概要として機能します。
- 使い方: アプリケーションの種類、主要な技術(フロントエンド、バックエンド、サービス)、および主要な機能を概説します。AIにどこから始めるかを指示します。通常はメインページか重要な機能です。
- UI/UXデザインの強化
- いつ使うか: アプリケーションの機能を変更せずに、視覚的な魅力を洗練させるために使用します。これには、UIの磨き上げ、レイアウトの調整、特定のデザインスタイルの実装などが含まれます。
- 使い方: デザイン変更の範囲を明確に定義し、機能は変更しないことを強調します。望ましい美的感覚(例:モダン、ミニマリスト)についてAIをガイドします。複数の変更は一度に一つずつ対処し、ロジックを変更すべきでないUI部分があれば言及します。
- レスポンシブ対応の確保
- いつ使うか: アプリがさまざまな画面サイズ(モバイル、タブレット、デスクトップ)に合わせてレイアウトを適応させる必要がある場合。UI中心のタスクの最終チェックとして理想的です。
- 使い方: モバイルファーストのアプローチを強調し、標準的なブレークポイント全体でレスポンシブであることを確認するようにAIに指示します。特定のCSSフレームワークのガイドライン(例:Tailwindの
sm, md, lg, xl
ブレークポイント)に言及し、固定幅を避けるように要求します。
- コードのリファクタリング
- いつ使うか: 定期的に、特にコードが乱雑になったり遅くなったりした場合。リファクタリングは、外部の動作を変更することなく、コードの構造、可読性、またはパフォーマンスを改善します。
- 使い方: スコープ(ファイル、機能、またはコードベース)を特定します。特定のファイルについては、「このファイルを明確さと効率性のためにリファクタリングしてください。ただし、その機能や出力を変更しないでください」とプロンプトを出します。重複の削減やロジックの簡素化などの重点分野を指定します。より大きなリファクタリングの場合は、AIに段階的な計画を立てるか、まずコードを監査するように依頼します。
- アプリの種類と機能
- AIによる戦略的計画
- いつ使うか: 複雑で多段階の実装を開始する前、または分割する必要のある大きな機能がある場合。計画プロンプトを使用すると、コードが書かれる前にアプローチの概要を説明でき、ポイントを節約し、誤った方向への進行を防ぐことができます。
- 使い方: AIに計画やチェックリストを求めます。例えば、「Xの段階的な計画の概要を説明してください」や「コーディングの前に、Yを実装するために取る手順をリストアップしてください」などです。これは、コードの実行を避けるためにディスカッションモードで行うのが最適です。