こんにちは!
プロンプトを書くとき、多くの人は「何をしてほしいか」だけを伝えます。
「プロフェッショナルなメールを書いて」 「ブログ記事を作成して」 「コードを最適化して」
でも、ここに1つ足すだけで出力が劇的に変わることがあります。
「〇〇しないで」を追加する。
これがネガティブプロンプティング。地味だけど、けっこう強力なテクニックです。
ネガティブプロンプティングって何?
名前の通り、出力から除外したいものを明示的に指定すること。
「欲しいもの」だけでなく、「要らないもの」も伝えます。
普通のプロンプト: 「クライアントへのプロフェッショナルなメールを書いて」
ネガティブプロンプティング付き: 「クライアントへのプロフェッショナルなメールを書いて。ビジネス用語を使いすぎないで。100文字以内で。『お世話になっております』から始めないで」
2番目のバージョンは、自分が要らないAIのデフォルト動作を明確に排除してます。
なぜ効くのか
AIは大量のテキストデータから学習してます。
「プロフェッショナルなメール」と頼むと、AIは「プロフェッショナルなメール」に関連するすべてのパターンを引っ張り出してきます:
- お決まりの挨拶
- ビジネス用語(「ご検討ください」「お忙しいところ恐れ入りますが」)
- 形式的な締めの言葉
- しばしば冗長で回りくどい表現
これがAIにとっての「デフォルト」。学習データではそうなってたから、AIは「プロフェッショナルなメールってこういうもんでしょ」と思ってる。
でも、あなたが求めてるのはそういうメールじゃないかもしれない。
ネガティブプロンプティングは、このデフォルトを上書きする方法です。
「こういうのは要らない」と明示的に伝えることで、AIの出力から不要なパターンを除外できます。
実際の使い方
メールの場合
クライアントにプロジェクト遅延を報告するメールを書いて。
・「お忙しいところ恐れ入りますが」は使わない
・言い訳を長々と書かない
・100文字以内
・具体的な新しい期日を含める
ブログ記事の場合
AIツールについてのブログ導入を書いて。
・「現代社会において」から始めない
・「〜とは何でしょうか?」という修辞的な質問を使わない
・読者を「あなた」と呼びすぎない
・最初の文から本題に入る
コードの場合
このAPIエンドポイントのエラーハンドリングを書いて。
・try-catchを入れ子にしない
・console.logでエラーを握りつぶさない
・エラーメッセージにスタックトレースを含めない(ユーザー向けなので)
よく使う「〇〇しないで」リスト
自分がよく使うネガティブ指示:
文章系:
- 「〜とは何でしょうか?」という修辞的な質問を使わない
- 「さらに」「加えて」「その上」を多用しない
- 前置きを長くしない、本題から入る
- 「いかがでしたか?」で終わらない
ビジネス系:
- ビジネス用語・カタカナ語を使いすぎない
- 過度にへりくだらない
- 言い訳を先に書かない
コード系:
- コメントを過剰に書かない
- 変数名を省略しない
- マジックナンバーを使わない
ポジティブ+ネガティブが最強
ネガティブプロンプティングだけで完結させるのはおすすめしません。
**ポジティブ(欲しいもの)+ ネガティブ(要らないもの)**の組み合わせが一番効きます。
カジュアルだけどプロフェッショナルなトーンで書いて(ポジティブ)。
ただし、絵文字は使わないで(ネガティブ)。
シンプルで読みやすいコードを書いて(ポジティブ)。
ワンライナーで詰め込まないで(ネガティブ)。
「欲しいもの」で方向性を示して、「要らないもの」で境界線を引く。この組み合わせが、一番精度の高い出力を引き出します。
まとめ
AIは、あなたが何を求めてるか100%理解してるわけじゃない。
デフォルトのパターンに従って「まあこんな感じでしょ」と出力してくることが多い。
その「まあこんな感じ」の中に、自分が要らないものが含まれてる。
それを明示的に「〇〇しないで」と伝えるだけで、出力がかなり変わります。
次にプロンプトを書くとき、「何をしてほしいか」だけじゃなくて、「何をしてほしくないか」も考えてみてください。
けっこう違いますよ。