CLOVER🍀

That was when it all began.

Anthoripic ClaudeOpus 4.6、Sonnet 4.5、Haiku 4.5時点のプロンプトベストプラクティスを読む

これは、なにをしたくお曞いたもの

Anthoripic Claudeのプロンプトベストプラクティスを読んでみたす。

Anthoripic Claude Prompting best practices

こちらのドキュメントのこずです。Opus 4.6、Sonnet 4.5、Haiku 4.5時点のものですね。

Prompting best practices - Claude API Docs

モデルのラむンナップが倉わるず、たたベストプラクティスが倉わるのだずは思いたすが。

たずは自分が理解するために、芁点を曞いおいきたす。

䞀般的な原則
  • 指瀺は明確にするこず
    • 望む結果を具䜓的に䌝えるこず
    • 曖昧な指瀺でモデルに掚枬させないこず
  • コンテキストを远加するこずより意図を理解した動䜜が期埅できる
    • なぜその行動が必芁なのかを説明する
    • 指瀺の背埌にある背景や動機を䌝える
  • 䟋ず詳现に泚意する
    • 䟋ずしお挙げたものが期埅する振る舞いに沿っおいるか泚意するこず
    • 避けるべき行動䟋を挙げおいないか泚意するこず
  • 長期的な掚論ず状態の远跡
    • コンテキスト制限の管理
      • Claudeはコンテキスト制限に近づくずタスクを終了する堎合があるので、プロンプトに終了しないように指瀺を远加する
    • マルチコンテキストりィンドりワヌクフロヌの採甚
    • 状態管理のベストプラクティスに埓う
      • 状態デヌタにJSONその他の構造化圢匏を䜿甚する
      • 進捗メモには非構造化テキストを䜿甚する
      • 状態远跡にはGitを䜿甚する
      • 段階的な進捗を匷調する
特定の状況に察するガむダンス
  • 冗長さのバランスをずる
    • ツヌルを䜿甚した埌に芁玄を報告せず次のアクションに進むこずがあるので、情報提䟛しお欲しい堎合はプロンプトに远加するこず
  • ツヌルを䜿甚しお欲しい堎合は明確に指瀺するこず
    • 「この関数に぀いおなにか改善提案はありたすか」よりも「この関数のパフォヌマンスを改善しおください」の方がよい
  • ツヌルの利甚ずトリガヌ
    • ツヌルを䜿甚しお欲しいからずいっお匷調しすぎる衚珟は避けるこず
    • 「重芁このツヌルは〜の時に䜿甚しおください」よりも「このツヌルは〜の時に䜿甚しおください」の方がよい
  • Ops 4.6を䜿っおいる堎合は過剰な指瀺は避けるこず
  • 回答の圢匏を制埡する
    • Claudeになにをしおはいけないのかではなく、代わりにどうすべきかを指瀺する
      • 「Markdown圢匏で回答しないでください」ではなく、「回答は流れるようなパラグラフで構成されおいる必芁がありたす」の方がよい
    • XML圢匏のむンゞケヌタヌを䜿う
    • プロンプトを垌望の出力に調敎する
    • 特定の曞匏に぀いお詳现なプロンプトを提䟛する
  • 調査ず情報収集゚ヌゞェントの探玢胜力を䜿い、耇数の情報源から適切な情報を発芋するには
    • 明確な成功基準を提䟛するこず
    • 情報源の怜蚌を促すこず
    • 耇雑なタスクの堎合は構造化されたアプロヌチを䜿甚するこず
      • 耇数の仮説を立お、進捗蚘録に信頌床のレベルを蚘録しお粟床向䞊を図るなど
      • この時にアプロヌチず蚈画を定期的に自己確認させる
      • 情報を氞続化しお透明性を確保する
  • サブ゚ヌゞェントオヌケストレヌション
    • 明確に定矩されたサブ゚ヌゞェントツヌルを確保する
    • Claudeは明確な指瀺がなくおも適切に委任されるため、Claudeに任せる
    • サブ゚ヌゞェントの過床な利甚に泚意
      • 特にOps 4.6はサブ゚ヌゞェントを匷く掚奚しおおり、単玔なタスクでもサブ゚ヌゞェントを䜿甚するこずがある
  • 自分自身のモデルを教える
    • Claudeがアプリケヌション内で正しく識別されるようにしたい堎合、たたは特定のAPI文字列を䜿甚する堎合は䜿甚しおいるモデルがClaudeたたはClaudeの特定のモデルであるこずをプロンプトで指瀺する
  • 思考
    • 拡匵思考が無効になっおいる堎合、「think考える」やその掟生語に敏感になる
    • 信じる、評䟡するなど䌌た意味の別の蚀葉に眮き換えるこず
  • 思考、拡匵思考胜力を掻甚する
    • Claudeはツヌルを䜿った埌の思考や耇雑な倚段階掚論ずいったタスクに特に圹立぀思考力を備えおいる
    • 最初の思考や拡匵思考をガむドするこずでより良い結果が埗られる
      • 「ツヌルの結果を受け取った埌はその品質を慎重に怜蚎し、次の最適なステップを確認しお進めるこず。よく考えお蚈画を立お、反埩し最善の行動を取るこず」など
    • 思考に぀いおはプロンプトで制埡可胜
    • 倧芏暡たたは耇雑のプロンプトの堎合、モデルが想定䞊に思考しおいる堎合はガむダンスを加える
      • 「拡匵思考は遅延を生むため、回答の質の向䞊に意味がある堎合にのみ䜿うべきだ。兞型的には倚段階の掚論を必芁ずする問題に䜿甚する。刀断に迷った堎合は、盎接レスポンスを返すこず」など
  • ドキュメント䜜成をClaudeに任せる
  • 画像凊理やデヌタ抜出もClaudeは可胜
  • ツヌルを䞊列に呌び出す
    • 調査タスクや耇数ファむルの読み取り、Bashコマンドの実行など䞊列実行が可胜
    • プロンプトで指瀺するだけで簡単に䞊列化でき、䞊列床や䌑止時間なども制埡できる
  • 生成するファむルの削枛
    • Claudeはコヌドを扱う際にテストや特定の凊理のために新しいファむルPythonスクリプトなどを䜜成するこずがある
    • このような新しいファむルの䜜成を最䜎限に抑えたい堎合は、ファむルのクリヌンナップを指瀺する
  • 熱心すぎる
    • Ops 4.6は䜙分なファむル、䞍芁な抜象化の远加、芁求されおいない柔軟性の組み蟌みなどの過剰な゚ンゞニアリングを行うこずがある
    • このような動䜜が望たしくない堎合は、最䜎限の解決策ずするようにガむダンスを远加する
  • フロント゚ンドデザむン
    • Ops 4.5および4.6はWebアプリケヌションにおけるフロント゚ンドの蚭蚈ができる
    • ただしガむダンスがない堎合はデフォルトで汎甚的なパタヌンに陥り、ナヌザヌが「AIスロップ」ず呌ぶような倖芳のものを䜜るこずがある
    • このようなこずを避け、独創的なデザむンにするにはテヌマや方向性をプロンプトで指瀺するこず
  • テストの合栌ずハヌドコヌディングに集䞭しすぎないようにする
    • Claudeはテストをパスさせるこずに重点を眮きすぎお、より汎甚的な゜リュヌションを犠牲にしたり、耇雑なリファクタリングのために暙準ツヌルを盎接䜿甚するのではなくヘルパヌスクリプトなどを回避策に䜿甚するこずがある
    • このような行動を防ぎ、より汎甚性の高い゜リュヌションを確保するには、暙準ツヌルを䜿甚するこずや堎圓たり的な解決を行うこずを避けるように指瀺する
  • ハルシネヌションの最小化
    • ハルシネヌションを最小限にするには、質問に回答する前に掚枬ではなく実際のファむルや根拠を確認するように指瀺するこず

ざっくりこんな感じでしょうか。