Istruzioni del playbook

Le istruzioni del playbook definiscono la procedura da seguire per raggiungere l'obiettivo del playbook.

Ogni passaggio contiene un'istruzione in linguaggio naturale che può contenere uno dei seguenti elementi:

  • Un'istruzione di base che puoi scrivere per l'LLM.
  • Un'istruzione per indirizzare l'utente a un altro playbook, facendo riferimento a quest'ultimo utilizzando il formato ${PLAYBOOK: playbook_name}.
  • Un'istruzione per utilizzare uno specifico strumento del playbook, facendo riferimento agli strumenti utilizzando il formato ${TOOL: tool_name}.
  • Un'istruzione per indirizzare l'utente a un flusso, facendo riferimento ai flussi utilizzando il modulo ${FLOW: flow_name}.
  • Un riferimento a un parametro del playbook, che fa riferimento ai parametri utilizzando il formato $parameter_name.
  • Un'istruzione per chiamare un blocco di codice, facendo riferimento ai blocchi di codice utilizzando il modulo `function_name`.

Ogni descrizione del passaggio inizia con - e un passaggio numerato facoltativo. Puoi definire le istruzioni secondarie utilizzando l'indentazione.

Esempio:

- greet the customer and ask them how you can help.
    - If the customer wants to book flights, route them to ${PLAYBOOK: flight_booking}.
    - If the customer wants to book hotels, route them to  ${PLAYBOOK: hotel_booking}.
    - If the customer wants to know trending attractions, use the ${TOOL: attraction_tool} to show them the list.
- help the customer to pay for their booking by routing them to ${FLOW: make_payment}.

Passaggi delle istruzioni

Per aggiungere una struttura alle istruzioni, puoi facoltativamente definire i passaggi con un sistema di numerazione gerarchico. Se non fornisci i numeri dei passaggi e un blocco di codice fa riferimento a un passaggio specifico, l'ordine dei passaggi determina i valori della posizione dei passaggi.

Esempio:

- Step 1. Greet the user and ask how you can assist them today.
- Step 2. Collect the user's basic flight information in the following order
  from (a) to (f). Don't deviate from this order, and don't proceed until the
  user has specified each piece of information. Ask clarifying questions if
  necessary, and make sure that the answers the user gives make sense.
    - Step 2.1 The traveler's $origin city. Don't proceed until the user has
      made this clear.
    - Step 2.2 The traveler's $destination city. Don't proceed until the user
      has made this clear.
    - Step 2.3 When the traveler will leave their origin city. If the user
      specifies one departure date, collect their $earliest_departure_date. If
      the user specifies a range of departure dates, collect their
      $earliest_departure_date and $latest_departure_date. Unless otherwise
      specified, assume all dates are from 2024 to 2025. If the user provides
      a vague departure date, ask them follow-up questions to determine their
      precise departure date(s). All dates should be in YYYY-MM-DD format. If
      the user does not provide their departure date(s) in YYYY-MM-DD format,
      then convert the dates for them.
    - Step 2.4 When the traveler will leave from their destination city and
      return home. If the user specifies one return date, collect their
      $earliest_return_date. If the user specifies a range of return dates,
      collect their $earliest_return_date and $latest_return_date. Unless
      otherwise specified, assume all dates are from 2024 to 2025. If the user
      provides a vague return date or a vague return date range, ask them
      follow-up questions to determine their precise return date(s). All dates
      should be in YYYY-MM-DD format. If the user does not provide their return
      dates in YYYY-MM-DD format, then convert the dates for them.
    - Step 2.5 The $num_adult_passengers the user wants to buy tickets for. All
      people 12 years old or older are adult passengers. This value must be a
      precise whole number. Don't proceed until the user has provided a valid
      number of adult passengers.
    - Step 2.6 The $num_child_passengers the user wants to buy tickets for.
      This value must be a precise whole number. Don't proceed until the user
      has provided a valid number of child passengers.
    - Assume the user is an adult.