システムプロンプトが古くなってきています! 現実世界のエージェントを構築することから得た直感に反する教訓は次のとおりです。 巨大なシステムプロンプトを書いても、エージェントのパフォーマンスは向上しません。それはしばしばそれを悪化させます。 たとえば、返金ポリシーに関するルールを追加します。次に、トーンについて。次に、いつエスカレートするかについての別の質問です。やがて、2,000 語の取扱説明書が完成します。 しかし、私たちが学んだことは、LLM はこれを処理するのが非常に苦手であるということです。 最近の研究も、私たちの多くが経験していることを裏付けています。「指示の呪い」があります。プロンプトに追加するルールが多いほど、モデルは 1 つのルールに従う際のパフォーマンスが低下します。 より良いアプローチは、コンテキストに応じた条件付きガイドラインです。 1 つの巨大なプロンプトではなく、指示をモジュール式の部分に分割し、関連する場合にのみ LLM に読み込みます。 ``` agent.create_guideline( condition="顧客が返金について尋ねます"、 action="最初に注文ステータスをチェックして、適格かどうかを確認してください"、 tools=[check_order_status]、 ) ``` 各ガイドラインには、次の 2 つの部分があります。 - 条件:いつロードされますか? - アクション: エージェントは何をすべきか? 魔法は舞台裏で起こります。クエリが到着すると、システムは現在の会話状態に関連するガイドラインを評価します。 ...