Ferramenta de lembrete para agentes de auto-agendamento

Importante

Os itens assinalados com (pré-visualização) neste artigo estão atualmente em pré-visualização pública. Esta pré-visualização é fornecida sem um acordo de nível de serviço, e não a recomendamos para trabalhos em produção. Certas funcionalidades podem não ser suportadas ou podem ter capacidades limitadas. Para mais informações, consulte Termos Suplementares de Utilização para Microsoft Azure Previews.

A reminder_preview ferramenta permite que um agente alojado se programe para ser executado novamente numa data futura. Use este padrão quando o agente decidir, durante uma execução, que precisa de fazer seguimento mais tarde, como para verificar uma tarefa de longa duração ou para pedir ao utilizador uma atualização de estado.

Quando o agente liga para a ferramenta de lembrete, esta especifica um atraso em minutos. Após esse atraso, Foundry volta a invocar o mesmo agente na mesma conversa. O agente pode então continuar o seu trabalho, verificar sistemas externos ou avisar o utilizador.

Importante

A ferramenta de lembrete está disponível apenas para agentes alojados. Não podes usar a ferramenta de lembrete com agentes de prompts. Para usar a ferramenta de lembrete, crie uma caixa de ferramentas que inclua a reminder_preview ferramenta e depois anexe-a a um agente alojado.

Pré-requisitos

Como funciona a ferramenta de lembretes

A ferramenta de lembrete adota os seguintes argumentos:

Argumento Tipo Alcance Description
minutes número inteiro 1–43,200 O número de minutos a esperar antes de invocar novamente o agente.
input cadeia (de caracteres) Instruções sobre o que o agente precisa de fazer quando é invocado pelo lembrete.

Quando o agente chama a ferramenta, decide quanto tempo atrasar com base no seu raciocínio. O Foundry cria então uma rotina programada que é executada após o atraso especificado e reinvoca o mesmo agente hospedado na mesma conversa. Esta abordagem preserva o contexto através das invocações, ao contrário das rotinas regulares que iniciam novas conversas.

Adicione a ferramenta de lembrete a uma caixa de ferramentas

A ferramenta de lembretes não requer ligação à rede. Não precisas de configurar nenhum serviço externo ou autenticação.

Captura de ecrã mostrando a ferramenta reminder_preview numa caixa de ferramentas no portal Foundry.

  1. No portal da Foundry, aceda ao seu projeto.
  2. No painel esquerdo, selecione Construir e personalizar>Caixas de Ferramentas.
  3. Selecionar + Novo para criar uma caixa de ferramentas, ou selecionar uma caixa de ferramentas existente para editar.
  4. No editor da caixa de ferramentas, selecione + Adicionar ferramenta.
  5. Em Ferramentas integradas, selecione Lembrete (pré-visualização).
  6. Configura o nome e a descrição da ferramenta e depois seleciona Adicionar.
  7. Selecione Guardar para guardar a caixa de ferramentas.

A página de detalhes da caixa de ferramentas mostra o endpoint MCP. Copie este endpoint para ligar o seu agente alojado.

from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import ReminderPreviewToolboxTool

# Create Foundry project client
endpoint = "https://<your-foundry-account>.services.ai.azure.com/api/projects/<your-project>"
project = AIProjectClient(
    endpoint=endpoint,
    credential=DefaultAzureCredential(),
)

# Create toolbox version with reminder tool
toolbox_version = project.toolboxes.create_version(
    name="reminder-toolbox",
    description="Built-in reminder tool for a self-scheduling agent",
    tools=[
        ReminderPreviewToolboxTool(
            name="schedule_reminder",
            description="Schedule a reminder that re-invokes this agent at a future time.",
        ),
    ],
)
print(f"Created toolbox: {toolbox_version.name}, version: {toolbox_version.version}")
print(f"MCP endpoint: {toolbox_version.mcp_endpoint}")
using Azure.Identity;
using Azure.AI.Projects;

// Create Foundry project client
var projectEndpoint = "https://<your-foundry-account>.services.ai.azure.com/api/projects/<your-project>";
AIProjectClient projectClient = new(new Uri(projectEndpoint), new DefaultAzureCredential());

// Create toolbox version with reminder tool
var reminderTool = new ReminderPreviewToolboxTool
{
    Name = "schedule_reminder",
    Description = "Schedule a reminder that re-invokes this agent at a future time."
};

ToolboxVersionObject toolboxVersion = await projectClient.Toolboxes.CreateVersionAsync(
    name: "reminder-toolbox",
    tools: [reminderTool],
    description: "Built-in reminder tool for a self-scheduling agent"
);
Console.WriteLine($"Created toolbox: {toolboxVersion.Name}, version: {toolboxVersion.Version}");
Console.WriteLine($"MCP endpoint: {toolboxVersion.McpEndpoint}");
import { DefaultAzureCredential } from "@azure/identity";
import { AIProjectClient } from "@azure/ai-projects";

// Create Foundry project client
const projectEndpoint = "https://<your-foundry-account>.services.ai.azure.com/api/projects/<your-project>";
const project = new AIProjectClient(projectEndpoint, new DefaultAzureCredential());

const toolboxVersion = await project.toolboxes.createVersion(
  "reminder-toolbox",
  [
    {
      type: "reminder_preview",
      name: "schedule_reminder",
      description: "Schedule a reminder that re-invokes this agent at a future time.",
    },
  ],
  {
    description: "Built-in reminder tool for a self-scheduling agent",
  },
);
console.log(`Created toolbox: ${toolboxVersion.name}, version: ${toolboxVersion.version}`);
console.log(`MCP endpoint: ${toolboxVersion.mcpEndpoint}`);
POST https://{project_endpoint}/toolboxes/reminder-toolbox/versions?api-version=v1
Authorization: Bearer {token}
Content-Type: application/json

{
  "description": "Built-in reminder tool for a self-scheduling agent",
  "tools": [
    {
      "type": "reminder_preview",
      "name": "schedule_reminder",
      "description": "Schedule a reminder that re-invokes this agent at a future time."
    }
  ]
}

Note

Use o âmbito do token https://ai.azure.com/.default ao obter o token de portador.

A resposta inclui o mcp_endpoint. Ligue o seu agente alojado a este endpoint.

Crie um ficheiro de manifesto da toolbox:

# reminder-toolbox.yaml
description: Built-in reminder tool for a self-scheduling agent
tools:
  - type: reminder_preview
    name: schedule_reminder
    description: Schedule a reminder that re-invokes this agent at a future time.

Crie a caixa de ferramentas:

azd ai toolbox create reminder-toolbox --from-file reminder-toolbox.yaml

O comando imprime o endpoint MCP da toolbox. Ligue o seu agente alojado a este endpoint.

Configurar o agente alojado

Depois de criares a caixa de ferramentas, configura o teu agente alojado para a usar. No manifesto do agente, adicione o endpoint da caixa de ferramentas em resources:

# agent.yaml
name: reminder-agent
model_deployment: gpt-4.1
instructions: |
  You are a helpful assistant. When the user asks you to follow up later,
  use the schedule_reminder tool to re-invoke yourself after the specified time.
resources:
  - kind: toolbox
    url: https://{project-endpoint}/agents/toolboxes/reminder-toolbox/mcp?version=1

Exemplo de cenário: Sondagem da conclusão da tarefa

Um cenário comum é sondar um sistema externo para a conclusão da tarefa. Neste padrão, o agente:

  1. Recebe um pedido de utilizador para iniciar uma tarefa de longa duração.
  2. Chama uma API externa para iniciar a tarefa e recebe um ID de tarefa.
  3. Usa a ferramenta de lembrete para agendar um seguimento em 15 minutos.
  4. Quando o lembrete dispara, o agente verifica o estado da tarefa.
  5. Se a tarefa ainda estiver em execução, o agente programa outro lembrete.
  6. Quando a tarefa termina, o agente notifica o utilizador.

Para permitir este comportamento, inclua instruções no seu manifesto de agente:

# agent.yaml
name: task-monitor
model_deployment: gpt-4.1
instructions: |
  You help users monitor long-running tasks.
  
  When a user asks you to start a task:
  1. Call the start_task tool with the user's parameters.
  2. Note the task_id in your response.
  3. Use the schedule_reminder tool to check back in 15 minutes.
  
  When you're re-invoked by a reminder:
  1. Call the check_status tool with the task_id.
  2. If the task is still running, schedule another reminder for 10 minutes.
  3. If the task is complete, summarize the results for the user.
resources:
  - kind: toolbox
    url: https://{project-endpoint}/agents/toolboxes/my-toolbox/mcp?version=1

O modelo decide quando e como usar a ferramenta de lembrete com base nestas instruções. Não precisas de escrever código para gerir a invocação do lembrete.

Limitations

  • Apenas agentes alojados. A ferramenta de lembrete está disponível apenas para agentes alojados. Não podes usá-lo com agentes de prompt.
  • Mesma conversa. Os lembretes invocam novamente o agente na mesma conversa. Eles não começam novas conversas.
  • Atraso mínimo. O atraso mínimo é de 1 minuto.
  • Atraso máximo. O atraso máximo é de 43.200 minutos (30 dias).