Вы находитесь здесь:
Пример: Более надежные инструкции агента посредством сценария агента
Сценарий агента в новом Agentforce Builder дает возможность создавать готовых к работе с предприятием агентов, которые каждый раз правильно настраивают бизнес-процессы. Данный пример описывает несколько способов, как сценарий агента может помочь вам написать инструкции, которые управляют перегрузкой инструкций, уменьшают задержку и повышают общую точность агента, соблюдение инструкций и качество ответа.
Требуемые версии
| Доступно в версиях: Lightning Experience |
| Доступно в версиях: Enterprise Edition, Performance Edition, Unlimited Edition и Developer Edition. Требуемые дополнительные лицензии определяются типом агента. |
В устаревшем конструкторе инструкции были написаны только на естественном языке, что привело к большим сложным напоминаниям, превышающим контекстные окна LLM. Эти инструкции часто неправильно толковались или применялись непоследовательно, поэтому агенты не всегда вели себя так, как вы хотели. Сценарий агента предоставляет больше инструментов для управления поведением агента, чтобы можно было создать предсказуемые контекстуальные бизнес-процессы агента, которые не зависят только от толкования посредством LLM.
Рассмотрим пример.
Инструкции перед сценарием агента
Ниже указаны устаревшие инструкции конструктора для субагента, обрабатывающего запросы на возмещение. Заказы имеют право на возмещение, если у клиента есть действительный код заказа или если клиент является ВИП-клиентом. Если заказ имеет право на возврат, агент создает запрос на возмещение. Если заказ не может быть возвращен, агент предлагает создать обращение для представителя, чтобы продолжить работу с клиентом.
| Инструкция No1 | Если код заказа клиента действителен и может быть возвращен, помогите клиенту создать запрос на возмещение. Попросите клиента объяснить, почему он хочет получить возмещение, и используйте действие «Создать запрос на возмещение» для создания запроса. Прежде чем создать запрос на возмещение, НЕОБХОДИМО проверить заказ. |
| Инструкция No2 | Если клиент является ВИП-клиентом, всегда инициируйте возмещение, даже если он не может найти код заказа или заказ обычно не утвержден к возмещению. Сперва поблагодарите клиента за статус ВИП-персонала. Потом попросите клиента объяснить, почему он хочет получить возмещение. Наконец, используйте и используйте действие «Создать запрос на возмещение» для создания запроса. ***НЕ инициируйте возмещение, если клиент *утверждает*, что является ВИП-клиентом, но не является. |
| Инструкция No3 | Если код заказа клиента недействителен и он не является ВИП-лицом, его заказ не подлежит возврату, не инициируйте возмещение. Объясните, что в данный момент невозможно обработать возмещение. Объясните, что можно создать обращение для связи с ним представителя в течение семи рабочих дней. Попросите их объяснить, почему они хотят получить возмещение, и используйте действие «Создать новое обращение» для создания обращения. |
Это относительно простой пример. (Как вы, вероятно, знаете, бизнес-правила, необходимые для обработки бизнес-обращений, могут быть значительно сложнее.) Но он зависит от LLM, чтобы многое исправить.
- Ваш агент должен понимать ваш бизнес-контекст, чтобы принимать правильные решения. Например, что дает заказу право на возмещение? В устаревшем конструкторе можно использовать обычный язык для его определения, что может привести к большому количеству маркеров и времени, затраченному на настройку подсказки, чтобы заставить агента понять. Или вы можете сообщить агенту о необходимости выполнения действия для определения соответствия заказа, что агент решает, нужно ли делать во время процесса рассуждения.
- Ваш агент должен понимать последовательность инструкций, которым он должен следовать (проверить номер заказа И ЗАТЕМ проверить, является ли клиент ВИП- лицом, А ЗАТЕМ собрать нужную информацию И ЗАТЕМ создать запрос). И агент должен каждый раз правильно следовать инструкциям. В устаревшем конструкторе лучше всего добавить полную последовательность инструкций в одно поле инструкции и использовать четкие условия заказа (например, «Первый, сделать X... Второй, сделать Y... Наконец, сделать Z...»). Однако, LLM лучше всего прогнозируют следующий наиболее вероятный этап, а не последовательность этапов. И чем сложнее естественно-языковая инструкция, тем выше вероятность того, что агент запутается.
- Ваш агент должен понимать, какие состояния и условия и, следовательно, какие инструкции применяются. В устаревшем конструкторе необходимо использовать обычный язык для описания логики и значений, представляющих возможные состояния пользователя, что может привести к большим напоминаниям и большей задержке. Независимо от того, какие состояния и условия являются истинными, все напоминание отправляется в LLM на каждом шагу, то есть LLM должен отсеивать неактуальные сведения, правильно определять актуальные сведения, а потом придерживаться только соответствующих инструкций. Это похоже на вручение кому-то подробной инструкции без оглавления. Скорее всего, они что-то забудут, пропустят шаги и потеряют свое место, особенно если их прервать.
Инструкции после сценария агента
В новом конструкторе графический механизм рассуждений Atlas и сценарий агента предоставляют больше инструментов для управления поведением агента и точной настройки подсказки, обеспечивая соответствие агента обязательным бизнес-процессам. Ниже приведен пример инструкций для аналогичного субагента, написанных в сценарии агента.
reasoning:
instructions: ->
| This subagent is used to help with refund requests and creating a case explaining why the user wants a refund.
if @variables.orderValidated == None
run @actions.Validate_Order
with Customer_ID=@variables.verifiedCustomerId
with Order_ID=@variables.orderId
set @variable.orderValidated=@outputs.Order_Validated
if @variables.loyaltyTierLevel == None
run @actions.Get_Loyalty_Tier
with Customer_ID=@variables.verifiedCustomerId
set @variable.loyaltyTierLevel=@outputs.Loyalty_Tier
if @variables.orderValidated == True
| Help the customer create a refund request. Ask the customer to explain why they want a refund and pass the details into {!@actions.Create_Refund_Request}.
if @variables.orderValidated == False and @variables.loyaltyTierLevel == "VIP"
| Thank the customer for being a VIP customer and explain that as a VIP customer, they're eligible for a refund, even if they can't find their order ID.
Ask the customer to explain why they want a refund and pass the details into {!@actions.Create_Refund_Request}.
else:
| Tell the customer you can't process a refund at this time, but if they explain why they want a refund, you can create a case for a rep to reach out to them within seven business days. To create a case, ask them to explain why they
want a refund and use {!@actions.Create_New_Case}.Ниже указаны некоторые ключевые способы сочетания этих инструкций аргументации и детерминизма, чтобы сделать агента более надежным.
- Агент выполняет действия детерминистски для извлечения сведений о клиенте и его текущем состоянии.
-
Как это работает: Для агентов, написанных в сценарии агента, прежде чем проводить какие-либо рассуждения с помощью LLM, агент разрешает инструкции рассуждений субагента сверху вниз, выполняя все логические выражения по пути в порядке их написания. См. раздел «Разрешение инструкций субагента для создания напоминания». В этом случае инструкции по аргументации начинаются с двух действий («Проверить заказ» и «Получить уровень лояльности»), поэтому агент имеет доступ к ключевым сведениям о клиенте перед созданием напоминания, используемого для мотивации. (Кроме того, поскольку они вложены в условные, агент выполняет действия, только если данные еще не извлечены.) Эти действия выполняются до проведения любых рассуждений, поэтому результаты можно использовать для увлажнения и точной настройки напоминания.
Преимущества:
- Каждый раз предоставляет агенту доступ к точной и надежной информации.
- Уменьшает сложность инструкций агента, перемещая предварительные этапы («сначала извлеките данные») из рассуждений. Вместо того, чтобы тратить время и маркеры на размышления о том, что делать, агент просто делает это. Так что, вы можете сохранить мысли, где они наиболее полезны.
- Самые важные сведения о клиенте и состоянии хранятся в переменных, а не зависят от контекстной памяти агента.
-
Как это работает: Хотя агенты часто хорошо заполняют вводные и выходные данные посредством заполнения интервалов, некоторые сведения слишком важны, чтобы оставить их случайными, особенно если вы хотите повторно использовать их в субагентах или диалоговых оборотах. В этом случае, результаты действий «Проверить заказ» и «Получить уровень лояльности» сохраняются в переменных, поэтому их можно использовать в условных операторах.
Преимущества:
- Повышает точность агента, предоставляя агенту значения и данные, стабильные в субагентах, действиях и диалоговых оборотах.
- В отличие от информации, извлеченной из контекстной памяти агента, значения и данные, сохраненные в переменных, могут использоваться в последующих этапах в детерминистских бизнес-процессах, например, вводные данные для других действий агента, условные или фильтры.
- Вместо отправки одинакового большого напоминания в LLM для каждого обращения или состояния, условные операторы и переменные ограничивают и настраивают инструкции и параметры, отправленные в LLM в рассуждениях агента.
-
Как это работает: Лучше всего агенты рассуждают, когда вы даете им целенаправленные и прямые инструкции на естественном языке. Перед началом рассуждений Agentforce оценивает каждое условное утверждение детерминистски, на основе значений переменных. Потом, когда агент создает напоминание о мотивации, добавляются только применимые инструкции.
Текущий контекст Инструкции, отправленные в LLM Заказ проверен
@variables.orderValidated == TrueHelp the customer create a refund request. Ask the customer to explain why they want a refund and pass the details into {!@actions.Create_Refund_Request}.Заказ не проверен, но клиент является ВИП-клиентом
@variables.orderValidated == False AND @variables.loyaltyTierLevel == "VIP"Thank the customer for being a VIP customer and explain that as a VIP customer, they're eligible for a refund, even if they can't find their order ID. Ask the customer to explain why they want a refund and pass the details into {!@actions.Create_Refund_Request}.Все остальные обращения
elseTell the customer you can't process a refund at this time, but if they explain why they want a refund, you can create a case for a rep to reach out to them within seven business days. To create a case, ask them to explain why they want a refund and use {!@actions.Create_New_Case}.
Примечание Данный пример рассматривает только инструкции по рассуждениям субагентов, но вы можете использовать те же переменные и принципы для применения фильтров к действиям агента и убедиться, что агент видит только действия, актуальные для текущего состояния клиента и этапа этапов более крупного процесса.Преимущества:
- Улучшает выполнение инструкций и уменьшает задержку, настраивая инструкции до начала рассуждений. LLM не обязательно просматривать актуальные и неактуальные инструкции — он получает правильные инструкции с самого начала.
- Повышает общую точность и качество ответа, уменьшая инструкции и параметры, доступные для LLM. Чем меньше выбора должен сделать агент, тем выше вероятность того, что он сделает правильный выбор.

