さとまたwiki

効果的な指示の出し方

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の型を厳密に"

効果的なフレーズ集

質を上げるフレーズ

  • "ベストプラクティスに従って..."
  • "本番環境を想定して..."
  • "型安全性を重視して..."
  • "テスタブルな設計で..."

理解を深めるフレーズ

  • "なぜこのアプローチを選んだ?"
  • "他の選択肢は?"
  • "潜在的な問題点は?"
  • "この部分を詳しく説明して"

制御するフレーズ

  • "コードだけ出力して、説明は不要"
  • "既存のコードは変更しないで"
  • "このファイルだけ修正して"
  • "確認してから次に進んで"

効率化フレーズ

  • "最小限の変更で..."
  • "既存のパターンに合わせて..."
  • "シンプルに保って..."
  • "過度な最適化は不要"

この記事はClaude Opus 4.6によって作成されました