AI Coach: שיטות מומלצות

כדי לבצע אופטימיזציה להצעות של AI Coach, עליכם לספק את הפרטים הבאים:

  • קבוצה של הוראות כתובות
  • תמליל של השיחה
  • נתונים מ-API

בתמורה, AI Coach מספק הוראות רלוונטיות והצעות לתשובות של נציגים.

כדי לקבל את ההצעות הכי מועילות, כדאי להשתמש ב-AI Coach בתרחישים הבאים.

הגדלת המכירות ומכירת מוצרים או שירותים לא קשורים

כשנציג במוקד שירות לקוחות צריך להציע מוצר או שירות אחר, AI Coach יכול לספק את המידע המועיל הבא.

  • מציע מתי להתחיל במכירות ומתי לא לנסות למכור בכלל.
  • שואלים שאלות לבירור שורש הבעיה כדי להבין את צורכי הלקוח.
  • תמליץ על מוצר מתוך רשימה קצרה על סמך ההקשר של השיחה.
  • הצעות לטיפול בהתנגדויות.

שימור לקוחות

כשנציג במוקד שירות לקוחות מנסה לשכנע מישהו להישאר לקוח של החברה, מאמן ה-AI יכול לספק את המידע השימושי הבא.

  • הצעה מתי להציע מבצעים לשימור לקוחות.
  • כדאי לשאול שאלות מנחות כדי להבין את הסיבה לביטול המינוי.
  • המלצה על מבצעי שימור על סמך ההקשר של השיחה.

פעולות אוטומטיות בשלב אחד באמצעות כלים

מאמן ה-AI יכול גם להפעיל אוטומטית תהליכים עסקיים חוזרים על סמך שיחה עם שירות הלקוחות.

  • אחזור סטטוס ההזמנה כשהלקוח מאומת ומספק את מספר ההזמנה.
  • אפשר לבטל הזמנה אם יש לכם את מספר ההזמנה ואת סיבת הביטול.
  • הגדרת אוטומציות מסוכנות כך שידרשו בדיקה ואישור ידניים.

פעולות מסוכנות

פעולות מסוכנות הן תהליכים עסקיים אוטומטיים שעלולים לגרום להפסד כספי גדול, לפרצה באבטחת מידע או לאי-עמידה בדרישות הרגולטוריות. דוגמאות לכך הן כתיבה למסדי נתונים ואחזור מידע רגיש ללא אימות. AI Coach יכול להציע תזמון ולחלץ פרמטרים משיחה, אבל פעולות מסוכנות מחייבות בדיקה ואישור ידניים, ולכן לא כדאי להפוך אותן לאוטומטיות לחלוטין.

הוראות ל-AI Coach

תכתוב סדרה של הוראות כדי ללמד AI Coach אילו פעולות נציג תמיכה צריך לבצע ומתי הפעולות האלה נדרשות במהלך שיחת שירות לקוחות. ההוראות יכולות לציין כל פעולה של נציג, כמו בקשה מהלקוח להזין את קוד האימות של החשבון, בדיקת סטטוס ההזמנה ועדכון הלקוח או שליחת בקשה לביטול.

ההוראות של AI Coach כוללות את הפרטים הבאים:

  • הצגת כותרת: עוזרת לכם לנהל כמה הוראות. הכותרת לתצוגה לא גלויה ל-LLM.

  • הצגת פרטים: מציין את התוכן הסטטי שהמודל צריך להחזיר כשההוראה רלוונטית. פרטי התצוגה יכולים לכלול כתובת URL, קיצור דרך לכלי או למערכת פנימיים, דף מידע לסוכנים או קריאה ל-API בקצה העורפי. רק נציגים אנושיים יכולים לגשת לפרטים האלה. פרטי התצוגה לא גלויים למודל.

  • תנאי: מציין מתי ההוראה רלוונטית בשיחה. התנאי גלוי למודל.

  • פעולת הסוכן: מציינת אילו שלבים הסוכן צריך לבצע כשמתקבלת הוראה רלוונטית. הפעולה של הסוכן גלויה למודל.

  • פעולת מערכת: מציינת באילו כלים להשתמש לאוטומציה כשניתן להשתמש בהוראה. פעולת המערכת גלויה למודל.

  • האירוע שמפעיל את ההוראה: מציין את האירוע שמפעיל את ההוראה הזו. אם לא מציינים ערך, הוא משקף את אירוע ההפעלה של הגנרטור.

התנאי, פעולת הנציג ופעולת המערכת משפיעים על ההצעות של מאמן ה-AI.

תנאי

התנאי צריך להיות ברור, תמציתי ועצמאי. אפשר להשתמש בתיאור קצר של הבעיה של הלקוח. כשכותבים את מצב המוצר, צריך לתאר אותו כאילו מסבירים אותו לאדם ממוצע שלא מכיר את המוצר. הנה כמה דוגמאות לתנאים שימושיים:

  • הלקוח רוצה לבטל הזמנה.
  • הלקוח רוצה לרכוש טלפון חדש.
  • החיבור לאינטרנט של הלקוח איטי מאוד.

דוגמה

הדוגמה הבאה מציגה תנאי ופעולה של סוכן שאפשר להשתמש בהם.

  • מצב: הלקוח מבקש לעדכן את הכתובת למשלוח לכתובת חדשה.
  • פעולת נציג: אם הכתובת החדשה עדיין לא סופקה, צריך לשאול את הלקוח מה הכתובת החדשה שבה הוא רוצה להשתמש למשלוח.

באופן כללי, כדאי להציג את הטקסט של מדיניות החברה רק אחרי שהתנאי הרלוונטי מתקיים. בדוגמה הזו, המשמעות היא ש-AI Coach יציג את מדיניות הביטולים רק אחרי שהלקוח יביע רצון לבטל. בדוגמת הקלט הבאה, הנושא המיועד של השיחה משתקף גם בכותרת התצוגה וגם בתנאי. התוכן של הטקסט שמוצג לנציג מוגדר בפרטי התצוגה.

הקלט ל-AI Coach:

display_title: order cancellation
display_detail: Company cancellation policy: Orders cannot be canceled more than 30 days after they have been placed. Only the cancellation team can process order cancellations.
condition: the customer wants to cancel an order
agent_action: N/A

פעולה של סוכן

מומלץ לאמת כל שלב בפעולה של הנציג על סמך שלושה מקורות מידע:

  • הוראות: פרטים נוספים מופיעים בקטע הקודם.
  • תמליל השיחה: מסמך שמתעד את מה שנאמר על ידי הנציג והלקוח במהלך שיחה עם שירות הלקוחות.
  • נתונים שנאספו: כוללים נתוני לקוחות רלוונטיים שלא נמצאים ישירות בשיחה, כמו עסקאות מהזמן האחרון, חשבונות ומבצעים פעילים.

דוגמה לנתונים שמועברים ל-AI Coach:

ingested_data_key: Product Recommendation
ingested_data_value:
* Microwave-safe, glass food container set, $29.99
* Gila Complete Window Film Application Kit, $19.99

חסרים נתונים

אם פעולה של סוכן דורשת מידע שחסר בחלקים אחרים של ההוראה ובתמליל השיחה, ה-API שמספק את הנתונים שהוזנו צריך לספק גם את המידע החסר.

  • לא לכתוב פעולות שדורשות מידע שלא מופיע במקורות האלה.

  • אם לא הצלחתם למצוא את הנתונים המתאימים, אל תעשו את הפעולות הבאות:

    • הסבר ללקוח על החשבון.
    • ליידע את הלקוח לגבי היתרה שלו, תאריך היעד לתשלום או סטטוס ההזמנה.

מספר פעלים

ברשימת הפעולות של הסוכן שמופיעה למעלה יש רק פועל אחד, שמציין פעולה שהסוכן צריך לבצע, אבל שלב יכול לכלול יותר מפועל אחד. לדוגמה, אם בעסק רוצים שהסוכנים ימליצו על מוצר ספציפי ויקשרו את המוצר הזה לתנאי השימוש בתגובה אחת, אפשר לכתוב שלב פעולה אחד של הסוכן כמו בקלט הבא.

display_title: recommend device protection
display_detail:
 trade-in process: [list steps for trade-in]
 device protection plan: [list plan details]
condition: the customer has issues/questions about trade-in
agent_action:
Recommend the device protection plan and tell the customer it can help them get better trade-in values in the future.

פלט לדוגמה של תשובה

פעולה של סוכן יכולה גם להשתמש בנתונים שהוזנו ולציין תבנית לפלט של תשובת הדוגמה. לדוגמה, אם לעסק יש כמה מוצרים להמליץ עליהם והוא רוצה שהנציגים שלו יתנו המלצות שרלוונטיות להקשר של השיחה, פעולת הנציג יכולה להנחות את AI Coach לתת הצעות ספציפיות בפלט של תשובות לדוגמה. בנוסף, בדוגמה הזו מוסבר איך לכתוב פעולה של סוכן שמנחה את AI Coach ליצור תשובות לדוגמה לפי תבנית.

display_title: cross-selling
display_detail: see `Product Recommendations` for a relevant product
condition: the customer is inquiring about product availability
agent_action:
Summarize to the customer what product you have been discussing, then recommend a relevant product from the section titled "Product Recommendation" and provide a brief explanation of how the two products are relevant to each other. Use this template for sample responses: "Since we've been talking about ..., I'd like to recommend ... because ...".

Some examples:
- For TVs, recommend TV stands.
- For storage, recommend label writers.
- For slow cookers and microwaves, recommend food container sets.
- For air conditioners, recommend humidifiers.

פעולה רבת-שלבים

לבסוף, פעולת הסוכן יכולה לכלול יותר משלב אחד. פעולה של סוכן עם כמה שלבים מציינת איך הסוכן צריך להמשיך בשיחה כשמתקיים תנאי יחיד.

לדוגמה, שיחה בנושא ביטול הזמנה. כדי לבטל את ההזמנה, הנציג צריך לשאול סדרה של שאלות. כל שלב ייצור תשובה לדוגמה נפרדת.

display_title: order cancellation
display_detail:
 cancellation policy: [list policies]
 look up `[order number]` in ordering system
 how to cancel an order [list steps]
condition: the customer wants to cancel an order
agent_action:
1. Ask the customer for the order number.
2. Ask the customer why they want to cancel the order.
3. Inform the customer you are working on the cancellation.
4. Inform the customer that you have canceled the order.
5. Inform the customer that they will receive the refund in 5-7 business days.

שימו לב שקשה לאמת שלב כמו ביטול ההזמנה בלי שילובים נוספים. בדוגמה הקודמת, החלפנו את השלב הזה בהודעה ללקוח שאתם פועלים לביטול המינוי.

פעולת מערכת

בפעולת המערכת, אפשר להפנות לכלים שכבר הוגדרו. בקטע הזה בהוראה מצוינים הכלים שצריך לקחת בחשבון כשמתקיים התנאי של ההוראה. ההפניה לכלי צריכה להיות בפורמט הבא: ${tool:tool_name|action_name}. פרטים על הגדרת כלים זמינים בדף כלים של OpenAPI ו-Integration Connectors.

אלו כמה דוגמאות לפעולות מערכת:

דוגמה 1: הצגת רשימה של שמות הכלים והפעולות.

...
system_action:
${tool:order_management|cancel_order}, ${tool:order_management|check_order}

דוגמה 2: הוספת התנהגות מותנית.

...
system_action:
* if "RESPONSE TO ${TOOL:ORDER_MANAGEMENT|CANCEL_ORDER}" is already present without any error, skip ${tool:order_management|cancel_order} 
* if the order number has been provided, use ${tool:order_management|cancel_order} 
* if "RESPONSE TO ${TOOL:GETORDERDETAILS|GETORDERDETAILS}" shows errors or failures, retry ${tool: order_management | cancel_order}

שימוש בהנחיות כלליות ב-AI Coach

AI Coach מוסיף קטע הנחיות שניתן להגדרה בשם 'הנחיות כלליות', שבו מצוינים הפרטים הבאים:

  • מילון מונחים
  • הנחיות לגבי סגנון, פורמט ואווירה של הצעות לתשובות לדוגמה
  • הערות חשובות לגבי השימוש בהוראות

מילון מונחים

במילון המונחים הבא מוגדרים בבירור המונחים לקוח פגיע ואימות החשבון. בעזרת המילון הזה, שכלול בהנחיות הכלליות, אתם יכולים להשתמש במונחים בהוראות בלי להגדיר אותם שוב ושוב כמו בגרסאות קודמות של AI Coach.

#### Vulnerable customer

A customer is considered a vulnerable customer when at least one of the following is true:

- The customer is experiencing financial hardship.
- The customer has a physical disability or chronic health condition.
- The customer is facing domestic abuse or is in an unsafe situation.

#### Account authentication

Account authentication is considered completed if the account PIN provided by the customer matches the account PIN in the data section *Account PIN*.

הנחיות לגבי סגנון, פורמט וטון

בדוגמאות לתשובות, צריך לפעול לפי ההנחיות הבאות לגבי סגנון, פורמט וטון:

  • תמיד תהיו אמפתיים, סבלניים ומרגיעים.
  • הימנעו משפה לא רשמית מדי או מסלנג. הטון צריך להיות מכבד אבל גם חם.
  • התשובות צריכות תמיד להתייחס באופן מפורש לרגשות או לדאגות של הלקוח (לדוגמה: "אני מבין שאתה מתוסכל").
  • השתמשו במשפטים קצרים, והימנעו משפה מורכבת או מז'רגון.
  • אסור להאשים את הלקוח או לסתור את דבריו. במקום זאת, כדאי להפנות אותם בעדינות למידע הנכון.
  • תתחיל כל תשובה בהתייחסות ברורה לדאגה העיקרית של הלקוח.

הערות לגבי ביצוע הוראות

להוסיף הערות לגבי אופן הפעולה לפי ההוראות. כדי לשפר את ההצעות האוטומטיות, אפשר גם להשתמש בהערות כדי לציין את תהליך החשיבה או החשיבה הרציונלית.

דוגמאות

דוגמה 1: הגדרת התנהגות המודל

### Follow instructions
* An instruction is applicable if and only if both of the following are true:
  * The condition is met by the conversation and the contexts.
  * Some of the agent actions are not completed yet. (If all the agent actions are done, then the instruction no longer applies.)
* Notes on following the applicable instructions:
  * Do not suggest any sample responses or agent actions that are not specified in the applicable instructions.
  * Do not ask for information not specified in the instructions.
  * If an agent action step is to ask for information that the customer has already provided, then the step should be skipped.
  * **Your suggested responses should fit into the conversation flow**. For example, if the customer and the support agent has moved on to a new issue, you should stop making suggestions for the old issue.
* Each sample response (or agent action suggestion) must be concise and only carry out one step in the applicable instruction. Do not cover multiple steps within one sample response (or agent action suggestion).
* Avoid repetition:
  * Do not suggest sample responses or agent actions that the agent has already said or done earlier in the conversation.
  * Do not ask for information that is already available in the conversation or the contexts.
* For product names, when you provide parameters in system action suggestions, provide the full names, including available specs.
* If multiple instructions lead to the same or similar suggestion, give one suggestion, but with multiple sources.

דוגמה 2: שינוי העדיפויות של ההוראות וציון תהליך החשיבה כדי לקבל הצעות מדויקות יותר

### Notes on how to use or follow instructions
If there are multiple instructions applicable at the same time, **suggest only one instruction as applicable based on the following priority (from highest to lowest)**:
* [Highest priority] security related

Example: Account authentication is required before anything else.

* [High priority] customer retention
* [Medium priority] issue resolution
* [Low priority] upselling or cross-selling

### Thinking process
Before you make any suggestions, answer the following questions in this output section:
* For each instruction, is it applicable? If yes, what is its priority?
* Which instruction has the highest priority?

בדוגמה הבאה מוצגת אותה עדיפות של הוראות עם דוגמאות למה שהמודל צריך להציע בנסיבות מסוימות.

### Notes on how to use or follow instructions
If there are multiple instructions applicable at the same time, **suggest only one instruction as applicable based on the following priority (from highest to lowest)**:
* [Highest priority] security related

Examnple: Account authentication is required before anything else.

* [High priority] customer retention
* [Medium priority] issue resolution
* [Low priority] up-selling or cross-selling

#### Examples to follow
<example_1>
<instructions>
...
instruction I1
condition: the customer wants to inquire about their current plan
agent action: inform the customer of what plan they have and what features they get
...
instruction I2
condition: the authentication is not done yet
agent action: ask for the account PIN
...
</instructions>
<conversation>
customer: can you tell me what plan I have?
</conversation>
<good_suggestion>
may I have your account PIN, please?
</good_suggestion>
<bad_suggestion>
sure, let me pull up your account information.
</bad_suggestion>
<comment>
Both instructions I1 and I2 are applicable, but I1 should have the highest priority because it's security related. Therefore, asking for the account PIN is a good suggestion.
</comment>
</example_1>

חילוץ ישויות ב-AI Coach

התכונה 'חילוץ ישויות' מאפשרת ל-AI Coach:

  • זיהוי ושמירה אוטומטיים של מידע חשוב (כתובת משתמש, מספר חשבון או שם מוצר מתמליל בזמן אמת).
  • למנוע מכם להזין נתונים באופן ידני.
  • מוודאים שהנתונים במערכות ה-CRM מדויקים.
  • לזרז את תהליך העבודה.

כדי לשפר את הביצועים של התכונה, חשוב לוודא שההגדרה של מחולל AI Coach כוללת את הפרטים הבאים:

  • מחיקת ההוראות
  • מבנה כלי מוגדר
  • הנחיות כלליות

הגדרת כלי הפונקציה

הגדרת כלי מציינת את קבוצת ההוראות לחילוץ הנתונים. בדוגמה הבאה מוצג כלי פונקציה שמוגדר באמצעות JSON לחילוץ של ישות כתובת.

{
  "type": "object",
  "properties": {
    "phone_number": {
      "description": "A complete US phone number. ONLY extract if a fully visible 10 or 11-digit number is present. CRITICAL: If no valid value is found, you are FORBIDDEN from generating this key. DO NOT output 'phone_number': null.",
      "type": "string"
    },
    "full_person_name": {
      "description": "The full name of a real person. EXCLUDE: Generic roles, pronouns, or objects. CRITICAL: If no valid value is found, you are FORBIDDEN from generating this key. DO NOT output 'full_person_name': null.",
      "type": "string"
    },
    "address": {
      "description": "A complete physical address. MUST contain ALL FOUR: street number, street name, city and zipcode. Omit if incomplete.",
      "type": "string"
    }
  },
  "required": []
}

בדוגמה הבאה מוצגת סכימת הפלט.

{
  "properties": {
    "status": {
      "description": "Execution status indicating if entities were processed.",
      "type": "string"
    }
  },
  "type": "object"
}

הגדרות הגנרטור

ההגדרה של הגנרטור מכילה את הכללים והלוגיקה ברמה הגבוהה שמגדירים ל-AI Coach מתי ואיך לבצע את חילוץ הישויות. לדוגמה:

{
  "displayName": "Address Extraction Generator",
  "instructions": [
    {
      "displayTitle": "Extract Address Update",
      "condition": "The customer's most recent message explicitly mentions an address",
      "agentAction": "N/A",
      "systemAction": "${tool:crm_update|update_member_address}"
    }
  ],
  "overarchingGuidance": "Prioritize current address over previous mentioned addresses. If unsure about address type, default to 'Permanent'."
}

העברת נתונים

כש-AI Coach מחלץ נתוני ישויות ומפעיל כלי, ה-API מעביר את התוצאות באובייקט ToolCall למערכת העורפית. העברת הנתונים הזו כוללת את הרכיבים הבאים:

  • שדה: הנתונים שנאספים מקודדים בקטע inputParameters של ההודעה.
  • מבנה: מערכות ה-Backend מוגדרות לקבל את אובייקט toolCall הזה. המערכת משתמשת ב-inputParameters וממפה אותם לשדה המתאים כדי לעדכן את מסדי הנתונים. המבנה מקודד בשדה toolCall של GeneratorSuggestion.

דוגמה

בטבלה הבאה מוצגת האינטראקציה בזמן אמת בין הלקוח לבין הנציג. בעמודה האחרונה אפשר לראות איך AI Coach מנחה את הנציג על ידי ניתוח ההתבטאויות של הלקוח.

הפעלה תפקיד אמירות הלוגיקה והפעולה של AI Coach
1 לקוח/ה "שלום, עברתי דירה ואני רוצה לעדכן את הכתובת שלי". זוהתה כוונה: update_address.
2 סוכן "בטח, אוכל לעזור. מה הכתובת החדשה?" --
3 לקוח/ה ‫"It's 123 Main Street in Austin, Texas." ניתוח: זיהוי של רחוב, עיר ומדינה. משוב: "חסר מיקוד. מבקשים מהלקוח את המיקוד".
4 סוכן "הבנתי. מה המיקוד של המיקום הזה?" --
5 לקוח/ה ‫"Oh, it's 78701." ‏(אה, זה 78701). ניתוח: ישויות חובה הושלמו. פעולת מערכת: מפעילה את הכלי update_member_address. הנתונים מוחזרים ב-inputParameters.
6 סוכן "מעולה, עדכנתי את הכתובת הקבועה שלך לכתובת 'רחוב ראשי 123, אוסטין, טקסס 78701'". הסוכן מאמת את הטופס שמולא מראש במערכת ה-CRM.

המסקנות העיקריות מהאינטראקציה כוללות את הדברים הבאים:

  • זיהוי כוונות: בתור הראשון, AI Coach מזהה מיד את המטרה של הלקוח: עדכון הכתובת.
  • ניתוח והדרכה: בתור 3, AI Coach קובע שהמיקוד חסר ושולח משוב כדי לוודא שהנציג יאסוף את המיקוד.
  • פעולה אוטומטית: אחרי שכל הישויות הנדרשות נאספות בתור 5, AI Coach מפעיל את כלי המערכת. הנתונים נשלחים ישירות ל-CRM, כך שהנציג לא צריך להזין את הכתובת במסד הנתונים באופן ידני.

הנחיות כלליות

AI Coach מוסיף קטע הנחיות שניתן להגדרה בשם הנחיות כלליות, שבו אפשר להגדיר כללים גלובליים שחלים על כל חילוצי הנתונים. ההנחיות הכלליות האלה כוללות את הפרטים הבאים:

  • מילון מונחים: אתם יכולים להגדיר את המשמעות של מונחים. לדוגמה, אפשר להגדיר את תאריך הכניסה לתוקף כיום שבו שינוי נכנס לתוקף.
  • תהליך החשיבה: אתם יכולים להנחות את AI Coach לבצע שלבים ספציפיים של חשיבה רציונלית, כמו בדיקה של חמשת התורות האחרונים כדי לוודא את השמות והמספרים לפני ביצוע פעולה כלשהי.

תוכנית הטמעה

כדי לפרוס בהצלחה את התכונה 'חילוץ ישויות' של AI Coach, פועלים לפי השלבים הבאים. השלב הראשון הוא ההגדרה:

  1. יוצרים את הכלי ומגדירים את הסכימה של כל נתוני המפתח שרוצים לתעד.
  2. מציינים את הכוונה ברמה הגבוהה שצריכה להפעיל את AI Coach. לדוגמה, הלקוח רוצה לעדכן את הכתובת. מגדירים גם את פעולות המערכת.

השלב השני כולל בדיקה ושיפור:

  1. כדאי להשתמש בתמלילים אמיתיים כדי לצמצם את הטריגרים ולהפחית את התוצאות החיוביות הכוזבות.
  2. מעדכנים את ההוראות כדי להסביר לסוכן מה לעשות אם חסר ללקוח מידע נדרש.
  3. מוודאים שהנתונים שנאספו זורמים בצורה נכונה משיחת הלקוח, דרך inputParameters אל מערכת ה-CRM או מערכות אחרות.

שפת הפלט של AI Coach

AI Coach יוצר הצעות בשפת הפלט שצוינה. אם לא מציינים את שפת הפלט, המודל מחליט מה תהיה שפת הפלט של ההצעות.

פלט של AI Coach

AI Coach מחזיר אחת או יותר מהתוצאות הבאות:

  • הוראות רלוונטיות: יכולות להיות כמה הוראות רלוונטיות, ולכל אחת מהן יש שם ותיאור.

  • תשובות לדוגמה: AI Coach גם יוצר דוגמאות לאופן שבו נציג יכול להגיב בשיחה. התשובות לדוגמה האלה מבוססות על ההוראות, על ההקשרים של השיחה ועל הנתונים שהוזנו. התשובה לדוגמה יכולה להיות גם ריקה.

שיפור האיכות

ההמלצות הבאות לכתיבת הוראות ל-AI Coach יכולות לעזור לשפר את האיכות של תשובות לדוגמה, אבל הן לא מונעות מ-AI Coach לתת הצעות לא צפויות.

עיצוב טקסט להצגת פרטים

אפשר להשתמש בתחביר Markdown כדי להציג פרטים בפורמט עשיר (קישורים, טקסט מודגש וכו'). התוצאה מוצגת בסימולטור המסוף Google Cloud , אבל היא גם עוזרת להטמיע את הפקודה בממשק האינטרנט.

עיצוב הטקסט של פעולת הנציג

אם AI Coach מתעלם לעיתים קרובות משלב או מדרישה מסוימים, אפשר להשתמש בטקסט מודגש כדי לעזור למודל לשים לב יותר לקטע טקסט ספציפי. כדי להדגיש טקסט באמצעות תחביר Markdown, מוסיפים שתי כוכביות משני צדי הטקסט.

display_title: order cancellation
display_detail:
 cancellation policy: [list policies]
 look up `[order number]` in ordering system
 how to cancel an order [list steps]
condition: the customer wants to cancel an order
agent_action:
1. ask the customer for the order number
2. **ask the customer why they want to cancel the order**
3. inform the customer you are working on the cancellation
4. inform the customer that you have canceled the order
5. inform the customer that they will receive the refund in 5-7 business days

טקסט מודגש הופך לפחות יעיל אם, לדוגמה, כל שלב בפעולה של הסוכן מודגש. לכן כדאי להשתמש בטכניקה הזו במשורה.

הוספת דוגמאות קונקרטיות

אם AI Coach לא נותן את התשובות לדוגמה שציפיתם לקבל, כדאי להוסיף לפעולת הסוכן כמה דוגמאות של תשובות שאתם רוצים לראות. בדוגמה המפורטת הבאה אפשר לראות איך אפשר להשתמש בדוגמאות קלות (מסומנות):

display_title: smartwatch recommendation
display_detail: see `Smartwatch Catalog` for a relevant smartwatch
condition: the customer recently purchased phones
agent action:
recommend a specific smartwatch from the section titled "Smartwatch Catalog"; the recommendation should match the recently purchased phones from the section titled "Recent Purchases".
Following are some examples:
- For Galaxy phones, recommend Galaxy watch.
- For iPhones, recommend Apple Watch.
- For Pixel phones, recommend Pixel Watch. 
- For other phones, recommend Fitbit Sense.

בלי הדוגמאות הקלות, AI Coach יציע Apple Watch למכשירי Android או יציג רשימה של כל השעונים החכמים הזמינים. בדוגמאות הקלות, ההצעות מדויקות.

תבניות של הודעות

כדי לשלוט בניסוח ובפורמט של התשובות לדוגמה שנוצרו, אפשר לצרף לתגובת הסוכן תבנית הודעה או אפילו הודעה סטטית קבועה. בניגוד לדוגמאות הקלות, התבניות האלה מציינות את הניסוח המדויק שצריך להשתמש בו בתשובה לדוגמה. בדוגמה הבאה, תבניות ההודעות מודגשות.

display_title: bill explanation
display_detail:
 look up `[account number]`
 check `Recent Bills` to compare amounts
 https://www.[company name].com/promos
condition: the customer wonders why the bill is getting higher this month
agent_action:
1. ask the customer for the account number. use this fixed message for sample responses: "May I have your account number, please?"
2. compare the bills in the last two months from the section titled "Recent Bills" and inform the customer of the extra charge. use this template for sample responses: "Compared with last month, this month you have an extra charge for ..., which costs ..."

חשיבה רציונלית מודרכת

אם בהוראה אחת או יותר מצוין יעד בלי מספיק שלבים או בלי הסבר על ההיגיון הסמוי להשגת היעד, צריך לשנות את השלבים כדי שיהיו ברורים. לדוגמה, אם מבקשים מהסוכן להמליץ על מוצר, המוצר המוצע צריך להיות רלוונטי לשיחה. כדי לעזור ל-AI Coach לתת הצעות רלוונטיות, מוסיפים תת-משימה בתחילת פעולת הסוכן שמתייחסת להקשר של השיחה.

display_title: cross-selling
display_detail: sample response
condition: the customer is inquiring about product availability
agent_action:
summarize to the customer what product you have been discussing, then recommend a relevant product from the section titled "Product Recommendation" and provide a brief explanation of how the two products are relevant to each other. Use this template for sample responses: "Since we've been talking about ..., I'd like to recommend ... because ...".

בדוגמה, המשימה העיקרית היא להציע מוצר שרלוונטי לשיחה. יכול להיות שהמאמן מבוסס ה-AI יפספס את הנקודה וימליץ על המוצר הראשון שמופיע בקטע המלצת מוצר. הוספת תת-משימה יכולה לשפר באופן משמעותי את הרלוונטיות. בנוסף, מוסיפים תבנית הודעה בסוף פעולת הנציג כדי שהתוצאה של משימת המשנה תשתלב בצורה חלקה בתשובות לדוגמה.

הוספת ביטול כפילויות בהצעות

התכונה 'ביטול כפילויות בהצעות של AI Coach' מונעת הצגה של הצעות כפולות או דומות מאוד לנציגים. משתמשים בשדה SuggestionDedupingConfig ב-proto של הגנרטור כדי להשוות בין רכיבי ההצעה (הוראות, תשובות לדוגמה וכו') לבין היסטוריה של הצעות אחרונות. אפשר לשנות את רמת הרגישות של הדמיון באמצעות סף שניתן להגדרה. ההודעה DuplicateCheckResult מספקת את התוצאות של בדיקת ביטול הכפילויות בתגובה להצעה.

הגדרת ביטול כפילויות בהצעות

כדי לנהל הצעות כפולות מ-AI Coach, צריך להגדיר את SuggestionDedupingConfig בהגדרות של הגנרטור.

שדות להגדרת התצורה

SuggestionDedupingConfig כולל את השדות הבאים:

  • enable_deduping: מגדירים את השדה הבוליאני הזה כ-true כדי להפעיל את התכונה לביטול כפילויות של הצעות. אם המדיניות מוגדרת כ-False או לא מוגדרת, הביטול הכפול מושבת. דוגמה:

    suggestion_deduping_config {
    enable_deduping: true
    }
    
  • similarity_threshold: ערך הסף הזה מסוג float משמש לביטול כפילויות על סמך דמיון בשדות מסוימים. במהלך תהליך ביטול הכפילויות, ההצעות עם ציון דמיון גבוה מהערך הזה נחשבות לכפילויות. הציון נע בין 0.0 ל-1.0. אם השדה הזה מוגדר כ-0.0 או לא מוגדר, המערכת משתמשת בערך סף ברירת המחדל 0.8. דוגמה:

    suggestion_deduping_config {
    enable_deduping: true
    similarity_threshold: 0.85
    }
    

איך מתבצעת הסרת כפילויות

אם הערך של enable_deduping הוא true, אפשר להשוות בין ההצעות לבין הצעות קודמות. תהליך ביטול הכפילויות בודק כפילויות בכל אחד מהשדות הבאים של ההצעה:

  • הוראות (applicable_instructions): בדיקה של התאמות מדויקות להצעות בהיסטוריה.
  • תשובות לדוגמה (sample_responses): בדיקה של הדמיון בין ההצעה הנוכחית לבין ההצעות בהיסטוריה. הסרת הכפילויות מסמנת תוצאות כפולות אם ציון הדמיון גבוה ממידת דמיון מינימלית בין המשתמשים.
  • פעולות של סוכן (agent_action_suggestions): בדיקה של הדמיון בין ההצעה הנוכחית לבין ההצעות הקודמות, בדומה לתשובות לדוגמה. הסרת הכפילויות מסמנת תוצאות כפולות אם ציון הדמיון גבוה ממידת דמיון מינימלית בין המשתמשים. תוצאות הבדיקות לביטול כפילויות מוחזרות בהודעה DuplicateCheckResult.

פלט: DuplicateCheckResult

ההודעה AgentCoachingSuggestion מכילה שדות לסוגים שונים של הצעות (לדוגמה, AgentActionSuggestion, ‏ SampleResponse). כל אחד מהשדות האלה יכלול הודעה DuplicateCheckResult עם מידע על כפילויות פוטנציאליות שנמצאו בהיסטוריה. דוגמה:

// Example within AgentActionSuggestion
message AgentActionSuggestion {
  // ... other fields ...
  DuplicateCheckResult duplicate_check_result = 3;
}

// Duplication check for the suggestion.
message DuplicateCheckResult {
  // The duplicate suggestions.
  repeated DuplicateSuggestion duplicate_suggestions = 1 [
    (google.api.field_behavior) = OUTPUT_ONLY,
    (datapol.semantic_type) = ST_NOT_REQUIRED
  ];

  // The duplicate suggestion details.
  message DuplicateSuggestion {
    // The answer record ID of the past duplicate suggestion.
    string answer_record = 1 [
      (google.api.field_behavior) = OUTPUT_ONLY,
      (datapol.semantic_type) = ST_IDENTIFYING_ID
    ];
    // Sources for the suggestion.
    Sources sources = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
    // The index of the duplicate suggestion in the past suggestion list.
    int32 suggestion_index = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
    // The similarity score of between the past and current suggestion.
    // This is only populated for fields using similarity checks.
    float similarity_score = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  }
}

הגדרה לדוגמה

הגדרת הגנרטור לדוגמה מאפשרת את התכונה לביטול כפילויות בהצעות על ידי הגדרת enable_deduping לערך true. בנוסף, הערך של similarity_threshold מוגדר ל-0.75. המשמעות היא שאם לטקסט של הצעה חדשה (לתשובות לדוגמה ולפעולות של הסוכן) יש ציון דמיון של 0.75 ומעלה עם אחת מההצעות הקודמות, הביטול הכפול יסמן אותה ככפילות עם DuplicateCheckResult.

# Example Generator configuration with Deduping enabled
generator {
  # ... other generator fields ...

  suggestion_deduping_config {
    enable_deduping: true
    similarity_threshold: 0.75 # Optional: Adjusts sensitivity for similarity checks
  }

  # ... rest of generator config ...
}