Herinneringsprogramma voor zelfplanningsagenten

Important

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor meer informatie.

Met het hulpprogramma reminder_preview kan een gehoste agent plannen om zichzelf op een later moment opnieuw te laten uitvoeren. Gebruik dit patroon wanneer de agent tijdens de uitvoering besluit dat later opvolging nodig is, bijvoorbeeld om de status van een langlopende taak later te controleren of om de gebruiker om een statusupdate te vragen.

Wanneer de agent het herinneringsprogramma aanroept, wordt een vertraging in minuten opgegeven. Na die vertraging roept Foundry dezelfde agent opnieuw aan in hetzelfde gesprek. De agent kan vervolgens doorgaan met het werk, externe systemen controleren of de gebruiker vragen.

Important

Het herinneringsprogramma is alleen beschikbaar voor gehoste agents. U kunt het herinneringshulpmiddel niet gebruiken met prompt-agenten. Als u het herinneringsprogramma wilt gebruiken, maakt u een werkset die het reminder_preview hulpprogramma bevat en koppelt u de werkset aan een gehoste agent.

Prerequisites

Hoe het hulpprogramma voor herinneringen werkt

Het hulpmiddel Herinnering gebruikt de volgende argumenten:

Argument Type Bereik Description
minutes geheel getal 1–43,200 Het aantal minuten dat moet worden gewacht voordat de agent opnieuw wordt aanroepen.
input string Instructies voor wat de agent moet doen wanneer deze wordt aangeroepen door de herinnering.

Wanneer de agent het hulpmiddel aanroept, bepaalt deze op basis van zijn redenering hoe lang de vertraging moet duren. Foundry maakt vervolgens een geplande routine die na de opgegeven vertraging wordt geactiveerd en dezelfde gehoste agent opnieuw aanroept in hetzelfde gesprek. Deze benadering behoudt context tussen aanroepen, in tegenstelling tot reguliere routines die nieuwe gesprekken starten.

De herinneringstool toevoegen aan de toolbox

Het herinneringsprogramma is verbindingsloos. U hoeft geen externe service of verificatie te configureren.

Schermopname van het hulpprogramma reminder_preview in een werkset in de Foundry-portal.

  1. Ga in de Foundry-portal naar uw project.
  2. Selecteer in het linkerdeelvenster Bouwen en aanpassen>Werkseten.
  3. Selecteer + Nieuw om een werkset te maken of selecteer een bestaande werkset die u wilt bewerken.
  4. Selecteer in de toolbox-editor + Hulpprogramma toevoegen.
  5. Selecteer Herinnering (preview) onder Ingebouwde hulpprogramma's.
  6. Configureer de naam en beschrijving van het hulpprogramma en selecteer vervolgens Toevoegen.
  7. Selecteer Opslaan om de werkset op te slaan.

Op de detailpagina van de werkset ziet u het MCP-eindpunt. Kopieer dit eindpunt om verbinding te maken met uw gehoste agent.

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."
    }
  ]
}

Opmerking

Gebruik tokenbereik https://ai.azure.com/.default bij het ophalen van het bearer-token.

Het antwoord bevat de mcp_endpoint. Verbind uw gehoste agent met dit eindpunt.

Maak een manifestbestand voor de gereedschapskist:

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

Maak de werkset:

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

Met de opdracht wordt het MCP-eindpunt van de toolbox weergegeven. Verbind uw gehoste agent met dit eindpunt.

De gehoste agent configureren

Nadat u de werkset hebt gemaakt, configureert u de gehoste agent om deze te gebruiken. Voeg het toolbox-eindpunt in het agentmanifest toe onder 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

Voorbeeldscenario: Polling voor taakvoltooiing

Een veelvoorkomend scenario is het peilen van een extern systeem voor taakvoltooiing. In dit patroon doet de agent het volgende:

  1. Ontvangt een gebruikersaanvraag om een langlopende taak te starten.
  2. Roept een externe API aan om de taak te starten en ontvangt een taak-id.
  3. Gebruikt het herinneringshulpmiddel om over 15 minuten een vervolgactie te plannen.
  4. Wanneer de herinnering wordt geactiveerd, controleert de agent de taakstatus.
  5. Als de taak nog steeds wordt uitgevoerd, plant de agent een andere herinnering.
  6. Wanneer de taak is voltooid, meldt de agent de gebruiker.

Als u dit gedrag wilt inschakelen, neemt u instructies op in uw agentmanifest:

# 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

Het model bepaalt wanneer en hoe u het herinneringsprogramma gebruikt op basis van deze instructies. U hoeft geen code te schrijven om de aanroep van de herinnering af te handelen.

Limitations

  • Alleen gehoste agents. Het herinneringsprogramma is alleen beschikbaar voor gehoste agents. U kunt het niet gebruiken met prompt-agents.
  • Hetzelfde gesprek. Herinneringen activeren de agent opnieuw voor dezelfde conversatie. Ze starten geen nieuwe gesprekken.
  • Minimale vertraging. De minimale vertraging is 1 minuut.
  • Maximale vertraging. De maximale vertraging is 43.200 minuten (30 dagen).