希望するフォーマットの指定

Claudeの出力を制御する最も簡単な方法の1つは、希望するフォーマットを単に述べることです。Claudeはフォーマットに関する指示を理解し、以下のようなフォーマットの出力に従うことができます。

  • JSON
  • XML
  • HTML
  • Markdown
  • CSV
  • カスタムフォーマット

例えば、JSON形式で俳句を生成したい場合は、次のようなプロンプトを使用できます。

RoleContent
User猫についての俳句を書いてください。“first_line”、“second_line”、“third_line”をキーとするJSON形式を使用してください。
Assistant (Claudeの応答){
“first_line”: “柔らかな毛並み”,
“second_line”: “暖かな日差しの中で昼寝”,
“third_line”: “満足げにゴロゴロ”
}

Claudeの応答の事前入力

Claudeの出力フォーマットを制御するもう1つの効果的な方法は、Assistantフィールドに目的のフォーマットの先頭を事前入力することです。この手法は、JSONやHTMLなどの構造化されたフォーマットを扱う場合に特に便利です。

例えば、JSON形式でレシピを生成するには以下のようにします。

RoleContent
UserJSON形式でチョコレートチップクッキーのレシピを生成してください。
Assistant (事前入力){
Assistant (Claudeの応答)“title”: “チョコレートチップクッキー”,
“ingredients”: [
“薄力粉 2 1/4カップ”,
“ベーキングソーダ 小さじ1”,
“塩 小さじ1”,
“無塩バター(室温に戻したもの)1カップ”,
“グラニュー糖 3/4カップ”,
“ブラウンシュガー 3/4カップ”,
“バニラエッセンス 小さじ1”,
“卵(L)2個”,
“セミスイートチョコレートチップ 2カップ”
],
“instructions”: [
“オーブンを375°F(190°C)に予熱し、ベーキングシートにクッキングシートを敷く。“,
“中ボウルに薄力粉、ベーキングソーダ、塩を入れ、泡立て器で混ぜ合わせる。“,
“大ボウルでバターと砂糖を電動ミキサーで混ぜ、明るく軽い状態になるまで2~3分ほど泡立てる。“,
“バニラエッセンスと卵を1つずつ加え、よく混ざるまで混ぜる。“,
“バターミックスに薄力粉ミックスを少しずつ加え、混ざったら混ぜるのをやめる。“,
“チョコレートチップを加えて混ぜ込む。“,
“スプーンですくって丸めた生地を、用意したベーキングシートに2インチ間隔で並べる。“,
“9~11分焼き、端が薄茶色になったら取り出す。“,
“クッキーをベーキングシートの上で5分冷まし、その後、網の上に移して完全に冷ます。”
],
“yield”: “約3ダースのクッキー”
}

応答の先頭にJSONの開始中括弧を事前入力することで、目的のフォーマットでレシピを生成するための明確な開始点をClaudeに与えることができます。これは、Claudeにフレンドリーな前置きのテキストをスキップさせるためのもう1つのテクニックでもあります。


例の提供

明示的な指示に加えて、目的の出力フォーマットの例を提供することで、Claudeがあなたの要件をより理解しやすくなります。例を含める際は、提供された例のフォーマットに従うべきであることをClaudeに明確にしてください(そうしないと、Claudeは提供された例から、内容や文体などの他の詳細を拾い上げる可能性があります)。

この手法を示すプロンプトの例を以下に示します。

RoleContent
Userあなたの課題は詩を書くことです。以下は、詩に理想的なフォーマットの例です。

<poem>
Title: “秋の葉”
Verse 1:
カリカリの秋の葉が踊る
優しく冷たい風に乗って
色とりどりの光景

Verse 2:
赤、オレンジ、金
冬が来る前に
世界を美しく彩る
</poem>

<poem>
Title: “月夜”
Verse 1:
月明かりが影を落とす
静かな庭に
平和な隠れ家

Verse 2:
星が瞬く頭上
コオロギが夜の歌を歌う
自然の子守唄
</poem>

では、上記の例のフォーマットに従って、夕日についての詩を書いてください。
Assistant (事前入力)<poem>
Assistant (Claudeの応答)Title: “夕日のシンフォニー”
Verse 1:
燃えるような太陽が沈む
驚きで空を彩る
傑作が生まれる

Verse 2:
ピンク、パープル、レッド
純粋なハーモニーで溶け合う
昼が夜に挨拶する
</poem>

より良い出力制御のためのヒント

  • 指示はできるだけ具体的に
  • プロンプトでは明確で一貫したフォーマットを使用する
  • 可能な限り複数の例を提供し、目的のフォーマットを強化する
  • ユースケースに最適なものを見つけるために、さまざまな手法の組み合わせを試してみる

追加リソース

  • プロンプトエンジニアリングのテクニック: プロンプトを最適化し、Claudeのパフォーマンスを向上させるための他の戦略を探る。
  • Anthropic cookbook: Claudeを使用した高度で効果的なテクニック、統合、実装を示すコピー可能なコードスニペットを含むJupyterノートブックのコレクションを閲覧する。
  • プロンプトライブラリ: さまざまなタスクとユースケースのために厳選されたプロンプトからインスピレーションを得る。