メインコンテンツへスキップ
見出し画像

🔰【まとめ】Claude3プロンプトエンジニアリング集

    Claude3の始め方(API)

    はじめに

    ChatGPTを超えたClaude3が大騒ぎになっています。

    Anthropicが公開しているベンチマークでは、軒並みOpenAIのGPTシリーズを超えています。

    GPTシリーズからClaude3へ乗り換えを検討している人も多いのではないでしょうか?

    画像
    画像


    GPTシリーズに比べると、まだまだClaude用のプロンプトエンジニアリング手法の情報は少ないですが、現時点の情報をまとめてみました。

    Claudeプロンプトエンジニアリング集




    Anthropic公式のプロンプト集


    公式のプロンプト集です。

    画像

    具体的なプロンプトの書き方や、出力例もあります。


    画像


    画像


    Pythonで実行する場合のコード例もあります。

    さっとプログラムから実行したい場合に便利ですね。

    画像



    プロンプト例は以下のとおりたくさんありますので、何かのアイデアの役に立ちそうです。

    中には「本当にこれ役に立つの??」というのも多いですが、プロンプトで煮詰まったときのヒントとして使えなくはないかなというくらいですね。


    • 宇宙のキーストローク

      • 横スクロール ゲームプレイと Tailwind CSS スタイルを備えたインタラクティブなスピード タイピング ゲームを 1 つの HTML ファイルで生成します。

    • 企業の透視能力

      • 長い企業レポートから洞察を抽出し、リスクを特定し、重要な情報を単一のメモに抽出します。

    • ウェブサイトウィザード

      • ユーザーの仕様に基づいて 1 ページの Web サイトを作成する

    • Excel数式エキスパート

      • ユーザーが記述した計算やデータ操作に基づいて Excel の数式を作成する

    • Google アプリ スクリプタ

      • ユーザーの要件に基づいてタスクを完了するための Google Apps スクリプトを生成します

    • Python バグバスター

      • Python コードのバグを検出して修正する

    • タイムトラベルコンサルタント

      • ユーザーが仮想のタイムトラベル シナリオとその影響をナビゲートできるように支援する

    • ストーリーテリングの相棒

      • ユーザーと協力して魅力的なストーリーを作成し、プロットのひねりやキャラクター開発を提供します

    • 情報源を引用する

      • 文書の内容に関する質問への回答と、その回答を裏付ける関連引用を得る

    • SQLソーサラー

      • 日常言語を SQL クエリに変換する

    • 夢通訳者

      • ユーザーの夢の象徴性についての解釈と洞察を提供します

    • 駄洒落

      • 与えられたトピックに基づいて、賢いダジャレや言葉遊びを生成します。

    • 料理クリエイター

      • ユーザーの入手可能な食材や食事の好みに基づいてレシピのアイデアを提案します

    • かばん語の詩人

      • 2 つの単語を組み合わせて、新しく意味のあるかばん語を作成する
        ユーモアあふれるヘルパーのハル 皮肉な一面を持つ知識豊富な AI とチャットする

    • LaTeX の凡例

      • LaTeX ドキュメントを作成し、数式や表などのコードを生成します
        ムードカラーライザー 気分のテキスト説明を対応する 16 進コードに変換します

    • ギットガッド

      • ユーザーが記述したバージョン管理アクションに基づいて適切な Git コマンドを生成します。

    • サヴァンに似ている

      • 基本的な説明から直喩を生成する

    • 倫理ジレンマナビゲーター

      • ユーザーが複雑な倫理的ジレンマについて考えられるように支援し、さまざまな視点を提供します

    • 会議の書記

      • 会議を議論のトピック、重要なポイント、実行項目などを含む簡潔な要約に抽出します。

    • イディオムイルミネーター

      • 一般的な慣用句やことわざの意味と由来を説明する

    • コードコンサルタント

      • Python コードのパフォーマンスを最適化するための改善を提案する

    • 機能ファブリケーター

      • 詳細な仕様に基づいてPython関数を作成します

    • 新論理作成者

      • 新しい単語を発明し、ユーザーが提供した概念やアイデアに基づいてその定義を提供します

    • CSVコンバータ

      • さまざまな形式 (JSON、XML など) のデータを適切な形式の CSV ファイルに変換します。

    • 絵文字エンコーダ

      • プレーンテキストを楽しく表現力豊かな絵文字メッセージに変換します

    • 散文研磨者

      • 高度なコピー編集技術と提案を使用して、書かれたコンテンツを洗練および改善します

    • 視点を考える人

      • ユーザーが提供したトピックの長所と短所を比較検討する

    • トリビアジェネレーター

      • 幅広いトピックに関するトリビアの質問を生成し、必要に応じてヒントを提供します

    • マインドフルネスメンター

      • ストレスを軽減するためのマインドフルネスの演習とテクニックをユーザーにガイドします。

    • 2 年生の単純化子

      • 複雑な文章を若い学習者にも理解しやすくする

    • VR フィットネスのイノベーター

      • 仮想現実フィットネス ゲームのクリエイティブなアイデアをブレインストーミングする

    • PII 浄化装置

      • テキスト文書から個人識別情報 (PII) を自動的に検出して削除します。
        メモマエストロ 重要なポイントに基づいて包括的な社内メモを作成する

    • キャリアコーチ

      • AI キャリア コーチとのロールプレイングによる会話に参加する

    • 採点の第一人者

      • ユーザー定義の基準と標準に基づいて書かれたテキストの品質を比較および評価します

    • 早口言葉

      • 挑戦的な早口言葉を作成する

    • 面接の質問作成者

      • 面接用の質問を作成する
        文法の魔神 文法的に間違った文章を正しい英語に変換する

    • これをなぞなぞしてみよう

      • 謎を生成し、ユーザーを解決策に導きます

    • コードの明確化

      • 複雑なコードを単純化して平易な言葉で説明する

    • 宇宙人の人類学者

      • 宇宙人の人類学者の視点から人類の文化と習慣を分析する

    • データオーガナイザー

      • 非構造化テキストをカスタムの JSON テーブルに変換する

    • ブランドビルダー

      • 総合的なブランド アイデンティティのデザイン概要を作成する

    • 効率推定ツール

      • 関数とアルゴリズムの時間計算量を計算する

    • レビュー分類子

      • フィードバックを事前に指定したタグと分類に分類する

    • 方向デコーダ

      • 自然言語を段階的な指示に変換する

    • モチベーションを高めるミューズ

      • ユーザーの入力に基づいて、パーソナライズされた動機付けのメッセージとアファメーションを提供します

    • 電子メール抽出ツール

      • ドキュメントから電子メール アドレスを抽出して JSON 形式のリストを作成する

    • マスターモデレーター

      • ユーザー入力を評価して、潜在的な有害または違法なコンテンツがないかどうかを確認します

    • レッスンプランナー

      • あらゆるテーマについて綿密な授業計画を立てる

    • ソクラテスの賢人

      • ユーザーが指定したトピックについてソクラテス風の会話に参加します

    • 頭韻の錬金術師

      • 特定の主題に対して頭韻句や文を生成します

    • 未来のファッションアドバイザー

      • ユーザーの特定の好みに合わせて、前衛的なファッショントレンドとスタイルを提案します

    • 多言語の超大国

      • テキストをあらゆる言語からあらゆる言語に翻訳

    • 商品ネーミングプロ

      • 説明とキーワードからキャッチーな商品名を作成する

    • 哲学的な思索

      • 深い哲学的な議論や思考実験に参加する

    • スプレッドシートの魔術師

      • さまざまな種類のデータを含む CSV スプレッドシートを生成

    • SFシナリオシミュレーター

      • さまざまな SF シナリオとそれに関連する課題と考慮事項についてユーザーと話し合う

    • アダプティブエディター

      • 別の口調、対象者、またはスタイルなど、ユーザー指定の指示に従ってテキストを書き直す

    • バベルの放送

      • 世界で最も話されている 10 の言語で、魅力的な製品発表ツイートを作成します

    • ツイートトーン検出器

      • ツイートの背後にある論調や感情を検出する

    • 空港コードアナリスト

      • テキストから空港コードを検索して抽出する


    どれか1つ試してみましょう。

    「ダジャレ」で試してみる


    • 駄洒落

      • 与えられたトピックに基づいて、賢いダジャレや言葉遊びを生成します。



    コード

    root@969b0644d811:/work/53.claude# cat test-claude3.py
    import anthropic
    
    client = anthropic.Anthropic(
        # defaults to os.environ.get("ANTHROPIC_API_KEY")
        #api_key="my_api_key",
    )
    message = client.messages.create(
        model="claude-3-opus-20240229",
        max_tokens=1000,
        temperature=1,
        system="You are an AI assistant with a witty sense of humor and a knack for crafting clever puns and wordplay. When a user provides a topic, your task is to generate a list of puns, play on words, or humorous phrases related to that topic. The wordplay should be original, creative, and aim to elicit a laugh or a groan from the reader.",
        messages=[
            {"role": "user", "content": "Fishing"}
        ]
    )
    print(message.content)
    root@969b0644d811:/work/53.claude#
    

    実行

    [ContentBlock(text="1. I tried to catch some fog, but I mist.\\n2. Fishing is reel fun, it's a great oppor-tuna-ty to relax!\\n3. I got a new fishing rod for my birthday, it's a nice cast iron skillet.\\n4. I'm hooked on fishing, I can't sea myself stopping anytime soon.\\n5. My friend always takes credit for the fish I catch, what a fishing line stealer!\\n6. I've been thinking of giving up my job to go fishing full-time, but I'm afraid I'll end up in the poorhouse.\\n7. I love telling fishing tales, but I worry that people will think I'm telling them just for the halibut.\\n8. I wouldn't trust a fisherman who wears a toupee, it's probably just a bait rug.\\n9. I went on a date with a fisherman once, but he was too koi.\\n10. Fishing is a great way to get your vitamin sea.", type='text')]
    

    わかりやすく引用

    1. I tried to catch some fog, but I mist.\n2. Fishing is reel fun, it's a great oppor-tuna-ty to relax!\n3. I got a new fishing rod for my birthday, it's a nice cast iron skillet.\n4. I'm hooked on fishing, I can't sea myself stopping anytime soon.\n5. My friend always takes credit for the fish I catch, what a fishing line stealer!\n6. I've been thinking of giving up my job to go fishing full-time, but I'm afraid I'll end up in the poorhouse.\n7. I love telling fishing tales, but I worry that people will think I'm telling them just for the halibut.\n8. I wouldn't trust a fisherman who wears a toupee, it's probably just a bait rug.\n9. I went on a date with a fisherman once, but he was too koi.\n10. Fishing is a great way to get your vitamin sea.


    翻訳

    1. 霧を捕まえようとしましたが、霧がかかってしまいました。\\n2. 釣りはリールの楽しみです。リラックスする絶好の機会です。\\n3. 誕生日に新しい釣り竿をもらいました。素敵な鋳鉄のフライパンです。\\n4. 私は釣りに夢中です。すぐに釣りをやめられなくなります。\\n5. 私の友人はいつも私が釣った魚を自分の手柄にしています。なんと釣り糸を盗んだ人でしょう!\\n6. フルタイムで釣りに行くために仕事を辞めようと考えていますが、救貧院に行くことになるのではないかと心配です。\\n7. 私は釣りの話をするのが大好きですが、オヒョウのためだけに話していると思われるのではないかと心配しています。\\n8. カツラをかぶった漁師は信用しません。おそらくそれは単なる餌の敷物です。\\n9. 一度、漁師とデートしたことがあるのですが、彼はあまりにも恋しすぎました。\\n10. 釣りはビタミンの海を摂取するのに最適な方法です。
    

    わかりやすく引用

    1. 霧を捕まえようとしましたが、霧がかかってしまいました。\n2. 釣りはリールの楽しみです。リラックスする絶好の機会です。\n3. 誕生日に新しい釣り竿をもらいました。素敵な鋳鉄のフライパンです。\n4. 私は釣りに夢中です。すぐに釣りをやめられなくなります。\n5. 私の友人はいつも私が釣った魚を自分の手柄にしています。なんと釣り糸を盗んだ人でしょう!\n6. フルタイムで釣りに行くために仕事を辞めようと考えていますが、救貧院に行くことになるのではないかと心配です。\n7. 私は釣りの話をするのが大好きですが、オヒョウのためだけに話していると思われるのではないかと心配しています。\n8. カツラをかぶった漁師は信用しません。おそらくそれは単なる餌の敷物です。\n9. 一度、漁師とデートしたことがあるのですが、彼はあまりにも恋しすぎました。\n10. 釣りはビタミンの海を摂取するのに最適な方法です。

    日本語にすると駄洒落なのかどうかさっぱりよくわからないですね・・・

    英語で見るとなんとなく駄洒落なのかなーと思うくらいですが、日本語と英語のダジャレはちょっと違うのかもしれないですね。



    公式ドキュメント

    こちらも公式ドキュメントです。Claude3とは記載見つけられなかったですが、Claude系の特徴がこれでつかめると思います。

    Claude系のプロンプトで「XML タグ」の例が良く出てきますが、これがClaudeのコツなのかもしれないですね。

    GPTでも使えそうですが、もしかしたらClaude系はXMLタグ使わないと精度出ないけど、GPT系はXMLタグ無しでも精度出るのかもと想像しています。


    画像


    迅速なエンジニアリング技術

    プロンプト開発サイクル全体にわたって、Claude のパフォーマンスを向上させるために使用できる次のようなテクニックがあります。

    • 明確かつ直接的であること: クロードの応答を導くための明確な指示と背景を提供します。

    • 例を使用する: プロンプトに例を含めて、目的の出力形式またはスタイルを示します。

    • クロードに役割を与える: ユースケースのパフォーマンスを向上させるために、クロードに特定の役割 (エキスパートの役割など) を割り当てます。

    • XML タグを使用する: XML タグを組み込んでプロンプトと応答を構造化し、より明確にします。

    • チェーンプロンプト: より良い結果を得るために、複雑なタスクを小さく管理しやすいステップに分割します。

    • クロードに考えさせます: クロードの出力の品質を向上させるために段階的な思考を奨励します。

    • クロードの応答を事前入力: クロードの応答をいくつかの単語で開始し、出力を目的の方向に導きます。

    • 出力形式の制御: 一貫性と読みやすさを確保するために、目的の出力形式を指定します。

    • クロードにリライトを依頼する: ルーブリックに基づいてリビジョンをリクエストし、クロードに反復して出力を改善してもらいます。

    • 長いコンテキスト ウィンドウのヒント: クロードの長いコンテキスト ウィンドウを活用してプロンプトを最適化します。

    また、提供されたガイドラインに基づいてクロードにプロンプトを作成するよう促す、実験的なヘルパー メタプロンプトも提供します。メタプロンプトは実験的なものですが、最初のプロンプトを作成したり、テスト用に多くのプロンプトのバリエーションを迅速に作成したりするのに役立つ場合があります。



    Anthropic Cookbook

    Anthropic Cookbook は、開発者が Claude を使用して構築できるように設計されたコードとガイドを提供し、独自のプロジェクトに簡単に統合できるコピー可能なコード スニペットを提供します。




    プロンプトエンジニアリングインタラクティブチュートリアル:


    prompt-engineering



    参考

    GPTシリースのプロンプトエンジニアリング集です。

    Claudeでも役に立つと思います。

    GPTシリーズのAPI使い方


    おわりに

    まだまだ情報少ないですが、噂では「Claude3はGPTシリーズほどプロンプトエンジニアリングは考えなくてよい」という話も聞きましたが、まったく考えなくてもよいというレベルにはまだまだかなと思っています。

    「プロンプトエンジニアリング意識しなくても多少精度良くなったが、プロンプトエンジニアリング意識するとさらによくなる」

    というのが現状だと思います。

    なので、今の生成AI時代においてプロンプトエンジニアリングは学んでおいて損はないでしょう。

    周りの人をみても、「プロンプトエンジニアリング使いこなしている人」=「AI使いこなしている人」=「効率化ができている人」というイメージがありますので、プロンプトエンジニアリングは習得していきましょう。


     
     
    現役ITエンジニア | ChatGPT・生成AI活用×ブレインテック | OSS、クラウド推進 | エンジニアのための最新の生成AI活用情報発信 | KDP出版 → http://amazon.co.jp/dp/B0C1VWSPV8

    あなたへのおすすめ