効果的な指示の出し方
AIの力を最大限引き出すテクニック
7つのテクニック
1 役割を与える
AIに専門家としての役割を与えると、より専門的な回答が得られます。
"あなたはシニアTypeScriptエンジニアです。
このコードのパフォーマンスを最適化してください。"
2 具体的な例を示す(Few-shot)
期待する出力の例を示すと、AIがパターンを理解します。
"このような形式でコンポーネントを作成して:
例: Button.svelte
- propsでvariant(primary/secondary)を受け取る
- Tailwindでスタイリング
- クリックイベントを親に伝播
同じパターンでInput.svelteを作成して。"
3 ステップバイステップで依頼
複雑なタスクは分割して依頼すると精度が上がります。
"まず、データベーススキーマを設計して。
次に、API エンドポイントを作成。
最後に、フロントエンドのフォームを実装して。
各ステップで確認してから次に進んで。"
4 制約を明示する
使わないでほしい技術、守ってほしいルールを明示します。
"制約:
- jQueryは使わない
- クラスコンポーネントではなく関数コンポーネントで
- any型は禁止
- コメントは日本語で"
5 理由を説明させる
なぜその実装にしたのか説明を求めると、理解が深まります。
"このアプローチを選んだ理由と、他の選択肢との比較も教えて。"
6 エラーをそのまま渡す
エラーメッセージをそのままコピペして、修正を依頼します。
"このエラーを修正して:
TypeError: Cannot read properties of undefined (reading 'map')
at UserList (src/components/UserList.tsx:15:23)"
7 改善点を具体的に指定
「良くして」ではなく、何をどう改善するか具体的に。
"このコードを改善して:
- 重複しているロジックを関数に抽出
- エラーハンドリングを追加
- TypeScriptの型を厳密に"
効果的なフレーズ集
質を上げるフレーズ
- "ベストプラクティスに従って..."
- "本番環境を想定して..."
- "型安全性を重視して..."
- "テスタブルな設計で..."
理解を深めるフレーズ
- "なぜこのアプローチを選んだ?"
- "他の選択肢は?"
- "潜在的な問題点は?"
- "この部分を詳しく説明して"
制御するフレーズ
- "コードだけ出力して、説明は不要"
- "既存のコードは変更しないで"
- "このファイルだけ修正して"
- "確認してから次に進んで"
効率化フレーズ
- "最小限の変更で..."
- "既存のパターンに合わせて..."
- "シンプルに保って..."
- "過度な最適化は不要"