Outil rappel pour les agents de planification automatique

Important

Les éléments indiqués comme (aperçu) dans cet article sont en aperçu public. Cette version préliminaire est fournie sans contrat de niveau de service, et nous la déconseillons pour les charges de travail en production. Certaines fonctionnalités peuvent ne pas être prises en charge ou avoir des fonctionnalités contraintes. Pour plus d’informations, consultez Conditions d'utilisation supplémentaires pour les versions préliminaires de Microsoft Azure.

L’outil reminder_preview permet à un agent hébergé de planifier son exécution ultérieurement. Utilisez cette approche lorsque l’agent décide, au cours d’une exécution, qu’un suivi ultérieur est nécessaire, par exemple pour vérifier l’avancement d’une tâche de longue durée ou demander à l’utilisateur une mise à jour de statut.

Lorsque l’agent appelle l’outil de rappel, il spécifie un délai en minutes. Après ce délai, Foundry réinvoque le même agent dans la même conversation. L’agent peut ensuite poursuivre son travail, vérifier sur des systèmes externes ou inviter l’utilisateur.

Important

L’outil de rappel est disponible uniquement pour les agents hébergés. Vous ne pouvez pas utiliser l’outil de rappel avec des agents d’invite. Pour utiliser l’outil de rappel, créez une boîte à outils qui inclut l’outil reminder_preview , puis attachez la boîte à outils à un agent hébergé.

Logiciels requis

Fonctionnement de l’outil de rappel

L’outil de rappel prend les arguments suivants :

Argument Type Gamme Description
minutes entier 1–43,200 Nombre de minutes à attendre avant d’appeler à nouveau l’agent.
input string Instructions pour ce que l’agent doit faire lorsqu’il est appelé par le rappel.

Lorsque l’agent appelle l’outil, il décide de la durée de retard en fonction de son raisonnement. Foundry crée ensuite une routine planifiée qui se déclenche après le délai spécifié et appelle à nouveau le même agent hébergé sur la même conversation. Cette approche préserve le contexte d’une invocation à l’autre, contrairement aux routines classiques qui lancent de nouvelles conversations.

Ajouter l’outil de rappel à une boîte à outils

L’outil de rappel est sans connexion. Vous n’avez pas besoin de configurer un service externe ou une authentification.

Capture d’écran montrant l’outil reminder_preview dans une boîte à outils dans le portail Foundry.

  1. Dans le portail Foundry, accédez à votre projet.
  2. Dans le volet gauche, sélectionnez Générer et personnaliser>les boîtes à outils.
  3. Sélectionnez + Nouveau pour créer une boîte à outils ou sélectionnez une boîte à outils existante à modifier.
  4. Dans l’éditeur de boîte à outils, sélectionnez + Ajouter un outil.
  5. Sous Outils intégrés, sélectionnez Rappel (préversion).
  6. Configurez le nom et la description de l’outil, puis sélectionnez Ajouter.
  7. Sélectionnez Enregistrer pour enregistrer la boîte à outils.

La page détails de la boîte à outils affiche le point de terminaison MCP. Copiez ce point de terminaison pour connecter votre agent hébergé.

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

Utilisez l’étendue https://ai.azure.com/.default du jeton lors de l’obtention du jeton du porteur.

La réponse inclut le mcp_endpoint. Connectez votre agent hébergé à ce point de terminaison.

Créez un fichier manifeste de boîte à outils :

# 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.

Créez la boîte à outils :

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

La commande imprime le point de terminaison MCP de la boîte à outils. Connectez votre agent hébergé à ce point de terminaison.

Configurer l’agent hébergé

Après avoir créé la boîte à outils, configurez votre agent hébergé pour l’utiliser. Dans le manifeste de l’agent, ajoutez le point de terminaison de la toolbox sous 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

Exemple de scénario : scrutation pour vérifier l’achèvement d’une tâche

Un scénario courant consiste à interroger un système externe pour l’achèvement des tâches. Dans ce modèle, l’agent :

  1. Reçoit une demande d’utilisateur pour démarrer une tâche de longue durée.
  2. Appelle une API externe pour démarrer la tâche et reçoit un ID de tâche.
  3. Utilise l’outil de rappel pour planifier un suivi en 15 minutes.
  4. Lorsque le rappel se déclenche, l’agent vérifie l’état de la tâche.
  5. Si la tâche est toujours en cours d’exécution, l’agent planifie un autre rappel.
  6. Une fois la tâche terminée, l’agent avertit l’utilisateur.

Pour activer ce comportement, incluez des instructions dans votre manifeste d’agent :

# 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

Le modèle décide quand et comment utiliser l’outil de rappel en fonction de ces instructions. Vous n’avez pas besoin d’écrire du code pour gérer l’appel de rappel.

Limitations

  • Agents hébergés uniquement. L’outil de rappel est disponible uniquement pour les agents hébergés. Vous ne pouvez pas l’utiliser avec des agents de prompt.
  • Même conversation. Les rappels réinvoquent l’agent dans la même conversation. Ils ne démarrent pas de nouvelles conversations.
  • Délai minimal. Le délai minimal est de 1 minute.
  • Délai maximal. Le délai maximal est de 43 200 minutes (30 jours).