In each state you can select what variables are available to the bot in that state. Ensure that you only selected required variables.
  • You can substitute variable values in a state without it being selected in that state, hence realistically the only variables that need to selected are those that are being updated in the state or are used to answer user questions in that state.
  • Minimizing variables in this fashion will lead to better reliability and lower latency.
    • e.g. If you are trying to validate someone’s DOB in a state, adding variables about other dates (e.g. EMI start date) can potentially confuse the LLM.
  • example prompt for updating variable
    • e.g If the user agrees to send the message, update variable:disposition to ‘agree’ then say: “Thank you for agreeing to send the message”
In case an LLM has difficulty filling a variable reliably - it is possible that the space for appropriate variable is too large. Try and group similar variables into one.
  • Ensuring that the variable is named properly will also increase reliability of the update.
For variables with specific types (like enums), always define these types clearly in the Guidelines section.