Creating Agents
Symphona Converse’s Agent Editor allows you to easily create automated Agents that work over chat and voice channels using our drag-and-drop editor. There are two types of Agents which you can create in Converse, “Generative Agents” and “Structured Agents”, each which are suitable for different use cases.
In the following sections, we will cover each type of Agent, going step-by-step on how to create an Agent from scratch. Let’s dive in!
Generative Agents
Overview
Generative Agents in Symphona Converse empower AI-driven service by automating chat and voice interactions, providing quick, accurate responses based on company documentation and procedures. These Agents maintain focused conversations, handle tasks like querying knowledge bases, transferring to human Agents, and triggering automated processes, all aimed at enhancing efficiency and improving service quality.
You can test out an example Generative Agent by interacting with our AI Consultant in the bottom right corner of this web page. Configured to use this documentation portal as a Knowledge Base, this Agent is designed to provide you with support on how to use Symphona and help generate conceptual automation solutions.
Tutorial Video
Follow along with us as we create a new Generative Agent, design a Chat Widget, and link it to the Agent, ready to be embedded on an existing web page or connected to a phone number.
Creating Generative Agent
Creating a generative Agent in Symphona Converse involves several steps - let’s go through each of them:
- Log In and Access Agent Manager: First, log in to Symphona. Once you're in, you'll land on the My Summary page. To start creating your Agent, navigate to Converse, then click on Agent Manager. This takes you to the Agent Manager view, where you'd typically see any Agents you have already set up. Since we're starting from scratch, let's move on by clicking Create New Agent on the top right.
- Set Up Basic Information: Now, you'll need to fill out some basic details for your new Agent. Enter an Agent name. For the Agent type, select "Generative." You can also add tags or a description for better organization. Once ready, click Confirm to proceed.
- Entering the Agent Editor: After confirming, you’ll be directed to the editor. Here, you’ll define what your Agent should do, also known as setting up its objectives. Think of these objectives as the various tasks your Agent can handle in conversations. For instance, an objective might be "search for answer," which allows the Agent to query a knowledge base for information.
- Define Actions for Objectives: With the objectives in place, you now need to specify actions by clicking Add Action. Actions are what the Agent does to achieve an objective. You can add one or more actions to an objective. For example, if your objective is "search for answer," you'll want to set the action to "Query Knowledge Base." All possible actions include:
- Query Knowledge Base: Searches for an answer to a question within a created Knowledge Base. You can learn more about how to configure Knowledge Bases here.
- Execute Process: Executes an existing Symphona Flow Process.
- Invoke REST API: Executes a REST API (commonly used to get data from or send data to an existing digital platform).
- Transfer to Agent: Transfers the conversation to another automated Agent (commonly used to create a modular Agent support structure).
- Transfer to Human: Transfers the conversation to a human where support is provided in the Live Chat view (for text-based conversations) or to the transfer phone number (for voice-based conversations).
- Fine-Tuning: Customize finer details such as greeting messages or specific behavioral guidelines. For instance, specify topics to avoid or how the Agent should phrase responses.
- Greeting: in the Greeting section, you can define how your Agent initially greets the user. You can toggle whether the Agent says a greeting or not, and provide guidance on how the Agent should greet the user. Since the chatbot will generate organic messages, being specific with the guidance will help if you want the chatbot to speak in a certain way.
- Topics to Avoid: In the Topics to Avoid section, you can specify what topics the Agent should not discuss. Topics can be defined using a single word (e.g. politics, religion, etc.) or multiple sentences. For the best results, write only one topic per field.
- Configure Your Agent Model: In the Model Configurations section, you can configure the AI model you want to power the Agent and fine-tune responses. You can configure the following:
- Persona: Give instructions to your Agent on their purpose and how they should speak. We generally recommend that Agents speak politely and formally with some guidelines on the structure of expected responses.
- Model: Choose the AI LLM model you want to use.
- Enhance Queries: Whether to enhance queries and improve performance.
- Validate Response Before Sending: Whether to validate responses before sending. This is useful if you want to ensure an Agent always sends a correct response.
- Include References in Response: Whether to include references in response. This is useful for knowledge centralization Agents where you want sources for the information they recalled.
- Translate Output to Input Prompt Language: Whether to automatically translate the received messages from their original language to English. This is useful to enable support in any major language.
- Max Response Length: The maximum response length based on the number of tokens. Note that 1 token corresponds to roughly 4 characters.
- Response Variability (Temperature): The response variability (or temperature) of your Agent. Higher values introduce some degrees of unpredictability and creativity, while lower values keep Agent behaviour predictable. We recommend keeping variability low if you want Agent responses to be fairly standardized and consistent.
- Deploy Your Agent: Once you’re satisfied with your Agent’s configuration, click Deploy. You can now link this Agent to various channels like chat widgets or phone lines. To create a chat widget, you can review the article here.
And there you have it! You’ve just created a generative Agent that can handle various tasks and enhance service quality for your organization.
Structured Agents
Overview
Structured Agents in Symphona Converse are automated systems for structured conversational flows, often employed in customer support scenarios. They operate by defining a clear sequence of interactive steps using various pre-configured Blocks (described further below).
These Agents allow for constructing dialogues by connecting these blocks in a flowchart-like manner, where each block defines a specific function in the conversation. You can incorporate AI into these Agents for more complex scenarios like fuzzy matching user intents or embedding generative AI responses, enhancing the Agent's flexibility and capability.
Structured Agents provide a robust and controlled way to manage user interactions, ensuring consistency and allowing for sophisticated interactions by leveraging both predefined logic and AI capabilities.
Tutorial Video
Follow along with us as we create a new Structured Agent, ready to be connected to a Chat Widget or phone number.
Creating Structured Agent
Creating a generative Agent in Symphona Converse involves several steps - let’s go through each of them:
- Navigate to Agent Manager
- On the left-hand side menu, click on Converse > Agent Manager under Front Office.
- Once on the Agent Manager page, click on New Agent in the top right corner
- Name your Agent and optionally give it a description. Choose “Structured” as the Agent type.
Overview of the Agent Editor
Now you’re in the Agent Editor. From here, you can drag and drop Blocks to create Agents. Here’s what you’ll be seeing when you start off:
- To the top-left: the Blocks. Each Block is a drag-and-drop module that allows for a unique, customizable action. We’ll go over each one later in this article.
- In the center: the Agent Editor. You can drag and drop Blocks here to create Steps and connect them in a defined order. The Starting Step module does nothing except tell the Agent what the first Step is.
- To the right: either the Step List. If you’re editing a Block, its parameters and fields will show up here. If you’re not editing a Block, the Step List will appear to show you the order of your Steps.
Agent Steps and Blocks
What Are Steps?
Structured Agents are made up of Steps and Blocks. Each Step must contain at least one or more Blocks. You can create new Steps by simply dragging in a Block into the Agent Editor view where there is no Step currently located.
What Are Blocks?
There are six types of Blocks you can drag and drop into the Editor:
- Parameter Blocks: Store and manipulate collected data for later use.
- Action Blocks: Trigger specific actions (like executing processes, making API requests, and prompting generative AI).
- Speak Blocks: Used for the Agent to deliver messages to the user.
- Inquiry Blocks: Used to gather information from users, such as names or questions.
- Transition Blocks: Navigate between different conversation steps based on defined conditions.
- Switch Blocks: Transfer the conversation to another automated Agent or to a live human.
Moving Between Steps
Whenever a Block has the ability to transition from one Step to another Step, there will be a small circle to the left of the Block. Clicking and dragging on that circle will create an arrow that you can connect to another Step. For example, you can click on the circle on the right of the Starting Step and drag an arrow from it to another Step.
Tips On Designing Your Structured Agent
If you’re unsure how to design your Agent, think about what you want your Agent to do. Ask yourself: how would a human do this task? Try drawing out what this would look like.
For example, if you wanted a customer service Agent, what would its flow look like? Maybe:
- Start with a friendly response.
- Ask for their name.
- Ask what their problem is.
- Direct them to a wiki resource if the problem is simple. Otherwise, connect them to a human Agent if the problem is complex.
Outlining this will help you decide the purpose of your Agent and what steps it should have. Knowing that will make it even easier to create your chatbot within Converse.