Это немного сложно объяснить, поэтому я надеюсь, что использование примера будет наиболее эффективным.
Мы создаем службу, которая позволяет Parent
поддерживать список своих Children
и выполнять действия против этих Children
.
Parent
- это пользователь, произносящий высказывания агенту / намерению DF.
Parent
добавляет своих дочерних элементов (имена) в базу данных через веб-интерфейс (не DF) ДО использования DF.
Это означает, что у нас может быть такое представление базы данных, как следующее
РОДИТЕЛЬСКИЙ СТОЛ
ID Name
1 User A
2 User B
ДЕТСКИЙ СТОЛ
ID NAME PARENT_ID
1 John 1
2 Jon 2
3 Jake 2
Фразы намерений имеют следующий формат и параметры
"Do {ACTION} for {CHILD_NAME}"
Проблема, с которой мы сталкиваемся, заключается в том, как решить эту проблему, чтобы при извлечении параметров агентом они передавались исполнению с правильным дочерним именем, чтобы мы могли использовать это имя для пользователь для запуска проверки и предоставления контекста для выполнения.
Например, если Пользователь А произнесет следующее:
"Do {ACTION} for John"
Как мы гарантируем, что агент извлекает «Джона», а не «Джона», когда он передает параметры исполнению?
Я видел несколько предложений по сущностям сеанса и даже читал Пример мелочей с улицами города, однако сущности сеанса кажется полагаются на идею о том, что значения, специфичные для сеанса (дочерние имена в моем примере, названия улиц в примере, приведенном в ссылке), поддерживаются глобально и не привязаны к конкретному пользователю.
Я не уверен, как это сработает в моем случае. Нельзя ожидать, что я буду поддерживать список ВСЕХ возможных имен, и даже если бы я мог, у меня было бы несколько записей для John и Jon, и все равно не было бы Я предполагаю, что агент знает, какой из них использовать.
Может быть, есть способ динамически добавлять заполнители сущностей для каждого использования и возможные значения параметров для этой сущности динамически на основе значений, которые мы храним в базе данных, но это кажется недостижимым и нереалистичным?
Как можно решить эту проблему с разговорным дизайном в DF? Это кажется очень распространенным (Выделение элементов из списка задач или приложений со списком покупок).