Agno : コンセプト : エージェント – プロンプト

私たちはエージェントに、説明や指示そしてその他の様々な設定を使用してプロンプトを与えます。これらの設定は、言語モデルに送信されるシステムメッセージを構築するために使用されます。これらのプロンプトが作成される方法を理解することはより良いエージェントの構築に役立ちます。

Agno : ユーザガイド : コンセプト : エージェント – プロンプト

作成 : クラスキャット・セールスインフォメーション
作成日時 : 07/20/2025
バージョン : Agno 1.7.4

* 本記事は docs.agno.com の以下のページを独自に翻訳した上で、補足説明を加えてまとめ直しています :

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

 

Agno ユーザガイド : コンセプト : エージェント – プロンプト

私たちはエージェントに、説明や指示そしてその他の様々な設定を使用してプロンプトを与えます。これらの設定は、言語モデルに送信されるシステムメッセージを構築するために使用されます。

これらのプロンプトが作成される方法を理解することはより良いエージェントの構築に役立ちます。

2 つの主要なパラメータは :

  1. Description (説明) : エージェントの全体的な動作をガイドする説明。

  2. Instructions (指示) : 目標をどのように達成するかに関する正確で、タスク固有な指示のリスト。

Info : 説明と指示はフォーマット設定上の利点を提供するだけで、どのような情報も変更したり抽象化しませんので、system_message を設定してあなた自身のシステムプロンプトを提供することが常にできます。

 

システムメッセージ

システムメッセージは、説明、指示とその他の幾つかの設定を使用して作成されます。description はシステムメッセージの最初に追加され、instructions は Instructions の後にリストとして追加されます。例えば :

instructions.py

from agno.agent import Agent

agent = Agent(
    description="You are a famous short story writer asked to write for a magazine",
    instructions=["You are a pilot on a plane flying from Hawaii to Japan."],
    markdown=True,
    debug_mode=True,
)
agent.print_response("Tell me a 2 sentence horror story.", stream=True)

Will translate to (set debug_mode=True to view the logs):

DEBUG    ============== system ==============
DEBUG    You are a famous short story writer asked to write for a magazine

         ## Instructions
         - You are a pilot on a plane flying from Hawaii to Japan.
         - Use markdown to format your answers.
DEBUG    ============== user ==============
DEBUG    Tell me a 2 sentence horror story.
DEBUG    ============== assistant ==============
DEBUG    As the autopilot disengaged inexplicably mid-flight over the Pacific, the pilot glanced at the copilot's seat
         only to find it empty despite his every recall of a full crew boarding. Hands trembling, he looked into the
         cockpit's rearview mirror and found his own reflection grinning back with blood-red eyes, whispering,
         "There's no escape, not at 30,000 feet."
DEBUG    **************** METRICS START ****************
DEBUG    * Time to first token:         0.4518s
DEBUG    * Time to generate response:   1.2594s
DEBUG    * Tokens per second:           63.5243 tokens/s
DEBUG    * Input tokens:                59
DEBUG    * Output tokens:               80
DEBUG    * Total tokens:                139
DEBUG    * Prompt tokens details:       {'cached_tokens': 0}
DEBUG    * Completion tokens details:   {'reasoning_tokens': 0}
DEBUG    **************** METRICS END ******************

 

システムメッセージを直接設定する

system_message パラメータを使用してシステムメッセージを手動で設定することができます。

from agno.agent import Agent

agent = Agent(system_message="Share a 2 sentence story about")
agent.print_response("Love in the year 12000.")

 

ユーザメッセージ

Agent.run() または Agent.print_response() 関数に送信された入力メッセージはユーザメッセージとして使用されます。

 

デフォルトのシステムメッセージ

エージェントは、以下のパラメータを使用してカスタマイズ可能なデフォルトのシステムメッセージを作成します :

  • description – type: str (default: None)
    システムメッセージの先頭に追加される、エージェントの説明。

  • goal – str (None)
    エージェントが達成すべきタスクの説明

  • instructions – List[str] (None)
    <instructions> タグ内のシステムプロンプトに追加される指示のリスト。デフォルトの指示はまた markdown, output_model 等の値に依存して作成されます。

  • additional_context – str (None)
    システムメッセージの末尾に追加される追加コンテキスト。

  • expected_output – str (None)
    エージェントからの想定される出力を提供します。これはシステムメッセージの末尾に追加されます。

  • markdown – bool (False)
    マークダウンを使用して出力をフォーマットする指示を追加します。

  • add_datetime_to_instructions – bool (False)
    True の場合、エージェントに時間感覚を与えるために、現在の日時をプロンプトに追加します。これは、「明日」のような相対的な時間をプロンプトで使用できるようにします。

  • system_message – str (None)
    システムプロンプト: システムプロンプトを文字列として提供します。

  • system_message_role – str (system)
    システムメッセージのロール。

  • create_default_system_message – bool (True)
    True の場合、エージェント設定を使用してデフォルトのシステムプロンプトを構築してそれを使用します。

Note : Disable the default system message by setting create_default_system_message=False.

 

以上