Compartilhar via


Esquema do agente declarativo 1.2 para Microsoft 365 Copilot

Este artigo descreve o esquema 1.2 utilizado pelo manifesto do agente declarativo. O manifesto é um documento legível por computador que fornece um Modelo de Linguagem Grande (LLM) com as instruções, conhecimentos e ações necessários para se especializar na resolução de um conjunto selecionado de problemas de utilizador. O manifesto de aplicação do Microsoft 365 referencia manifestos de agente declarativos dentro de um pacote de aplicação. Para obter detalhes, veja a referência do manifesto da aplicação Microsoft 365.

Importante

A versão mais recente do esquema de manifesto do agente declarativo é a versão 1.6. Recomendamos que os novos agentes utilizem a versão de esquema mais recente.

Os agentes declarativos são valiosos na compreensão e geração de texto semelhante ao humano, tornando-os versáteis para tarefas como escrever e responder a perguntas. Esta especificação centra-se no manifesto do agente declarativo que atua como uma estrutura estruturada para especializar e melhorar as funcionalidades de que um utilizador específico precisa.

Alterações da versão anterior

Esta versão de esquema apresenta as seguintes alterações da versão 1.0.

  • A sites propriedade é adicionada ao objeto de pesquisa na Web. Esta propriedade permite que a capacidade de pesquisa na Web seja limitada a sites permitidos.
  • A capacidade de arte gráfica foi adicionada. Esta capacidade permite que o agente declarativo gere imagens e imagens com base na entrada do utilizador.
  • A capacidade de intérprete de código foi adicionada. Esta capacidade permite ao agente declarativo gerar e executar código Python.

Esquema JSON

Pode encontrar o esquema descrito neste documento no formato de Esquema JSONaqui.

Convenções

Referências relativas em URLs

Salvo especificação em contrário, todas as propriedades que são URLs podem ser referências relativas. As referências relativas no documento de manifesto são relativas à localização do documento de manifesto.

Comprimento da cadeia

Salvo especificação em contrário, limite todas as propriedades de cadeia a 4000 carateres. Este comprimento de cadeia não define um tamanho aceitável para todas as propriedades de cadeia no documento. As implementações podem definir os seus próprios limites práticos no comprimento do manifesto.

Propriedades não reconhecidas

Os objetos JSON definidos neste documento suportam apenas as propriedades descritas. As propriedades não reconhecidas ou desnecessárias em qualquer objeto JSON tornam todo o documento inválido.

Localização de cadeias

As cadeias localizáveis podem utilizar uma chave de localização em vez de um valor literal. A sintaxe é [[key_name]], em key_name que é o nome da chave na localizationKeys propriedade nos ficheiros de localização. Para obter detalhes sobre a localização, veja Localizar o agente.

Objeto de manifesto do agente declarativo

A raiz do documento de manifesto é um objeto JSON que abrange os campos, capacidades, inícios de conversação e ações necessários.

O objeto de manifesto do agente declarativo contém as seguintes propriedades.

Propriedade Tipo Descrição
version Cadeia de caracteres Obrigatório. A versão do esquema. Definido como v1.2
id String Opcional.
name Cadeia de caracteres Obrigatório. Localizável. O nome do agente declarativo. Tem de conter, pelo menos, um caráter não branco e ter 100 carateres ou menos.
description Cadeia de caracteres Obrigatório. Localizável. A descrição do agente declarativo. Tem de conter, pelo menos, um caráter não branco e ter 1000 carateres ou menos.
instructions Cadeia de caracteres Obrigatório. As instruções detalhadas ou diretrizes sobre o comportamento do agente declarativo, as suas funções e quaisquer comportamentos a evitar. Tem de conter, pelo menos, um caráter não branco e ter 8000 carateres ou menos.
capabilities Matriz do objeto Capacidades Opcional. Contém uma matriz de objetos que definem as capacidades do agente declarativo. A matriz não pode conter mais do que um de cada tipo derivado de objeto Capacidades.
conversation_starters Matriz do objeto inicial de Conversação Opcional. O Título e o Texto são localizáveis. Uma lista de exemplos de perguntas às quais o agente declarativo pode responder. A matriz não pode conter mais de 12 objetos.
actions Matriz do objeto Ação Opcional. Uma lista de objetos que identificam plug-ins de API que fornecem ações acessíveis ao agente declarativo.

Exemplo de objeto de manifesto do agente declarativo

O código seguinte mostra um exemplo dos campos necessários num manifesto de agente declarativo.

{
  "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 Capacidades

O objeto capabilities é o tipo base para objetos na capabilities propriedade do objeto de manifesto do agente declarativo. Os tipos de objeto possíveis são:

Observação

Os utilizadores podem aceder a agentes declarativos com quaisquer capacidades que não sejam a pesquisa na Web apenas se os respetivos inquilinos permitirem uma utilização limitada ou se tiverem uma licença de Microsoft 365 Copilot.

Exemplo de objeto 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"
    }
  ]
}

Objeto de pesquisa na Web

Indica que o agente declarativo pode procurar na Web informações de ligação à terra.

O objeto de pesquisa na Web contém as seguintes propriedades.

Propriedade Tipo Descrição
name Cadeia de caracteres Obrigatório. Tem que ser definida como WebSearch.
sites Matriz do objeto Site Opcional. Uma matriz de objetos que identificam sites que o agente tem permissão para pesquisar. Se omitir esta propriedade, o agente pode procurar em todos os sites. A matriz não pode conter mais do que quatro itens.

Observação

Para obter detalhes sobre dados, privacidade e segurança para pesquisa na Web em Microsoft 365 Copilot Chat e Microsoft 365 Copilot, consulte Dados, privacidade e segurança para pesquisa na Web.

Objeto de site

Indica um site onde um agente declarativo pode procurar conteúdo.

O objeto do site contém a seguinte propriedade.

Propriedade Tipo Descrição
url Cadeia de caracteres Obrigatório. Um URL absoluto para um site a procurar conteúdo. O URL não pode conter mais do que dois segmentos de caminho (por exemplo, https://contoso.com/projects/mark-8 é válido, mas https://contoso.com/projects/mark-8/beta-program não é válido). Os resultados da pesquisa incluem dados de segmentos de caminho adicionais; no entanto, a pesquisa de âmbito para mais de dois segmentos de caminho não é suportada. O URL não pode conter parâmetros de consulta.

Objeto oneDrive e SharePoint

Indica que o agente declarativo pode procurar informações de base no SharePoint e no OneDrive de um utilizador.

O objeto OneDrive e SharePoint contém as seguintes propriedades.

Propriedade Tipo Descrição
name Cadeia de caracteres Obrigatório. Tem que ser definida como OneDriveAndSharePoint.
items_by_sharepoint_ids Matriz de Itens por objeto IDs do SharePoint Opcional. Uma matriz de objetos que identificam origens do SharePoint ou do OneDrive com IDs. Se omitir as items_by_sharepoint_ids propriedades e items_by_url , o agente declarativo pode aceder a todas as origens do OneDrive e do SharePoint na organização.
items_by_url Matriz de Itens por objeto de URL Opcional. Uma matriz de objetos que identificam origens do SharePoint ou do OneDrive por URL. Se omitir as items_by_sharepoint_ids propriedades e items_by_url , o agente declarativo pode aceder a todas as origens do OneDrive e do SharePoint na organização.

Para obter informações sobre como otimizar conteúdos do SharePoint para o Copilot, veja Otimizar a obtenção de conteúdos do SharePoint.

Objeto Itens por IDs do SharePoint

O objeto itens por IDs do SharePoint contém as seguintes propriedades.

Propriedade Tipo Descrição
site_id String Opcional. Um identificador GUID exclusivo para um site do SharePoint ou do OneDrive.
web_id String Opcional. Um identificador GUID exclusivo para uma Web específica num site do SharePoint ou do OneDrive.
list_id String Opcional. Um identificador GUID exclusivo para uma biblioteca de documentos num site do SharePoint.
unique_id String Opcional. Um identificador GUID exclusivo utilizado para definir o âmbito de uma pasta ou ficheiro na biblioteca de documentos especificada pela list_id propriedade .

Dica

Para obter informações sobre como obter os identificadores exclusivos para um recurso do SharePoint ou do OneDrive, veja Obter IDs de capacidades para o manifesto declarativo do agente.

Itens por objeto de URL

Os itens por objeto URL contêm a seguinte propriedade.

Propriedade Tipo Descrição
url String Opcional. Um URL absoluto para um recurso do SharePoint ou do OneDrive.

Objeto de conectores Copilot

Indica que o agente declarativo pode procurar informações de terra nos conectores Copilot selecionados.

O objeto conectores Copilot contém as seguintes propriedades.

Propriedade Tipo Descrição
name Cadeia de caracteres Obrigatório. Tem que ser definida como GraphConnectors.
connections Matriz do objeto Ligação Opcional. Uma matriz de objetos que identificam os conectores Copilot disponíveis para o agente declarativo. Se omitir esta propriedade, o agente declarativo pode aceder a todos os conectores Copilot na organização.
Objeto Connection

Identifica um conector Copilot.

O objeto de ligação contém a seguinte propriedade.

Propriedade Tipo Descrição
connection_id Cadeia de caracteres Obrigatório. O identificador exclusivo do conector Copilot.

Dica

Para obter instruções sobre como obter o identificador exclusivo para um conector Copilot, veja Obter IDs de capacidades para o manifesto declarativo do agente.

Objeto de arte gráfica

Indica que o agente declarativo pode criar imagens e imagens com base na entrada de texto do utilizador. Para obter mais informações, veja Gerador de imagens.

O objeto de arte gráfica contém a seguinte propriedade.

Propriedade Tipo Descrição
name Cadeia de caracteres Obrigatório. Definido como GraphicArt

Objeto de interpretador de código

Indica que o agente declarativo pode gerar e executar código Python para resolver problemas matemáticos complexos, analisar dados, gerar visualizações e muito mais. Para obter mais informações, veja Interpretador de código.

O objeto de interpretador de código contém a seguinte propriedade.

Propriedade Tipo Descrição
name Cadeia de caracteres Obrigatório. Definido como CodeInterpreter

Objeto de iniciadores de conversação

O objeto de iniciadores de conversação é opcional no manifesto. Contém sugestões que o agente apresenta ao utilizador para mostrar como pode começar a utilizar o agente declarativo.

O objeto inicial da conversação contém as seguintes propriedades:

Propriedade Tipo Descrição
text Cadeia de caracteres Obrigatório. Localizável. Uma sugestão que o utilizador pode utilizar para obter o resultado desejado do agente declarativo. Tem de conter, pelo menos, um caráter não branco.
title String Opcional. Localizável. Um título exclusivo para o arranque da conversação. Tem de conter, pelo menos, um caráter não branco.

Exemplo de objeto de iniciadores de conversação

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

Objeto Actions

As ações são um objeto JSON opcional no manifesto. Atuam como entrada do programador e podem ser considerados plug-ins.

O objeto de ação contém as seguintes propriedades.

Propriedade Tipo Descrição
id Cadeia de caracteres Obrigatório. Um identificador exclusivo para a ação. Pode ser um GUID.
file Cadeia de caracteres Obrigatório. Um caminho para o manifesto do plug-in da API para esta ação.

Exemplo de objeto de ações

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

Exemplo de manifesto do agente declarativo

O exemplo seguinte mostra um ficheiro de manifesto de agente declarativo que utiliza a maioria das propriedades do manifesto descritas neste artigo.

{
  "$schema": "https://developer.microsoft.com/json-schemas/copilot/declarative-agent/v1.2/schema.json",
  "version": "v1.2",
  "name": "Microsoft 365 Agents Toolkit declarative copilot",
  "description": "Declarative copilot created with Agents Toolkit",
  "instructions": "You are a repairs expert copilot. 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 Agents Toolkit?"
    },
    {
      "title": "Getting Help",
      "text": "How can I get help with Agents Toolkit?"
    }
  ],
  "actions": [
    {
      "id": "repairsPlugin",
      "file": "repairs-hub-api-plugin.json"
    }
  ],
  "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"
    }
  ]
}