プロンプトエンジニアリング
プロンプトエンジニアリングは、VJSPのようなAIモデルに対して効果的な指示を作成するための中核となる方法論です。よく書かれたプロンプトは、出力の品質を高め、エラー率を低下させ、ワークフロー全体を最適化します。
基本原則
明確性と具体性
曖昧さを避けるために、依頼内容を明確に記述してください。
- 悪い例:このコードを直して。
- 良い例:
calculateTotal関数内で誤った戻り値を引き起こしているバグを修正してください。
文脈の提供
対象とするファイル、フォルダ、または問題を正確に指定するために、文脈参照を使用してください。
- 良い例:
@/src/utils.tsのcalculateTotal関数をasync/await構文を使ってリファクタリングしてください。
- 良い例:
タスクの分解
複雑なタスクは、より小さく明確に定義されたサブタスクに分割しましょう。
例によるガイダンス
特定のコーディングスタイルやデザインパターンが必要な場合は、プロンプト内に参照例を含めてください。
出力形式の指定
特定の形式(例:JSON、Markdownなど)が必要な場合は、プロンプト内で明示的に指定してください。
反復的な改善
初回の出力が期待通りでない場合は、遠慮なくプロンプトの表現を調整・改善してください。
「考える → 行動する」の順序を意識する
VJSPに 「まず考える、その後行動する(Think First, Act Later)」 というワークフローに従わせると、タスク完了の質が向上することがよくあります:
分析フェーズ
VJSPに既存コードの分析、問題点の特定、または全体的な解決戦略の概要作成を依嘱します。計画フェーズ
タスク完了に必要な具体的なステップをリストアップさせます。実行フェーズ
計画に従って、ステップごとに解決策を実装するよう指示します。レビューフェーズ
各ステップ完了後、次のステップに進む前にその出力を厳密にレビューします。
カスタムインストラクションの活用
カスタムインストラクションを使うことで、VJSPの動作をさらに細かく調整できます。種類は以下の2つです:
グローバルカスタムインストラクション
すべての機能モードに適用されます。モード固有のカスタムインストラクション
特定の機能モード(例:コーディングモード、アーキテクチャ設計モード、Q&Aモード、デバッグモード、カスタムモードなど)にのみ適用されます。
カスタムインストラクションはシステムプロンプトに統合され、モデルに対して継続的なガイダンスを提供します。これにより、以下のような用途に活用できます:
- コーディングスタイル規約の強制
- 推奨ライブラリやフレームワークの指定
- プロジェクト固有の開発慣習の定義
- VJSPの出力トーンや対話スタイルの調整
詳細については、カスタムインストラクション のセクションをご参照ください。
曖昧さへの対処
プロンプトに曖昧さや不足情報が含まれている場合、VJSPは以下のいずれかの方法で応答します:
自律的推論
既存の知識に基づいて最善の推測を行いますが、結果が実際の要件と一致しない可能性があります。明確化の質問
ask_followup_questionツールを使って、ユーザーに追加情報を求めます。
不要なコミュニケーションのオーバーヘッドを最小限に抑えるため、最初から明確かつ具体的な指示を提供してください。
フィードバック機構の活用
VJSPの出力が期待に沿わない場合は、以下のフィードバック方法をご利用ください:
提案されたアクションを拒否する
VJSPがニーズに合わないアクションを提案した場合、「拒否(Reject)」ボタンをクリックします。拒否理由を説明する
拒否時には、モデルがミスから学べるよう、明確な理由を記述してください。依頼を言い換える
元のタスクを言い換えたり、より具体的な指示を追加したりしてみてください。出力を手動で編集する
軽微な問題のみがある場合は、生成された内容を直接編集してから承認しても構いません。
例の比較
| カテゴリ | 良い例 | 悪い例 |
|---|---|---|
| コードのリファクタリング | @/src/components/Button.tsx の Button コンポーネントを、useReducer フックから useState フックに置き換えるようにリファクタリングしてください | このボタンコンポーネントを直して |
| ファイル作成 | 新しいファイル utils.py を作成し、数値のリストを受け取ってその平均値を返す calculate_average 関数を実装してください | Pythonコードを書いて |
| バグ修正 | @problems 現在のファイル内のすべてのエラーと警告を修正してください | 全ての問題を直して |
これらのテクニックに従うことで、非常に効果的なプロンプトを作成し、VJSPの能力を最大限に引き出すことができます。
