Ferramenta de lembrete para agentes de auto-agendamento

Importante

Os itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares para Versões Prévias do Microsoft Azure.

A ferramenta reminder_preview permite que um agente hospedado se agende para ser executado novamente em um momento futuro. Use este padrão quando o agente decidir, durante uma execução, que precisa fazer um acompanhamento posterior, por exemplo, para verificar novamente uma tarefa de longa duração ou solicitar ao usuário uma atualização de status.

Quando o agente invoca a ferramenta de lembrete, ele especifica um intervalo em minutos. Após esse atraso, o Foundry invoca novamente o mesmo agente na mesma conversa. Em seguida, o agente pode continuar seu trabalho, verificar sistemas externos ou solicitar ao usuário.

Importante

A ferramenta de lembrete está disponível somente para agentes hospedados. Você não pode usar a ferramenta de lembretes com agentes de prompt. Para usar a ferramenta de lembrete, crie uma caixa de ferramentas que inclua a reminder_preview ferramenta e anexe a caixa de ferramentas a um agente hospedado.

Pré-requisitos

Como funciona a ferramenta de lembrete

A ferramenta de lembrete usa os seguintes argumentos:

Argument Tipo Intervalo Description
minutes inteiro 1–43,200 O número de minutos a aguardar antes de invocar novamente o agente.
input cadeia Instruções sobre o que o agente precisa fazer quando ele é invocado pelo lembrete.

Quando o agente chama a ferramenta, ele decide quanto tempo atrasar com base em seu raciocínio. Em seguida, a Foundry cria uma rotina agendada que é acionada após o atraso especificado e invoca novamente o mesmo agente hospedado na mesma conversa. Essa abordagem preserva o contexto entre invocações, ao contrário das rotinas regulares que iniciam novas conversas.

Adicionar a ferramenta de lembrete a uma caixa de ferramentas

A ferramenta de lembrete não tem conexão. Você não precisa configurar nenhum serviço externo ou autenticação.

Captura de tela mostrando a ferramenta reminder_preview em uma caixa de ferramentas no portal do Foundry.

  1. No portal do Foundry, acesse seu projeto.
  2. No painel esquerdo, selecione Compilar &personalizar>Caixas de Ferramentas.
  3. Selecione + Novo para criar uma caixa de ferramentas ou selecione uma caixa de ferramentas existente para editar.
  4. No editor da caixa de ferramentas, selecione + Adicionar ferramenta.
  5. Em ferramentas internas, selecione Lembrete (versão prévia).
  6. Configure o nome e a descrição da ferramenta e selecione Adicionar.
  7. Selecione Salvar para salvar a caixa de ferramentas.

A página de detalhes do toolbox mostra o endpoint MCP. Copie este endpoint para conectar seu agente hospedado.

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 escopo do token https://ai.azure.com/.default ao obter o token de portador.

A resposta inclui o mcp_endpoint. Conecte seu agente hospedado a este endpoint.

Criar um arquivo de manifesto do 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 exibe o endpoint MCP do toolbox. Conecte seu agente hospedado a este endpoint.

Configurar o agente hospedado

Depois de criar a caixa de ferramentas, configure o agente hospedado para usá-la. No manifesto do agente, adicione o endpoint da caixa de ferramentas sob 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

Cenário de exemplo: Sondagem para conclusão da tarefa

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

  1. Recebe uma solicitação do usuário para iniciar uma tarefa de execução prolongada.
  2. Chama uma API externa para iniciar a tarefa e recebe uma ID de tarefa.
  3. Usa a ferramenta de lembrete para agendar um acompanhamento em 15 minutos.
  4. Quando o lembrete é acionado, o agente verifica o status da tarefa.
  5. Se a tarefa ainda estiver em execução, o agente agenda outro lembrete.
  6. Quando a tarefa for concluída, o agente notificará o usuário.

Para habilitar esse comportamento, inclua instruções no manifesto do 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 nessas instruções. Você não precisa escrever código para lidar com a invocação de lembrete.

Limitations

  • Somente agentes hospedados. A ferramenta de lembrete está disponível somente para agentes hospedados. Você não pode usá-lo com agentes de prompts.
  • Mesma conversa. Lembretes acionam 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).