Регистрация  |  Вход

Пример Agentforce Script

Друзья, можно у кого нибудь попросить пример простого агента в виде Agentforce Script по моему описанию? Не могу сдвинуться с мертвой точки. Я правильно понимаю что можно так переносить агентов? Создал на одном орге, скопировал Script, на другом создал пустого агента и вставил полученный Script? Это будет работать? Или может через метадату?

В общем мне нужны примеры агентов такие:

1. Account Manager: Я спрашиваю что-то по Accounts, а агент может выполнить поиск с дать информацию по найденным Accounts. К примеру: "Сколько у меня на орге Accounts", "Покажи названия всех Accounts", "Дай список Accounts созданных за последние 10 дней".

2. Вызов Apex метода. Я спрашиваю (к примеру, может более подходящий пример придумаете) "Сколько продали машин марки GM в 2006 года". Агент должен вызвать Apex метод (примерно такой, можно изменить)

Integer getCarSummary(String brand, String year) { return 100; }

который вернет число (или может сразу какой-то объект Summary, не знаю как агент любит принимать данные от apex) и агент покажет мне это в ответе.

Если есть проблемы с переносом Agentforce Agent через Script(ручками) или через метадату, то может обсудим короткий созвон чтобы создать этих агентов с нуля на моем dev орге? (компенсацию тоже можем обсудить )
Друзья, можно у кого нибудь попросить пример простого агента в виде Agentforce Script по моему описанию? Не могу сдвинуться с мертвой точки. Я правильно понимаю что можно так переносить агентов? Создал на одном орге, скопировал Script, на другом создал пустого агента и вставил полученный Script? Это будет работать? Или может через метадату?

В общем мне нужны примеры агентов такие:

1. Account Manager: Я спрашиваю что-то по Accounts, а агент может выполнить поиск с дать информацию по найденным Accounts. К примеру: "Сколько у меня на орге Accounts", "Покажи названия всех Accounts", "Дай список Accounts созданных за последние 10 дней".

2. Вызов Apex метода. Я спрашиваю (к примеру, может более подходящий пример придумаете) "Сколько продали машин марки GM в 2006 года". Агент должен вызвать Apex метод (примерно такой, можно изменить)

Integer getCarSummary(String brand, String year) { return 100; }

который вернет число (или может сразу какой-то объект Summary, не знаю как агент любит принимать данные от apex) и агент покажет мне это в ответе.

Если есть проблемы с переносом Agentforce Agent через Script(ручками) или через метадату, то может обсудим короткий созвон чтобы создать этих агентов с нуля на моем dev орге? (компенсацию тоже можем обсудить :smile:)
Ну или ссылку на видос где похожее делается. Только меня больше интересует Agentforce Studio (который новый) (не Legacy).
Ну или ссылку на видос где похожее делается. Только меня больше интересует Agentforce Studio (который новый) (не Legacy).
Нашел вот такую замечательную страничку

https://trailhead.salesforce.com/users/p ... t-script

благодаря вот этому товарищу

https://www.youtube.com/watch?v=jLwHxJjN_Mo

А из нее сразу вынесу то что надо изучить.

https://trailhead.salesforce.com/users/p ... t-script
https://developer.salesforce.com/docs/ai ... ipt.html

По всей видимости Agentforce Scripts это то чего надо для программистов. Все так красиво и понятно становится.

Особенно впечатлил Agentforce DX для VS Code. Вот это уровень!
Нашел вот такую замечательную страничку 

https://trailhead.salesforce.com/users/pozil/trailmixes/agent-script

благодаря вот этому товарищу

https://www.youtube.com/watch?v=jLwHxJjN_Mo

А из нее сразу вынесу то что надо изучить. 

https://trailhead.salesforce.com/users/pozil/trailmixes/agent-script
https://developer.salesforce.com/docs/ai/agentforce/guide/agent-script.html

По всей видимости Agentforce Scripts это то чего надо для программистов. Все так красиво и понятно становится. 

Особенно впечатлил Agentforce DX для VS Code. Вот это уровень!

добавлю по Agent UI:
есть относительно новый Lightning Types

Enhance the Agent UI with Custom LWCs and Lightning Types
https://developer.salesforce.com/docs/ai ... pes.html

https://www.youtube.com/watch?v=1Y9wmF436pg
добавлю по Agent UI:
есть относительно новый Lightning Types

Enhance the Agent UI with Custom LWCs and Lightning Types
https://developer.salesforce.com/docs/ai/agentforce/guide/lightning-types.html

https://www.youtube.com/watch?v=1Y9wmF436pg
Начал играться с Agentforce Agents (Beta) в режиме Scripts.
Пока этот режим по ходу не доделали. При перемещении по скрипту зачем-то открываются табы с каждой секцией и если ты вносишь изменения в скрипт, а потом просто хочешь закрыть любой таб, то старый код из того таба переписывает твои изменения. Жуть полная. Скрипт можно также редактировать и отлаживать в VS Code, НО сохранение на Ctrl+S не работает. почему-то зависает, а потом выдает странные ошибки. Можно задеплоить с помощью команды

sf project deploy start -m AiAuthoringBundle:Hello_World

Но как можно в VS Code тогда сохранить без автодеплоя не понятно (не вообще его отключить, а частично отключить для агент скрипта).

Сам Agentforce ассистент выдает лютую дичь. Ни одного изменения от ассистента не заработало - сразу ошибка.

В общем пока сильная BETA.
Начал играться с Agentforce Agents (Beta) в режиме Scripts. 
Пока этот режим по ходу не доделали. При перемещении по скрипту зачем-то открываются табы с каждой секцией и если ты вносишь изменения в скрипт, а потом просто хочешь закрыть любой таб, то старый код из того таба переписывает твои изменения. Жуть полная. Скрипт можно также редактировать и отлаживать в VS Code, НО сохранение на Ctrl+S не работает. почему-то зависает, а потом выдает странные ошибки. Можно задеплоить с помощью команды

sf project deploy start -m AiAuthoringBundle:Hello_World

Но как можно в VS Code тогда сохранить без автодеплоя не понятно (не вообще его отключить, а частично отключить для агент скрипта). 

Сам Agentforce ассистент выдает лютую дичь. Ни одного изменения от ассистента не заработало - сразу ошибка.

В общем пока сильная BETA. 
Уже ближе к делу. Может поможете разобраться почему не работает?

Есть такой минимальный скрипт

system:
    instructions: "You are an AI Agent."

    messages:
        welcome: "Hi, I'm an AI assistant. How can I help you?"
        error: "Sorry, it looks like something has gone wrong."

config:
    developer_name: "Hello_World"
    default_agent_user: "account_manager@00dfj00000hjgt01556874230.ext"
    agent_label: "Hello World"
    description: "New agent description"

variables:
    EndUserId: linked string
        source: @MessagingSession.MessagingEndUserId
        description: "This variable may also be referred to as MessagingEndUser Id"
    RoutableId: linked string
        source: @MessagingSession.Id
        description: "This variable may also be referred to as MessagingSession Id"
    ContactId: linked string
        source: @MessagingEndUser.ContactId
        description: "This variable may also be referred to as MessagingEndUser ContactId"
    EndUserLanguage: linked string
        source: @MessagingSession.EndUserLanguage
        description: "This variable may also be referred to as MessagingSession EndUserLanguage"
    VerifiedCustomerId: mutable string
        description: "This variable may also be referred to as VerifiedCustomerId"
    city: mutable string
        description: "The user's city for retrieving weather information."
    userName: mutable string
        description: "The user's name."
language:
    default_locale: "en_US"

start_agent topic_selector:
    label: "Topic Selector"

    description: "Welcome the user and determine the appropriate topic based on user input"

    reasoning:
        instructions: ->
            | Select the best tool to call based on conversation history and user's intent.

        actions:
            go_to_weather_report: @utils.transition to @topic.weather_report


topic weather_report:
    label: "Weather Report"

    description: "Provides a local weather report based on the user's city. If the city is not provided, the user will be prompted to provide it."

    reasoning:
        instructions: ->
            if @variables.city is None:
                | Please provide the name of your city to get the weather report.
            else:
                | Response with this fake weather report: "Weather in {!@variables.city} is fine. Temperature is 25C degrees.". Don't use any external tools to retrieve real weather. 


Один топик weather_report.

Подразумевается что должен ответить "Weather in Brest is fine. Temperature is 25C degrees." Если знаешь что я из Бреста. Если не знает, то спросить.

Первая часть срабатывает - он спрашивает

из какого вы города.

Я пишу "Брест"

Вторая часть - НЕ РАБОТАЕТ.

I need access to a weather-specific tool to provide the current weather for Brest, Belarus, but it is not available. Therefore, I am unable to retrieve the weather information at this time.

Нафиг мне какие-то тулы. Мне просто вернуть фейковый ответ. Я уже по всякому пробовал писать. Пишет - нет tool и все.

Что-нибудь подскажете? Мне нужно просто возвращать какие-нибудь форматированные ответы.
Уже ближе к делу. Может поможете разобраться почему не работает?

Есть такой минимальный скрипт

[code]
system:
    instructions: "You are an AI Agent."

    messages:
        welcome: "Hi, I'm an AI assistant. How can I help you?"
        error: "Sorry, it looks like something has gone wrong."

config:
    developer_name: "Hello_World"
    default_agent_user: "account_manager@00dfj00000hjgt01556874230.ext"
    agent_label: "Hello World"
    description: "New agent description"

variables:
    EndUserId: linked string
        source: @MessagingSession.MessagingEndUserId
        description: "This variable may also be referred to as MessagingEndUser Id"
    RoutableId: linked string
        source: @MessagingSession.Id
        description: "This variable may also be referred to as MessagingSession Id"
    ContactId: linked string
        source: @MessagingEndUser.ContactId
        description: "This variable may also be referred to as MessagingEndUser ContactId"
    EndUserLanguage: linked string
        source: @MessagingSession.EndUserLanguage
        description: "This variable may also be referred to as MessagingSession EndUserLanguage"
    VerifiedCustomerId: mutable string
        description: "This variable may also be referred to as VerifiedCustomerId"
    city: mutable string
        description: "The user's city for retrieving weather information."
    userName: mutable string
        description: "The user's name."
language:
    default_locale: "en_US"

start_agent topic_selector:
    label: "Topic Selector"

    description: "Welcome the user and determine the appropriate topic based on user input"

    reasoning:
        instructions: ->
            | Select the best tool to call based on conversation history and user's intent.

        actions:
            go_to_weather_report: @utils.transition to @topic.weather_report


topic weather_report:
    label: "Weather Report"

    description: "Provides a local weather report based on the user's city. If the city is not provided, the user will be prompted to provide it."

    reasoning:
        instructions: ->
            if @variables.city is None:
                | Please provide the name of your city to get the weather report.
            else:
                | Response with this fake weather report: "Weather in {!@variables.city} is fine. Temperature is 25C degrees.". Don't use any external tools to retrieve real weather. 

[/code]

Один топик weather_report.

Подразумевается что должен ответить "Weather in Brest is fine. Temperature is 25C degrees." Если знаешь что я из Бреста. Если не знает, то спросить. 

Первая часть срабатывает - он спрашивает

[i]из какого вы города.[/i]

Я пишу "Брест"

Вторая часть - НЕ РАБОТАЕТ.

[i]I need access to a weather-specific tool to provide the current weather for Brest, Belarus, but it is not available. Therefore, I am unable to retrieve the weather information at this time.[/i]

Нафиг мне какие-то тулы. Мне просто вернуть фейковый ответ. Я уже по всякому пробовал писать. Пишет - нет tool и все.

Что-нибудь подскажете? Мне нужно просто возвращать какие-нибудь форматированные ответы. 
первое что надо проверить это Reasoning, что выбирается правильно Action и посмотреть какие параметры передаются.
может надо добавить set @variables.city = @outputs.?

проверь что в Canvas отображается правильно, особенно if else

если это то service agent посмотри permissions на class.
https://www.youtube.com/watch?v=R3cDydMlVFQ
первое что надо проверить это Reasoning, что выбирается правильно Action и посмотреть какие параметры передаются.
может надо добавить   set @variables.city = @outputs.?

проверь что в Canvas отображается правильно, особенно if else 

если это то service agent посмотри permissions на class.
https://www.youtube.com/watch?v=R3cDydMlVFQ
Agent Script Recipes - ~20 примеров создания агентов
https://sforce.co/4pMOZSi
Agent Script Recipes - ~20 примеров создания агентов 
https://sforce.co/4pMOZSi