Esquema de agente declarativo 1.8 para Microsoft 365 Copilot

Este artículo describe el esquema 1.8 utilizado por el manifiesto del agente declarativo. El manifiesto es un documento legible mediante máquina que proporciona al Modelo de lenguaje grande (LLM) las instrucciones, los conocimientos y las acciones necesarias para especializarse en la solución de un conjunto selecto de problemas de los usuarios. Referencias de manifiestos de aplicaciones de Microsoft 365 Manifiestos de agente declarativo dentro de un paquete de aplicación. Para obtener más información, consulte la referencia del manifiesto de la aplicación Microsoft 365.

Los agentes declarativos son valiosos para comprender y generar texto similar al humano, lo que los hace versátiles para tareas como escribir y responder preguntas. Esta especificación se centra en el manifiesto del agente declarativo que actúa como un marco estructurado para especializar y mejorar las funcionalidades que necesita un usuario específico.

Cambios de la versión anterior

Esta versión de esquema presenta los siguientes cambios con respecto a la versión 1.7:

  • Se ha agregado la nueva EmailActions funcionalidad para habilitar operaciones de escritura en el correo electrónico, como la clasificación, el envío supervisado, la eliminación, las reglas de la bandeja de entrada, la respuesta automática y la administración de carpetas. Véase el objeto Email actions.
  • Se ha agregado la nueva MeetingActions funcionalidad para habilitar acciones de reunión y calendario, como programar eventos, crear sondeos de búsqueda de hora y mostrar información de hora. Consulte Objeto de acciones de reunión.

Esquema JSON

Puede encontrar el esquema descrito en este documento en formato de esquema JSONaquí.

Convenciones

Referencias relativas en las direcciones URL

A menos que se especifique lo contrario, todas las propiedades que son direcciones URL pueden ser referencias relativas. Las referencias relativas en el documento de manifiesto son relativas a la ubicación del documento de manifiesto.

Longitud de cadena

A menos que se especifique lo contrario, limite todas las propiedades de cadena a 4.000 caracteres. Esta longitud de cadena no establece un tamaño aceptable para todas las propiedades de cadena del documento. Las implementaciones pueden establecer sus propios límites prácticos en la longitud del manifiesto.

Propiedades no reconocidas

Los objetos JSON definidos en este documento solo admiten las propiedades descritas. Las propiedades no reconocidas o extrañas en cualquier objeto JSON hacen que todo el documento no sea válido.

Localización de cadenas

Las cadenas localizables pueden usar una clave de localización en lugar de un valor literal. La sintaxis es [[key_name]], donde key_name es el nombre de clave de la localizationKeys propiedad en los archivos de localización. Para obtener más información sobre la localización, consulte Localizar el agente.

Sugerencia

Herramientas de desarrollo de Work IQ (versión preliminar): Dado que este esquema es amplio y cambia con el tiempo, es importante realizar la validación con respecto a la versión de envío actual. wiqd agent validate ejecuta la Capa de validación de Microsoft, el mismo motor que usa la plataforma para aceptar un manifiesto, sin conexión y en menos de un segundo, lo que permite detectar campos obligatorios que faltan, tipos incorrectos, valores enumerados no válidos, referencias entre archivos sin resolver y restricciones que el esquema JSON por sí solo no puede expresar, como el número máximo de iniciadores de conversación. La extensión de Visual Studio Code muestra los mismos diagnósticos en línea a medida que escribe. Para obtener más información, consulte la documentación de Dev Tools de Work IQ.

Objeto de manifiesto de agente declarativo

La raíz del documento de manifiesto es un objeto JSON que cubre los campos necesarios, las funcionalidades, los iniciadores de conversación y las acciones.

El objeto de manifiesto del agente declarativo contiene las siguientes propiedades.

Propiedad Tipo Descripción
version Cadena Obligatorio. Versión del esquema. Establecer av1.8.
id Cadena Opcional. Un identificador para el manifiesto.
name Cadena Obligatorio. Localizable. Nombre del agente declarativo. Debe contener al menos un carácter que no sea un espacio en blanco y tener 100 caracteres o menos.
description Cadena Obligatorio. Localizable. La descripción del agente declarativo. Debe contener al menos un carácter que no sea un espacio en blanco y tener 1000 caracteres o menos.
instructions Cadena Obligatorio. Las instrucciones o pautas detalladas sobre cómo debe comportarse el agente declarativo, sus funciones y cualquier comportamiento que deba evitarse. Debe contener al menos un carácter que no sea de espacio en blanco y tener 8000 caracteres o menos.
capabilities Array of Capabilities object Opcional. Contiene una matriz de objetos que definen las capacidades del agente declarativo. La matriz no puede contener más de uno de cada tipo derivado de objeto Capabilities.
conversation_starters Matriz de objeto iniciador de conversación Opcional. El título y el texto se pueden localizar. Una lista de ejemplos de preguntas que el agente declarativo puede responder. La matriz no puede contener más de 12 objetos.
actions Array of Action object Opcional. Una lista de 1-10 objetos que identifican complementos que proporcionan acciones accesibles para el agente declarativo.
behavior_overrides El comportamiento invalida el objeto Opcional. Contiene opciones de configuración que modifican el comportamiento del agente.
disclaimer Objeto de declinación de responsabilidades Opcional. Texto de declinación de responsabilidades que se muestra al usuario al principio de una conversación.
sensitivity_label Objeto de etiqueta de confidencialidad Opcional. Especifica una etiqueta de confidencialidad de Microsoft Purview para el agente.
editorial_answers Objeto de respuestas editoriales Opcional. Contiene pares de preguntas-respuestas predefinidos que el agente puede usar para responder a las consultas de los usuarios basadas en la similitud semántica.
worker_agents Matriz de objeto de agente de trabajo Opcional. Especifica otros agentes declarativos que puede usar este agente.
user_overrides Matriz de objeto de invalidación de usuario Opcional. Especifica las capacidades de la capabilities propiedad que el usuario puede modificar.

Ejemplo de objeto manifiesto de agente declarativo

El código siguiente muestra un ejemplo de los campos obligatorios en un manifiesto de agente declarativo.

{
  "version": "v1.8",
  "name": "Repairs agent",
  "description": "This declarative agent is meant to help track any tickets and repairs",
  "instructions": "This declarative agent needs to look at my Service Now and Jira tickets/instances to help me keep track of open items"
}

Objeto Capabilities

El objeto capabilities es el tipo base para objetos en la capabilities propiedad del objeto manifiesto del agente declarativo. Los tipos de objeto posibles son:

Nota:

Los usuarios pueden acceder a agentes declarativos con alguna funcionalidad distinta de la búsqueda web solo si sus inquilinos permiten el uso medido o si tienen una licencia de Microsoft 365 Copilot.

Ejemplo de objeto de capacidades

{
  "capabilities": [
    {
      "name": "WebSearch",
      "sites": [
        {
          "url": "https://contoso.com"
        }
      ]
    },
    {
      "name": "OneDriveAndSharePoint",
      "items_by_sharepoint_ids": [
        {
          "site_id": "bc54a8cc-8c2e-4e62-99cf-660b3594bbfd",
          "web_id": "a5377427-f041-49b5-a2e9-0d58f4343939",
          "list_id": "78A4158C-D2E0-4708-A07D-EE751111E462",
          "unique_id": "304fcfdf-8842-434d-a56f-44a1e54fbed2"
        }
      ],
      "items_by_url": [
        {
          "url": "https://contoso.sharepoint.com/teams/admins/Documents/Folders1"
        }
      ]
    },
    {
      "name": "GraphConnectors",
      "connections": [
        {
          "connection_id": "jiraTickets"
        }
      ]
    },
    {
      "name": "GraphicArt"
    },
    {
      "name": "CodeInterpreter"
    },
    {
      "name": "Dataverse",
      "knowledge_sources": [
        {
          "host_name": "organization.crm.dynamics.com",
          "skill": "DVCopilotSkillName",
          "tables": [
            {
              "table_name": "account"
            },
            {
              "table_name": "opportunity"
            }
          ]
        }
      ]
    },
    {
      "name": "TeamsMessages",
      "urls": [
        {
          "url": "https://teams.microsoft.com/l/channel/19%3ApO0102YGEBRSH6RziXCxEgB4mtb7-5hIlDzAjtxs_dg1%40thread.tacv2/G%C3%A9n%C3%A9ral?groupId=2670cf94-acf5-48f4-96d4-c58dd8937afc&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47"
        }
      ]
    },
    {
      "name": "People"
    },
    {
      "name": "EmailActions"
    },
    {
      "name": "ScenarioModels",
      "models": [
        {
          "id": "model_id"
        }
      ]
    },
    {
      "name": "Meetings",
      "items_by_id": [
        {
          "id": "010000002300A00045B6C7890D12E0030000000040056F7GH890IJ01000000000000000020000000J3L45M6A7NO8PQ9R0S12TUV340XY5Z00",
          "is_series": true
        }
      ]
    }
  ]
}

Objeto de búsqueda web

Indica que el agente declarativo puede buscar en la Web información de conexión a tierra.

El objeto de búsqueda web contiene las siguientes propiedades.

Propiedad Tipo Descripción
name Cadena Obligatorio. Se debe establecer en WebSearch.
sites Array of Site object Opcional. Una matriz de objetos que identifican los sitios en los que el agente puede buscar. Si omite esta propiedad, el agente puede buscar en todos los sitios. La matriz no puede contener más de cuatro elementos.

Nota:

Para obtener más información sobre los datos, la privacidad y la seguridad de la búsqueda web en Microsoft 365 Copilot Chat y Microsoft 365 Copilot, consulte Datos, privacidad y seguridad para la búsqueda web.

Objeto del sitio

Indica un sitio en el que un agente declarativo puede buscar contenido.

El objeto de sitio contiene la propiedad siguiente.

Propiedad Tipo Descripción
url Cadena Obligatorio. Una dirección URL absoluta de un sitio en el que se va a buscar contenido. La dirección URL no puede contener más de dos segmentos de ruta de acceso (por ejemplo, https://contoso.com/projects/mark-8 es válida, pero https://contoso.com/projects/mark-8/beta-program no es válida). La dirección URL no puede contener ningún parámetro de consulta.

OneDrive y objeto de SharePoint

Indica que el agente declarativo puede buscar información de conexión a tierra en SharePoint y OneDrive de un usuario.

El objeto de OneDrive y SharePoint contiene las siguientes propiedades.

Propiedad Tipo Descripción
name Cadena Obligatorio. Se debe establecer en OneDriveAndSharePoint.
items_by_sharepoint_ids Array of Items by SharePoint IDs object Opcional. Una matriz de objetos que identifican orígenes de SharePoint o OneDrive mediante identificadores. Si omite las items_by_sharepoint_ids propiedades "y items_by_url ", el agente declarativo podrá tener acceso a todos los orígenes de OneDrive y SharePoint de la organización.
items_by_url Array of Items by URL object Opcional. Una matriz de objetos que identifican orígenes de SharePoint o OneDrive por dirección URL. Si omite las items_by_sharepoint_ids propiedades "y items_by_url ", el agente declarativo podrá tener acceso a todos los orígenes de OneDrive y SharePoint de la organización.

Para obtener información sobre cómo optimizar el contenido de SharePoint para Copilot, vea Optimizar la recuperación de contenido.

Objetos Elementos por id. de SharePoint

El objeto Elementos por id. de SharePoint contiene las siguientes propiedades.

Propiedad Tipo Descripción
site_id Cadena Opcional. Un identificador GUID único para un sitio de SharePoint o OneDrive.
web_id Cadena Opcional. Identificador GUID único de una web específica dentro de un sitio de SharePoint o OneDrive.
list_id Cadena Opcional. Identificador GUID único de una biblioteca de documentos dentro de un sitio de SharePoint.
unique_id Cadena Opcional. Identificador GUID único que se usa para definir el ámbito de una carpeta o archivo de la biblioteca de documentos especificado por la list_id propiedad.
search_associated_sites Booleano Opcional. Indica si se habilita la búsqueda de sitios asociados. Este valor solo es aplicable cuando el site_id valor hace referencia a un HubSite de SharePoint.
part_type Cadena Opcional. Indica el tipo de pieza part_id al que se refiere. Este valor solo se aplica cuando el part_id valor está presente. Los valores posibles son: OneNotePart.
part_id Cadena Opcional. Identificador GUID único que se usa para representar parte de un elemento de SharePoint, como una página de OneNote.

Sugerencia

Para obtener información sobre cómo obtener los identificadores únicos de un recurso de SharePoint o OneDrive, vea Recuperar identificadores de funcionalidad para el manifiesto de agente declarativo.

Elementos por objeto de URL

El objeto Elementos por dirección URL contiene la propiedad siguiente.

Propiedad Tipo Descripción
url Cadena Opcional. Una dirección URL absoluta a un recurso de SharePoint o OneDrive.

Objeto de conectores de Copilot

Indica que el agente declarativo puede buscar en conectores Copilot seleccionados información de conexión a tierra.

El objeto Conectores de Copilot contiene las siguientes propiedades.

Propiedad Tipo Descripción
name Cadena Obligatorio. Se debe establecer en GraphConnectors.
connections Matriz de objeto de conexión Opcional. Una matriz de objetos que identifican los conectores de Copilot disponibles para el agente declarativo. Si omite esta propiedad, el agente declarativo podrá tener acceso a todos los conectores de Copilot de la organización.
Connection (objeto)

Identifica un conector de Copilot.

El objeto de conexión contiene las siguientes propiedades.

Propiedad Tipo Descripción
connection_id Cadena Obligatorio. El identificador único del conector de Copilot.
additional_search_terms Cadena Opcional. Una consulta de lenguaje de consulta por palabra clave (KQL) para filtrar elementos según los campos del esquema de la conexión.
items_by_external_id Array of Item identifier object Opcional. Especifica elementos específicos por identificador en el conector de Copilot que están disponibles para el agente.
items_by_external_url Array of External URL object Opcional. Especifica elementos específicos por dirección URL en el conector de Copilot que están disponibles para el agente.
items_by_path Array of Path object Opcional. Filtra los elementos disponibles para el agente por rutas de acceso de elementos (la etiqueta semántica de los itemPath elementos).
items_by_container_name Matriz de objeto de nombre de contenedor Opcional. Filtra los elementos disponibles para el agente por nombre de contenedor (la etiqueta semántica de los containerName elementos).
items_by_container_url Array of Container URL object Opcional. Filtra los elementos disponibles para el agente por dirección URL de contenedor (la etiqueta semántica de los containerUrl elementos).

Sugerencia

Para obtener instrucciones sobre cómo obtener el identificador único para un conector de Copilot, consulte Recuperación de identificadores de funcionalidad para el manifiesto de agente declarativo.

Objeto de identificador de artículo

Identifica un elemento externo por su identificador.

El objeto identificador de elemento contiene las siguientes propiedades.

Propiedad Tipo Descripción
item_id Cadena Obligatorio. El identificador único del elemento externo.
Objeto de URL externo

Identifica un elemento externo por su dirección URL.

El objeto de dirección URL externa contiene la propiedad siguiente.

Propiedad Tipo Descripción
url Cadena Obligatorio. La dirección URL del elemento externo.
Path (objeto)

Identifica un elemento externo por su ruta de acceso.

El objeto path contiene las siguientes propiedades.

Propiedad Tipo Descripción
path Cadena Obligatorio. La ruta de acceso (itemPath valor de etiqueta semántica) del elemento externo.
Nombre de contenedor objeto

Identifica un contenedor por su nombre.

El objeto de nombre de contenedor contiene las siguientes propiedades.

Propiedad Tipo Descripción
container_name Cadena Obligatorio. El nombre del contenedor (containerName valor de etiqueta semántica) del elemento externo.
Objeto de URL de contenedor

Identifica un contenedor por su dirección URL.

El objeto de dirección URL del contenedor contiene las siguientes propiedades.

Propiedad Tipo Descripción
container_url Cadena Obligatorio. La dirección URL del contenedor (containerUrl valor de etiqueta semántica) del elemento externo.

Objeto de arte gráfico

Indica que el agente declarativo puede crear imágenes e imágenes a partir del texto introducido por el usuario. Para obtener más información, consulte Generador de imágenes.

El objeto de arte gráfico contiene la propiedad siguiente.

Propiedad Tipo Descripción
name Cadena Obligatorio. Establecer aGraphicArt.

Objeto del intérprete de código

Indica que el agente declarativo puede generar y ejecutar código Python para resolver problemas matemáticos complejos, analizar datos, generar visualizaciones y mucho más. Para obtener más información, vea Intérprete de código.

El objeto del intérprete de código contiene la propiedad siguiente.

Propiedad Tipo Descripción
name Cadena Obligatorio. Establecer aCodeInterpreter.

Objeto de Dataverse

Indica que el agente declarativo puede buscar en los datos de las tablas de Dataverse.

El objeto Dataverse contiene las siguientes propiedades.

Propiedad Tipo Descripción
name Cadena Obligatorio. Establecer aDataverse.
knowledge_sources Matriz de orígenes de conocimiento Opcional. Una matriz de objetos que contienen los identificadores, las aptitudes y los nombres de tabla de las instancias de Dataverse que se van a incluir como conocimiento.
Objeto de fuentes de conocimiento

Contiene información sobre las instancias de Dataverse que se van a incluir como conocimiento.

El objeto de fuentes de conocimiento contiene las siguientes propiedades.

Propiedad Tipo Descripción
host_name Cadena Obligatorio. Un identificador único para el host en Dataverse.
skill Cadena Un identificador único que define la configuración de cómo el agente interactúa con el conocimiento de Dataverse.
tables Matriz de tablas Una matriz de tablas para definir el ámbito del conocimiento del agente.

Para buscar el identificador único skill de los orígenes de conocimiento de Dataverse que desea incluir:

  1. En Copilot Studio, en el panel izquierdo, elija Agentes>Copilot para Microsoft 365 y seleccione Agregar para crear un nuevo agente.
  2. Siga las instrucciones de Agregar un origen de conocimiento de Dataverse para agregar conocimiento de Dataverse.
  3. Seleccione Publicar y descargue el archivo .zip.
  4. Descomprime y abre el archivo declarativeAgent.json.
  5. El skill valor se incluye en la knowledge_sources sección, como se muestra en el ejemplo siguiente.
{
  "name": "Dataverse",
  "knowledge_sources": [
    {
      "host_name": "org0f612cfc.crm.dynamics.com",
      "skill": "AIBuilderFileAttachedData_e7eTReDbkX_1t4X1oGoCF",
      "tables": [
        {
          "table_name": "msdyn_aibfileattacheddata"
        }
      ]
    }
  ]
}
Tables (objeto)

Contiene las tablas para definir el ámbito del conocimiento del agente.

El objeto de tablas contiene la propiedad siguiente.

Propiedad Tipo Descripción
table_name Cadena Obligatorio. Un identificador único de la tabla.

Objeto de mensajes de Microsoft Teams

Indica que el agente declarativo puede buscar en los canales, equipos, reuniones, chats individuales y chats grupales de Microsoft Teams.

El objeto de mensajes de Microsoft Teams contiene las siguientes propiedades.

Propiedad Tipo Descripción
name Cadena Obligatorio. Establecer aTeamsMessages.
urls Matriz de direcciones URL de Microsoft Teams Opcional. Una matriz de objetos que identifican las direcciones URL de los canales de Microsoft Teams, chats de reunión, chats grupales o chats 1:1 disponibles para el agente declarativo. La matriz no puede contener más de cinco objetos. Si omite esta propiedad, el agente declarativo puede buscar en todos los canales, reuniones, chats individuales y chats grupales.
Objeto de URL de Microsoft Teams

Identifica un canal, un equipo o un chat de reunión de Microsoft Teams.

El objeto de dirección URL de Microsoft Teams contiene las siguientes propiedades.

Propiedad Tipo Descripción
url Cadena Obligatorio. Una dirección URL de Microsoft Teams con un formato correcto que vincule a un canal de Microsoft Teams, chat de reunión, chat grupal o chat individual.

Email (objeto)

Indica que el agente declarativo puede buscar en los mensajes de correo electrónico de los buzones a los que tiene acceso el usuario.

El objeto de correo electrónico contiene las siguientes propiedades.

Propiedad Tipo Descripción
name Cadena Obligatorio. Se debe establecer en Email.
shared_mailbox Cadena Opcional. La dirección SMTP de un buzón compartido.
group_mailboxes Matriz de cadenas Opcional. Una matriz de direcciones SMTP de Grupos de Microsoft 365 o buzones compartidos. Se admite un máximo de 25 buzones.
folders Array of Folders Opcional. Si está presente, solo el correo electrónico de las carpetas especificadas está disponible para el agente.
Folders (objeto)

Contiene las carpetas para definir el ámbito del conocimiento del agente.

El objeto folders contiene la propiedad siguiente.

Propiedad Tipo Descripción
folder_id Cadena Obligatorio. El nombre de carpeta conocido o el id. de carpeta de la carpeta a la que se va a hacer referencia.

Objeto de acciones de Email

Indica que el agente declarativo puede realizar operaciones de escritura en el correo electrónico de los buzones a los que tiene acceso el usuario. Esta funcionalidad permite operaciones de escritura de correo electrónico como la evaluación de prioridades (archivar, marcar, marcar como leído, anclar, mover, copiar, informar sobre correo no deseado), enviar supervisado, eliminar, reglas de la bandeja de entrada (crear/obtener), respuesta automática y administración de carpetas (crear/enumerar). Esta funcionalidad es independiente de la Email funcionalidad, que es de solo lectura (búsqueda). Los desarrolladores que desean acceso de escritura de correo electrónico deben usar EmailActions; aquellos que solo desean búsqueda de correo electrónico deben usar Email.

Nota:

EmailActions Funciona independientemente de la Email capacidad. Las restricciones de ámbito configuradas en la Email funcionalidad (como folders, shared_mailbox, o group_mailboxes) no se aplican a EmailActions. Las dos funcionalidades se pueden declarar juntas o independientes.

El objeto de acciones de correo electrónico contiene la propiedad siguiente.

Propiedad Tipo Descripción
name Cadena Obligatorio. Se debe establecer en EmailActions.
Ejemplo de objeto de acciones de Email
{
  "capabilities": [
    {
      "name": "EmailActions"
    }
  ]
}

Objeto de persona

Indica que el agente declarativo puede buscar información sobre personas de la organización. Consulte el conocimiento de People para obtener más detalles sobre los datos devueltos por la funcionalidad base de People.

El objeto personas contiene las siguientes propiedades.

Propiedad Tipo Descripción
name Cadena Obligatorio. Se debe establecer en People.
include_related_content Booleano Opcional. Indica si se debe incluir contenido relacionado al buscar datos de personas. Cuando se establece en true, el DA incluirá documentos, correos electrónicos y mensajes de Teams relacionados entre el usuario del agente y las personas a las que se hace referencia (es decir, lo que tienen en común). Cuando se establece en falso u omitido, solo se incluirá la información organizativa básica, como organigramas, nombres, direcciones de correo electrónico y aptitudes. El valor predeterminado es False.

Objeto de modelos de escenario

Indica que el agente declarativo puede usar modelos específicos de tareas.

El objeto de modelos de escenario contiene las siguientes propiedades.

Propiedad Tipo Descripción
name Cadena Obligatorio. Se debe establecer en ScenarioModels.
models Array of Model object Obligatorio. Matriz de objetos que identifica los modelos específicos de tareas disponibles para el agente declarativo.
Model (objeto)

Identifica un modelo específico de tarea.

El objeto de modelo contiene la propiedad siguiente.

Propiedad Tipo Descripción
id Cadena Obligatorio. El identificador único del modelo.

Objeto Reuniones

Indica que el agente declarativo puede buscar información sobre las reuniones de la organización.

El objeto reuniones contiene las siguientes propiedades.

Propiedad Tipo Descripción
name Cadena Obligatorio. Se debe establecer en Meetings.
items_by_id Matriz de objeto de identificador de reunión Opcional. Una matriz de objetos que identifican las reuniones disponibles para el agente declarativo. La matriz no puede contener más de cinco objetos. Si omite esta propiedad, el agente declarativo puede buscar en todas las reuniones.
Objeto de identificador de reunión

Identifica una reunión.

El objeto de identificador de reunión contiene las siguientes propiedades.

Propiedad Tipo Descripción
id Cadena Obligatorio. El identificador único de la reunión. Para obtener instrucciones sobre cómo buscar el identificador de una reunión, consulte Obtener el identificador de una reunión.
is_series Booleano Obligatorio. Indica si la reunión es una serie.

Objeto de acciones de reunión

Indica que el agente declarativo puede realizar acciones de reunión y calendario, como programar eventos, crear sondeos de búsqueda de hora o mostrar información de hora. Las acciones específicas admitidas pueden evolucionar con el tiempo.

El objeto de acciones de reunión contiene la propiedad siguiente.

Propiedad Tipo Descripción
name Cadena Obligatorio. Se debe establecer en MeetingActions.
Ejemplo de objeto de acciones de reunión
{
  "capabilities": [
    {
      "name": "MeetingActions"
    }
  ]
}

Objeto de conocimiento integrado

Indica que el agente declarativo puede usar archivos localmente en el paquete de la aplicación.

Los archivos de conocimiento incrustados tienen un tamaño máximo de 1 MB y deben ser de los siguientes tipos de documento:

  • Word documento (.doc, .docx)
  • Presentación de PowerPoint (.ppt, .pptx)
  • Libro de Excel (.xls, .xlsx)
  • Texto sin formato (.txt)
  • Portable Document Format (.pdf)

El objeto de conocimiento incorporado contiene las siguientes propiedades:

Propiedad Tipo Descripción
name Cadena Obligatorio. Se debe establecer en EmbeddedKnowledge.
files Array of File object Obligatorio. Lista de objetos que identifican archivos que contienen conocimiento que el agente puede usar para la conexión a tierra. El tamaño máximo de la matriz es 10.

Ejemplo de objeto EmbeddedKnowledge

{
  "name": "EmbeddedKnowledge",
  "files": [
    { "file": "file1.docx" },
    { "file": "file2.csv" }
  ]
}

Objeto File

Propiedad Tipo Descripción
file Cadena Obligatorio. La ruta de acceso relativa al archivo incrustado.

Objeto de iniciadores de conversación

El objeto de iniciadores de conversación es opcional en el manifiesto. Contiene sugerencias que el agente muestra al usuario para mostrarle cómo puede empezar a usar el agente declarativo.

El objeto iniciador de conversación contiene las siguientes propiedades:

Propiedad Tipo Descripción
text Cadena Obligatorio. Localizable. Una sugerencia que el usuario puede usar para obtener el resultado deseado del agente declarativo. Debe contener al menos un carácter que no sea de espacio en blanco.
title Cadena Opcional. Localizable. Un título único para iniciar la conversación. Debe contener al menos un carácter que no sea de espacio en blanco.
depends_on Matriz de Depende del objeto Opcional. Una lista de objetos que especifican dependencias de funcionalidad para este iniciador de conversación. Los iniciadores de conversaciones con dependencias solo se muestran a los usuarios cuando todas las funcionalidades a las que se hace referencia están presentes en el manifiesto del agente declarativo.

Nota:

La matriz no puede contener más de 12 objetos.

Ejemplo de objeto de iniciadores de conversación

{
  "conversation_starters": [
    {
      "title": "My Open Repairs",
      "text": "What open repairs are assigned to me?"
    }
  ]
}

Depende del objeto

Especifica una dependencia para iniciar una conversación. Este objeto identifica un elemento de manifiesto que debe estar presente para que se muestre el inicio de la conversación.

El objeto depends on contiene las siguientes propiedades.

Propiedad Tipo Descripción
name Cadena Obligatorio. El nombre del tipo de elemento de manifiesto. Se debe configurar como capabilities.
id Cadena Obligatorio. Identificador del elemento específico. Por ejemplo, Email o WebSearch.
Depende del objeto de ejemplo
{
  "conversation_starters": [
    {
      "title": "Project Update",
      "text": "Executive status report on [Project]",
      "depends_on": [
        {
          "name": "capabilities",
          "id": "Email"
        },
        {
          "name": "capabilities",
          "id": "WebSearch"
        }
      ]
    }
  ]
}

Actions (objeto)

Las acciones son un objeto JSON opcional en el manifiesto. Actúan como entrada del desarrollador y pueden considerarse complementos. Un objeto de acción se puede especificar como una referencia a un archivo de manifiesto de complemento mediante las id propiedades and file , o puede ser una representación en línea del objeto de manifiesto de complemento.

En la tabla siguiente se describen las propiedades de un objeto de acción al que se hace referencia.

Propiedad Tipo Descripción
id Cadena Obligatorio. Un identificador único para la acción. Puede ser un GUID.
file Cadena Obligatorio. Una ruta de acceso al manifiesto del complemento de API para esta acción.

Al especificar una acción como manifiesto de complemento insertado, el objeto de acción debe ajustarse a la especificación del manifiesto de complemento .

Nota:

La matriz debe contener al menos uno y no más de 10 objetos.

Ejemplo de objeto de acciones

En el ejemplo siguiente se muestra una acción especificada como referencia a un archivo de manifiesto de complemento.

{
  "actions": [
    {
      "id": "repairsPlugin",
      "file": "plugin.json"
    }
  ]
}

En el siguiente ejemplo se muestra una acción con un manifiesto de complemento insertado.

{
  "actions": [
    {
      "schema_version": "v2.4",
      "name_for_human": "GitHub Issues Plugin",
      "description_for_model": "Search for GitHub issues by author, keyword or state",
      "runtimes": [
        {
          "type": "OpenApi",
          "auth": { "type": "None" },
          "spec": { "url": "https://github.com/ai/plugins/issues/openapi.yaml" }
        }
      ]
    }
  ]
}

El comportamiento invalida el objeto

Un objeto JSON opcional que contiene opciones de configuración que invalidan el comportamiento del agente.

El objeto behavior overrides contiene las siguientes propiedades.

Propiedad Tipo Description
suggestions Objeto Sugerencias Opcional. Contiene opciones de configuración para la característica de sugerencias.
special_instructions Objeto de instrucciones especiales Opcional. Contiene la configuración para insertar instrucciones especiales en el mensaje.
default_response_mode Cadena Opcional. El modo de respuesta predeterminado para el agente. Esta propiedad tiene el prefijo default_ porque los usuarios siempre pueden invalidar este valor a través de la interfaz de usuario del selector de modelos. Para obtener más información, consulte Valores del modo de respuesta predeterminado. El valor predeterminado es Auto.

Valores predeterminados del modo de respuesta

La default_response_mode propiedad permite a los autores de agentes configurar el modo predeterminado para sus agentes desde los modos disponibles en el selector de modelo de usuario. El valor debe ser uno de los siguientes.

  • Auto - El agente determina automáticamente el mejor modo de respuesta según el contexto de la consulta del usuario, seleccionando de manera inteligente entre respuestas rápidas y un razonamiento más profundo. Este es el valor predeterminado si no se especifica.
  • Quick response - El agente proporciona respuestas rápidas optimizadas para interacciones de baja latencia. Este modo es adecuado para agentes en los que se da prioridad a la velocidad sobre el razonamiento complejo.
  • Think deeper - El agente utiliza el modo de razonamiento para proporcionar respuestas más reflexivas y completas. Este modo implica una latencia aumentada, pero es adecuado para escenarios complejos de resolución de problemas en los que resulta beneficioso un análisis más profundo.

Los autores de agentes deben considerar el caso de uso al seleccionar un modo. Por ejemplo, la mayor latencia involucrada con el modo de razonamiento puede no ser apropiada para todos los agentes, mientras que algunos autores pueden querer invocar siempre el razonamiento para tareas analíticas complejas.

El cliente respeta el modo predeterminado configurado en el manifiesto. Los usuarios pueden invalidar este valor predeterminado a través del selector de modelos.

Objeto Sugerencias

Un objeto JSON opcional que contiene opciones de configuración para la característica de sugerencias.

El objeto de sugerencias contiene la propiedad siguiente.

Propiedad Tipo Descripción
disabled Booleano Obligatorio. Si se establece en true, la característica de sugerencias estará deshabilitada. El valor predeterminado es false.

Objeto de instrucciones especiales

Un objeto JSON opcional que contiene la configuración para insertar instrucciones especiales en el mensaje.

El objeto de instrucciones especiales contiene la propiedad siguiente.

Propiedad Tipo Descripción
discourage_model_knowledge Booleano Obligatorio. Si se establece en true, el agente no usa el conocimiento del modelo al generar respuestas. El valor predeterminado es false.

Para obtener información sobre cuándo y cómo usar esta propiedad, consulte Fundamentar respuestas a fuentes de conocimiento configuradas.

Objeto de declinación de responsabilidades

Un aviso de declinación de responsabilidades es un objeto JSON opcional del manifiesto que especifica el texto del aviso de declinación de responsabilidades. El agente muestra este texto al usuario al comienzo de una conversación.

El objeto de declinación de responsabilidades contiene la propiedad siguiente.

Propiedad Tipo Descripción
text Cadena Obligatorio. El texto del aviso de declinación de responsabilidades. El valor debe contener al menos un carácter que no sea de espacio en blanco y no debe superar los 500 caracteres.

Objeto de etiqueta de confidencialidad

Nota:

Las etiquetas de confidencialidad solo se aplican al agente cuando el agente tiene Embedded Files. Esta propiedad aún no está habilitada, ya que los Embedded Files aún no están habilitados.

Un objeto JSON opcional que especifica la etiqueta de confidencialidad de Microsoft Purview para los archivos incrustados dentro del agente. Contiene la protección más alta entre todos los archivos que están incrustados en los agentes en la propiedad Conocimiento incrustado

Propiedad Tipo Descripción
id Cadena El GUID de la etiqueta de confidencialidad de Microsoft Purview.

Ejemplo de objeto de etiqueta de confidencialidad

{
  "sensitivity_label": {
    "id": "<guid>"
  }
}

Objeto de agente de trabajo

Identifica un agente declarativo que puede usar este agente. Consulte Conectarse a otros agentes para obtener información sobre el uso y las prácticas recomendadas.

Nota:

Esta funcionalidad está en versión preliminar.

El objeto de agente de trabajo contiene las siguientes propiedades.

Propiedad Tipo Descripción
id Cadena Opcional. El identificador de título de la aplicación que contiene el agente declarativo. Esto se devuelve al publicar la aplicación con el kit de herramientas de agentes de Microsoft 365 o se puede encontrar en la sección de metadatos del agente de la tarjeta del modo de desarrollador. Debe especificar o idfile, pero no ambos.

Objeto de invalidación de usuario

Identifica las funcionalidades configuradas en el objeto Capabilities que el usuario puede invalidar a través de un control de interfaz de usuario en Microsoft 365 Copilot. La única acción admitida es remove, que habilita un control de alternancia en la interfaz de usuario, lo que permite al usuario habilitar o deshabilitar la funcionalidad para generar respuestas.

Nota:

Cuando declara GraphConnectors en el path, todos los conectores de Copilot disponibles se pueden activar o desactivar. No es posible habilitar el botón de alternancia para conectores específicos. El sistema agrupa y muestra conectores proporcionados por Microsoft con un nombre descriptivo y conectores personalizados con el nombre del conector (por ejemplo, CB Insights). Este comportamiento garantiza que los usuarios finales puedan identificar y administrar fácilmente los orígenes del conector al configurar su sesión de agente. Para obtener más información sobre conectores y editores, consulte Galería de conectores de Microsoft 365 Copilot.

El objeto de invalidación de usuario contiene las siguientes propiedades.

Propiedad Tipo Descripción
path Cadena Obligatorio. Una expresión JSONPath que identifica la funcionalidad que los usuarios pueden modificar. La expresión JSONPath permite dirigirse a funcionalidades específicas solo por el nombre.
allowed_actions Matriz de cadenas Obligatorio. Especifica que se pueden tomar acciones para las funcionalidades especificadas. La única acción admitida es remove.

Ejemplo de objeto de invalidación por el usuario

En el ejemplo siguiente se habilitan los controles de alternancia para las funcionalidades de búsqueda web y mensajes de Microsoft Teams , lo que permite al usuario activar o desactivar las funcionalidades.

{
  "user_overrides": [
    {
      "path": "$.capabilities[?(@.name == 'WebSearch')]",
      "allowed_actions": ["remove"]
    },
    {
      "path": "$.capabilities[?(@.name == 'TeamsMessages')]",
      "allowed_actions": ["remove"]
    }
  ]
}

Objeto de respuestas editoriales

Un objeto JSON opcional que contiene pares de preguntas-respuestas predefinidos que el agente puede usar para responder a las consultas de los usuarios basadas en la similitud semántica. El objeto debe contener una url propiedad o una answers propiedad, pero no ambas.

El objeto de respuestas editoriales contiene las siguientes propiedades.

Propiedad Tipo Descripción
url Cadena Dirección URL que localiza un documento que contiene la configuración de las respuestas editoriales. Debe especificar o urlanswers, pero no ambos.
answers Matriz de objeto de respuesta Una matriz de objetos de par pregunta-respuesta predefinidos. La matriz no puede contener más de 300 objetos. Debe especificar o urlanswers, pero no ambos.

Objeto de respuesta

Objeto JSON que contiene un par de pregunta y respuesta predefinido.

El objeto de respuesta contiene las siguientes propiedades.

Propiedad Tipo Descripción
question Cadena Obligatorio. La pregunta predefinida que se usa para la coincidencia de similitud semántica con las consultas del usuario. Debe contener al menos un carácter que no sea de espacio en blanco.
answer Cadena Obligatorio. La respuesta predefinida que se devuelve cuando la consulta del usuario coincide con la pregunta por encima del umbral de similitud. Debe contener al menos un carácter que no sea de espacio en blanco.
similarity_thresholds Objeto de umbrales de similitud Opcional. Define los umbrales de similitud para hacer coincidir las consultas de los usuarios con esta pregunta.

Objeto de umbrales de similitud

Un objeto JSON que contiene los valores mínimos y máximos de umbral de similitud para la coincidencia semántica.

El objeto de umbrales de similitud contiene las siguientes propiedades.

Propiedad Tipo Descripción
min Número Obligatorio. El umbral mínimo de similitud. El valor debe ser un entero entre 0 y 10, ambos inclusive.
max Número Obligatorio. El umbral máximo de similitud. El valor debe ser un entero entre 0 y 10, ambos inclusive.

Ejemplo de objeto de respuestas editoriales

{
  "editorial_answers": {
    "answers": [
      {
        "question": "What is the company's return policy?",
        "answer": "Our company offers a 30-day return policy for all products purchased in-store or online.",
        "similarity_thresholds": {
          "min": 3,
          "max": 8
        }
      },
      {
        "question": "How do I contact support?",
        "answer": "You can contact our support team by emailing support@contoso.com or calling 1-800-555-0199."
      }
    ]
  }
}

Ejemplo de manifiesto de agente declarativo

En el ejemplo siguiente se muestra un archivo de manifiesto de agente declarativo que utiliza la mayoría de las propiedades de manifiesto descritas en este artículo.

{
  "$schema": "https://developer.microsoft.com/json-schemas/copilot/declarative-agent/v1.8/schema.json",
  "version": "v1.8",
  "name": "Teams Toolkit declarative agent",
  "description": "Declarative agent created with Teams Toolkit",
  "instructions": "You are a repairs expert agent. With the response from the listRepairs function, you **must** create a poem out of the repairs listed and always include their title and the assigned person. The poem **must** not use the quote markdown and use regular text. If the user is asking to create a new repair, use the createRepair function and do not add poems.",
  "conversation_starters": [
    {
      "title": "Getting Started",
      "text": "How can I get started with Teams Toolkit?"
    },
    {
      "title": "Getting Help",
      "text": "How can I get help with Teams Toolkit?",
      "depends_on": [
        {
          "name": "capabilities",
          "id": "WebSearch"
        }
      ]
    }
  ],
  "sensitivity_label": {
    "id": "00000000-0000-0000-0000-000000000000"
  },
  "actions": [
    {
      "id": "repairsPlugin",
      "file": "repairs-hub-api-plugin.json"
    }
  ],
  "behavior_overrides": {
    "suggestions": {
      "disabled": true
    },
    "special_instructions": {
      "discourage_model_knowledge": true
    },
    "default_response_mode": "Auto"
  },
  "disclaimer": {
    "text": "This declarative agent is a fictional example. You should not take it seriously."
  },
  "editorial_answers": {
    "answers": [
      {
        "question": "What is the company's return policy?",
        "answer": "Our company offers a 30-day return policy for all products purchased in-store or online.",
        "similarity_thresholds": {
          "min": 3,
          "max": 8
        }
      }
    ]
  },
  "worker_agents": [
    {
      "id": "P_2c27ae89-1f78-4ef7-824c-7d83f77eda28"
    }
  ],
  "user_overrides": [
    {
      "path": "$.capabilities[?(@.name == 'OneDriveAndSharePoint')]",
      "allowed_actions": [
        "remove"
      ]
    }
  ],
  "capabilities": [
    {
      "name": "WebSearch",
      "sites": [
        {
          "url": "https://contoso.com/projects/mark-8"
        }
      ]
    },
    {
      "name": "OneDriveAndSharePoint",
      "items_by_url": [
        {
          "url": "https://contoso.sharepoint.com/sites/ProductSupport"
        }
      ]
    },
    {
      "name": "GraphConnectors",
      "connections": [
        {
          "connection_id": "foodStore"
        }
      ]
    },
    {
      "name": "GraphicArt"
    },
    {
      "name": "CodeInterpreter"
    },
    {
      "name": "Dataverse",
      "knowledge_sources": [
        {
          "host_name": "organization.crm.dynamics.com",
          "skill": "DVCopilotSkillName",
          "tables": [
            {
              "table_name": "account"
            },
            {
              "table_name": "opportunity"
            }
          ]
        }
      ]
    },
    {
      "name": "TeamsMessages",
      "urls": [
        {
          "url": "https://teams.microsoft.com/l/channel/19%3ApO0102YGEBRSH6RziXCxEgB4mtb7-5hIlDzAjtxs_dg1%40thread.tacv2/G%C3%A9n%C3%A9ral?groupId=2670cf94-acf5-48f4-96d4-c58dd8937afc&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47"
        }
      ]
    },
    {
      "name": "Email",
      "shared_mailbox": "sample@service.microsoft.com",
      "folders": [
        {
          "folder_id": "inbox"
        }
      ]
    },
    {
      "name": "EmailActions"
    },
    {
      "name": "People"
    },
    {
      "name": "ScenarioModels",
      "models": [
        {
          "id": "model_id"
        }
      ]
    },
    {
      "name": "Meetings",
      "items_by_id": [
        {
          "id": "010000002300A00045B6C7890D12E0030000000040056F7GH890IJ01000000000000000020000000J3L45M6A7NO8PQ9R0S12TUV340XY5Z00",
          "is_series": true
        }
      ]
    },
    {
      "name": "MeetingActions"
    },
    {
      "name": "EmbeddedKnowledge",
      "files": [
        { "file": "file1.docx" },
        { "file": "file2.csv" }
      ]
    }
  ]
}