Designing Thoughts
Learn how to design effective instructions for Grace
Guide to Designing Thoughts for Grace, the AI Customer Service Agent
Overview
Thoughts are structured instructions that guide Grace’s interactions during customer conversations. Each thought:
- Directs Grace on how to handle specific customer queries or scenarios.
- Triggers functions to perform tasks, access data, or make decisions.
- Helps control the flow of the conversation, enabling Grace to interact effectively with various external systems.
This guide provides essential principles and best practices for creating effective thoughts, ensuring they are actionable, clear, and adaptable.
Key Components of a Thought
Each thought should include several key elements to ensure it is actionable and effective:
-
Context:
- Provide any relevant background information that sets up the purpose of the conversation or the specific service Grace is providing.
- Example: You are an AI agent helping customers book meter exchange appointments.
-
Objective:
- Clearly state the goal of the thought. Ask, “What should Grace accomplish with this instruction?”
- Example: Confirm the customer’s address to retrieve account details.
-
Expected Input or Trigger:
- Define customer statements or conditions that trigger the thought.
- Example: If the customer provides an address that matches multiple accounts…
-
Conversation Flow:
- Write specific, clear prompts or responses that Grace should use to keep the conversation moving and confirm key details.
- Example: Say, “I’ve found your account. Would you like to schedule the earliest available appointment?”
-
Function Call Requirements:
- Detail the conditions for Grace to call a function, including the necessary parameters.
- Example: Call the
Get Account By Address
function with the confirmed address details.
-
Error Handling and Confirmation Strategy:
- Plan steps for addressing potential issues, such as multiple options or failed function calls.
- Example: If there are multiple address matches, ask the customer for specific additional details (like floor number) to narrow down the options.
-
Special Cases or Instructions:
- Describe any unique considerations related to this thought, such as specific responses to emergencies or certain types of customer requests.
- Example: If the customer indicates an emergency, immediately transfer them to the emergency line.
Advanced Design Guidelines
These guidelines will help ensure thoughts are clear, prevent potential misunderstandings, and make the AI’s actions more consistent.
-
Avoid Explicit Negations:
- Instead of telling Grace what not to do, define only the actions you want her to take. Negative instructions can sometimes lead to unintended behaviors.
- Example: Instead of saying, “Do not ask for the customer’s name again,” use, “After receiving the customer’s name, proceed to confirm their account details.”
-
Alternative Actions for Conditional Scenarios:
- When certain actions depend on context (like voice vs. text), specify distinct actions for each scenario, always giving Grace a defined task in each case.
- Example for Spelling Confirmation:
- Voice Call: “Once the customer provides their name, confirm the spelling by asking, ‘How do you spell that?’”
- SMS: “Once the customer provides their name, thank them and move to the next step.”
-
Strong Language for Clear Directives:
- Use words like “must” and “will” instead of “should” and “can” to create clear, unambiguous instructions.
- Example: “You must confirm the appointment date and time after booking.”
-
Avoid Explicit Examples in Thoughts:
- Avoid using specific examples of addresses, emails, or customer data in thoughts, as this can lead to confusion between real customer data and example information.
- Alternative: Guide Grace to gather and use required parameters without embedding example values directly.
-
Explicit Function References and Parameter Collection:
- Include references to function names and specify the exact parameters Grace should collect. This ensures each function call is clear and complete.
- Example: “Call the
Get Account By Address
function. Collect and confirm the street number, street name, and ZIP code before proceeding.”
-
Avoid Math in Thoughts:
- Avoid embedding any math within thoughts. Functions should handle all calculations to ensure accuracy and reduce complexity within thoughts.
- Alternative: Use a function to perform the calculation and then relay the result to the customer.
- Example: Instead of saying, “Add the installment amount and the current balance,” use, “Call
Calculate Total Amount
with the parameters ‘InstallmentAmount’ and ‘CurrentBalance’ and relay the result.”
Providing Additional Information
Sometimes, it can be helpful to provide Grace with additional information that could come up during the conversation. Structuring information as a reference can help her answer customer questions efficiently without needing to call a function each time.
Format:
- Use clear statements and list format to make the information easy to reference.
- Start with a phrase like, “Use the following information to answer any customer questions.”
Example:
Common Problems and Solutions
-
Problem: Grace isn’t saying something the way you would like.
- Solution: If Grace isn’t formatting a sentence to your liking, surround the sentence you want with single quotes to prompt her to say it exactly as written. You can also add variables in brackets to use template-style placeholders (e.g.,
[Insert Customer Name]
). Grace doesn’t currently have strict rules for using variables, so you may need to experiment to find the best phrasing.
- Solution: If Grace isn’t formatting a sentence to your liking, surround the sentence you want with single quotes to prompt her to say it exactly as written. You can also add variables in brackets to use template-style placeholders (e.g.,
-
Problem: Grace keeps asking for spelling in a text flow.
- Solution: Use specific phrasing like “If the customer is speaking over the phone…” and “If the customer is speaking over text…” before giving instructions to either ask or avoid asking for spelling.
-
Problem: Grace is not retrieving or remembering customer details correctly.
- Solution: Ensure that every parameter Grace needs for a function is listed in the thought and is confirmed with the customer. Use the customer’s responses to validate these details, avoiding assumptions.
-
Problem: Grace performs math incorrectly.
- Solution: Don’t include calculations directly in thoughts. Use dedicated functions to perform any math, and have Grace call the function, receive the output, and then relay the result to the customer.
-
Problem: Grace provides examples instead of real customer information.
- Solution: Avoid embedding examples within thoughts to prevent confusion. Instead, simply instruct Grace to gather the necessary details, specifying what she should collect and confirm with the customer.
Expanded Error Handling
Error handling in Grace’s thoughts requires specific, step-by-step instructions for responding to issues or situations she cannot address directly. While humans may intuitively understand these responses, Grace needs precise instructions at each step. Defining error-handling procedures in detail ensures Grace can handle interruptions smoothly, redirect customers accurately, and uphold standard operating procedures.
Key Principles for Error Handling
-
Explicit Step-by-Step Instructions:
- For every possible error or customer need outside Grace’s scope, provide explicit instructions. Include what action Grace should take, when to take it, and any specific phrasing for responses.
- Example: “If the customer mentions a water leak, immediately tell them that you will transfer them to the emergency line, and use the
Transfer to Emergency
function.”
-
Define a List of Actions Grace Cannot Perform:
- Create a list of tasks Grace is not equipped to handle, such as handling billing disputes, technical support for device issues, or addressing certain types of emergencies.
- For each task on the list, specify an action Grace should take, whether it’s scheduling a callback, directing to another department, or ending the conversation politely.
- Example: “If the customer asks for billing help, use the
Schedule Callback
function and inform the customer that a representative will follow up shortly.”
-
Tailor Responses for Specific Problem Types:
- Different problems often require different handling strategies. For critical issues, like emergencies, provide a fast, reassuring response, while for minor issues, aim to give helpful alternatives.
- Example: “If the customer mentions a gas leak or a smoking wire, instruct them to go to a safe location and call 911 immediately. If they agree, use the
End Call
function.”
-
Preemptively Address Known Issues:
- Based on your procedures, anticipate common issues Grace may encounter and prepare thoughts to handle them. Each thought should cover:
- The customer’s potential statement or request.
- Grace’s response, phrased to align with company procedures.
- The function Grace should call or action she should take.
- Example: “If the customer asks about a service or feature Grace doesn’t support, she should say, ‘I’m sorry, but I am unable to assist with that. Would you like me to schedule a callback for a representative?’”
- Based on your procedures, anticipate common issues Grace may encounter and prepare thoughts to handle them. Each thought should cover:
-
Use Conditional Language for Clear Redirection:
- Avoid ambiguity by using conditional phrasing. If a customer’s need doesn’t match an immediate solution, guide Grace to gather clarifying information and take the appropriate action based on the customer’s responses.
- Example: “If the customer requests help with an unfamiliar issue, apologize and let them know you’re arranging a callback for further assistance.”
Example Error Handling Template
Here’s a template that incorporates these principles:
Error Handling: [Specific Customer Issue]
- Objective: Define the purpose of this error-handling thought (e.g., “Address emergencies related to water leaks by transferring to the emergency line”).
- Response: Provide a specific response Grace should give to the customer.
- Action: Specify the exact function to call (e.g.,
Transfer to Emergency
). - Escalation Strategy: If the function fails, outline the fallback action Grace should take (e.g., “Schedule a callback” or “Inform the customer to contact an emergency number directly”).
- Example:
- Customer Issue: Water leak reported.
- Response: “I understand there’s a water leak. I’ll connect you with our emergency support.”
- Function Call:
Transfer to Emergency
- Escalation: If the transfer fails, say, “It seems I couldn’t connect you. Please contact our emergency line directly at [number].”
Thought Template
Here’s a template incorporating all elements for consistent and effective thought design:
Summary
Following this guide will help create well-structured thoughts that provide Grace with clear, actionable instructions across various scenarios. Properly designed thoughts will ensure Grace’s responses are consistent, effective, and adaptable to a range of customer interactions, aligning with your operational procedures. This approach ensures high-quality interactions that are easy to maintain and update as new functions or scenarios arise.