あなたの最善の努力にもかかわらず、LLMはまだ期待通りに動いていません。あなたは次に何を試すべきですか? あなたはプロンプトを編集しますか? モデルを変更しますか? フィンタウン? これらのいずれかが有効なオプションであり、これらの修正を試すための順序があります。 Principle V: Follow Prompt-Fix Escalation Ladder 原則 V: Prompt-Fix Escalation Scale に従う (これは現在進行中のAIエンジニアリングの原則シリーズの一部です。 で、 で、 そして ) 1 2 3 4 1 2 3 4 プロンプトが予想通りに動作しない場合は、以下の修正を優先順に試してみます。 Expanding and rephrasing instructions. Adding examples. Adding an explanation field. Using a different model. Breaking up a single prompt into multiple prompts. Fine-tuning the model. Throwing the laptop out the window in frustration. いくつかのケースでは、試すべき順序は異なりますが、デフォルトパスを持つことは時間を節約し、デバッグのための精神的能力を維持します。 最初の3つはプロンプトエンジニアリングのバケットに入り、次の章でより深くカバーされます。 Lightweight Approaches 軽量アプローチ Adding Instructions 最初に試すことは、リフラッシュ、または移動指示を追加し、より明確な指示を試してみてください。 複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複数回、複 で、 ( ) 1 2 1 2 Adding Examples トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > ( ( ) 3 3 2 ショットインベレンス(言語検出)のプロンプトの例: Detect the language of the text and output it in the JSON format: {“language”: “name_of_language”}. If you don’t know the language, output “unknown” in the language field. Example I: Input: Hello Output: {“language”: “English”} Example II: Input: EjnWcn Output: {“language”: “Unknown”} Text: {{text}} たとえば、1~3個のサンプルを使用する場合もありますが、いくつかのケースでは、より多くのサンプルを追加することができます。 )ですが、メンテナンスと実行コストも同じです。 4 4 Adding an Explanation Field LLMsは、人間と同様に、思考を説明する必要から恩恵を受ける。出力JSONに「説明」フィールドを追加し、出力は通常より良いものになります。これはまた、モデルが特定の決定を下している理由を特定し、指示や例を調整するのに役立ちます。 文書を書くときには、文書を書くときには、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には、文書を書く時には( ( ) 5 5 また、Aを使ってみることもできます。 ここでの課題は、出力を正しく抽出することです. あなたは、CoT推理で回答を処理するために、第二のプロンプトまたは追加のコードが必要かもしれません。 「Chain-of-Thought Reasoning Prompt」 「Chain-of-Thought Reasoning Prompt」 Changing the Model 異なるモデルは異なる種類のタスクで優れています。OpenAIのo3モデルはコードを分析する上で優れていますが、古い4oは、トークンごとに安くなるにもかかわらず、より良い書き込みを生み出す傾向があります。 この実験は、タスクに対する各モデルの「適合性」を測定するための自動テストとメトリクスを有する場合、より速く、より安全に機能します。 Heavyweight Approaches 重量型アプローチ これまでのあらゆるアプローチは比較的低コストで試してみました。 Breaking Up the Prompt 1 つのプロンプトが作業を完了できない場合は、なぜ 2 つ以上のプロンプトのシステムを試さないのですか? これは、いくつかのケースでは効果的に機能します。 Splitting the prompt by area of responsibility. Using a new prompt as a guardrail reviewing output of the previous one. 両方のアプローチが導入された。 次章でさらに詳しく説明します。 第3部 第3部 Fine-Tuning Fine-tuning は複数のプロンプトを使用するよりもさらに重いアプローチです. ほとんどの問題のために、私はそれを最後の手段として使用します。 なぜ私はほとんどの場合にフィンタリングを推奨することを躊躇しているのでしょうか?フィンタリングは基本的に機械学習のアプローチです。 したがって、それは大量のデータを収集し、生成型AIツールに加えてMLツールの全体セットを必要とし、これは小規模から中規模のプロジェクトのために管理するための巨大なオーバーヘッドです。 applied to Generative AI Generative AI に適用 「Fine Tuning」は、 他の技術は目標を達成できなかった。 問題は非常に複雑で専門的であり、デフォルトLLMの知識は不十分です。 あなたは大量の使用ケースを持っており、低端のモデルを使用してお金を節約したいです。 低い遅延が必要なので、複数のプロンプトは連続的に実行できません。 Conclusion 結論 希望するに、この記事は、プロンプトが意図されたように動作しないときに取るべきステップの順序を明確にします。最初に、あなたは通常、プロンプトエンジニアリングアプローチを試すでしょう。それがうまくいかない場合は、モデルを切り替え、それが役に立ったかどうかを確認してください。次のステップは、複数の相互作用のプロンプトを使用することです。最後に、他のすべての方法が失敗した場合に、細かい調節を検討してください。 あなたがこの投稿を楽しんだ場合は - 追加のためのサブスクリプション。