Strumento di promemoria per gli agenti di pianificazione automatica

Importante

Gli elementi contrassegnati (anteprima) in questo articolo sono attualmente in anteprima pubblica. Questa anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero avere funzionalità limitate. Per ulteriori informazioni, vedere Condizioni supplementari per l'uso delle versioni di anteprima di Microsoft Azure.

Lo strumento reminder_preview consente a un agente ospitato di pianificare la propria esecuzione in un momento successivo. Usa questo schema quando l'agente decide, durante un'esecuzione, che dovrà riprendere l'attività in un secondo momento, ad esempio per verificare successivamente lo stato di un'attività di lunga durata o per chiedere all'utente un aggiornamento sullo stato.

Quando l'agente chiama lo strumento di promemoria, specifica un ritardo in minuti. Dopo questo ritardo, Foundry richiama nuovamente lo stesso agente nella stessa conversazione. L'agente può quindi continuare il proprio lavoro, controllare i sistemi esterni o sollecitare l'utente.

Importante

Lo strumento di promemoria è disponibile solo per gli agenti ospitati. Non è possibile usare lo strumento Promemoria con gli agenti basati su prompt. Per usare lo strumento promemoria, creare una casella degli strumenti che include lo reminder_preview strumento, quindi collegare la casella degli strumenti a un agente ospitato.

Prerequisiti

Funzionamento dello strumento di promemoria

Lo strumento di promemoria accetta gli argomenti seguenti:

Argomentazione TIPO Intervallo Description
minutes numero intero 1–43,200 Numero di minuti di attesa prima di richiamare nuovamente l'agente.
input string Istruzioni per le operazioni che l'agente deve eseguire quando viene richiamato dal promemoria.

Quando l'agente chiama lo strumento, decide per quanto tempo ritardare in base al suo ragionamento. Foundry crea quindi una routine pianificata che viene attivata dopo il ritardo specificato e richiama nuovamente lo stesso agente ospitato nella stessa conversazione. Questo approccio mantiene il contesto tra le chiamate, a differenza delle routine regolari che avviano nuove conversazioni.

Aggiungi lo strumento Promemoria alla toolbox

Lo strumento di promemoria è senza connessione. Non è necessario configurare alcun servizio esterno o autenticazione.

Screenshot che mostra lo strumento reminder_preview in una casella degli strumenti nel portale di Foundry.

  1. Nel portale di Foundry passare al progetto.
  2. Nel riquadro sinistro selezionare Compila e personalizza>casella degli strumenti.
  3. Selezionare + Nuovo per creare una casella degli strumenti oppure selezionare una casella degli strumenti esistente da modificare.
  4. Nell'editor della casella degli strumenti selezionare + Aggiungi strumento.
  5. In Strumenti predefiniti selezionare Promemoria (anteprima).
  6. Configurare il nome e la descrizione dello strumento e quindi selezionare Aggiungi.
  7. Selezionare Salva per salvare la casella degli strumenti.

La pagina dei dettagli della casella degli strumenti mostra l'endpoint MCP. Copiare questo endpoint per connettere l'agente ospitato.

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

Usare l'ambito https://ai.azure.com/.default del token quando si ottiene il token portatore.

La risposta include mcp_endpoint. Connettere l'agente ospitato a questo endpoint.

Creare un file manifest della 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.

Creare la casella degli strumenti:

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

Il comando stampa l'endpoint MCP della casella degli strumenti. Connettere l'agente ospitato a questo endpoint.

Configurare l'agente ospitato

Dopo aver creato la casella degli strumenti, configurare l'agente ospitato per usarlo. Nel manifesto dell'agente, aggiungi l'endpoint del toolbox sotto 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

Scenario di esempio: interrogazione per verificare il completamento dell'attività

Uno scenario comune consiste nell'interrogare periodicamente un sistema esterno per verificare il completamento di un'attività. In questo modello, l'agente:

  1. Riceve una richiesta di un utente per avviare un'attività di lunga durata.
  2. Chiama un'API esterna per avviare l'attività e riceve un ID attività.
  3. Usa lo strumento di promemoria per programmare un follow-up tra 15 minuti.
  4. Quando il promemoria viene attivato, l'agente controlla lo stato dell'attività.
  5. Se l'attività è ancora in esecuzione, l'agente imposta un altro promemoria.
  6. Al termine dell'attività, l'agente invia una notifica all'utente.

Per abilitare questo comportamento, includere le istruzioni nel manifesto dell'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

Il modello decide quando e come usare lo strumento di promemoria in base a queste istruzioni. Non è necessario scrivere codice per gestire la chiamata al promemoria.

Limitazioni

  • Solo agenti ospitati. Lo strumento di promemoria è disponibile solo per gli agenti ospitati. Non è possibile usarlo con gli agenti di prompt.
  • Stessa conversazione. I promemoria richiamano nuovamente l'agente nella stessa conversazione. Non avviano nuove conversazioni.
  • Ritardo minimo. Il ritardo minimo è di 1 minuto.
  • Ritardo massimo. Il ritardo massimo è 43.200 minuti (30 giorni).