Agents

Each assistant has an agent type, which is configurable within the assistant playground. Agents bring powerful capabilities to assistants that allow them to reason about messages, break down complex requests into smaller steps, and leverage actions to perform tasks.

Currently, the following agent types are available:

  • Conversational: An agent perfect for chat-based interactions.
  • Categorizer: An agent specialized in categorizing messages into predefined categories, for instance for complex routing tasks.

If you would prefer not to use a specialized agent, a "Generic" agent type is also available.

Conversational agent

One of the benefits the conversational agent has over the generic assistant is that it can break down complex tasks into smaller steps. With this comes a set of new tools you can you use to make your policies and instructions even more effective.

includeFile

This gives the agent the ability to search a specific file and extract information from it directly. This is suited for when you have a file that contains information that you want to condition the behavior of the assistant on, for instance a feature grid.

Here is an example of how you might use this for catching users' requests about features they don't have access to:

1This is the file you must use to lookup which plans have access to specific features. If the user asks about a feature they don't have access to,
2let the user know and ask if they would like to upgrade to a plan that includes the feature:
3
4{{ includeFile name="knowledge-base" path="feature-grid" }}

content

Use this for instructions that are important for directly specifying things about the content that should be pulled in.

Here is an example of how you might use this for telling the agent to pull in links to specific articles:

1{{ content instructions="Pull in relevant links to articles that may help answer the user's question, and put them at the beginning of your answer." }}

When not using an agent, the instructions in the content tag will just be used as normal.

Categorizer agent

The categorizer agent type can be used for complex categorization tasks, such as categorizing conversations into predefined categories, utilizing a combination of retrieval and classification. This agent is optimized for categorization tasks and relies on specific categories and examples to do this.

When you create a new categorizer agent, you will be asked to select two sources: categories and examples.

  • Categories: The data in this source will be used to define the source-of-truth for the categories that the agent can select from. This could for instance be a custom Salesforce case mapping database.
  • Examples: The agent will use the data in this source to look up examples that match the current message it is trying to categorize. This could for instance be a Notion doc that you use to keep track of edge cases that the agent should be aware of.

Agent steps

When using an agent, you will be able to see a fine-grained decomposition of the thought/reasoning steps that it is undertaking when generating an answer. In the playground, you will now see “Steps” section under each assistant response. This gives you a better understanding of how the assistant is generating an answer, which in turn helps you develop the most effective policies and instructions for your use case.