Påminnelseverktyg för självschemaläggningsagenter

Important

Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Verktyget reminder_preview gör det möjligt för en värdbaserad agent att schemalägga sig själv att köras igen vid en framtida tidpunkt. Använd det här mönstret när agenten under en körning bestämmer sig för att följa upp senare, till exempel för att kontrollera en långvarig uppgift eller för att fråga användaren om en statusuppdatering.

När agenten anropar påminnelseverktyget anger den en fördröjning i minuter. Efter den fördröjningen anropar Foundry samma agent igen i samma konversation. Agenten kan sedan fortsätta sitt arbete, kontrollera externa system eller fråga användaren.

Important

Påminnelseverktyget är endast tillgängligt för värdbaserade agenter. Du kan inte använda påminnelseverktyget med promptagenter. Om du vill använda påminnelseverktyget skapar du en verktygslåda som innehåller reminder_preview verktyget och kopplar sedan verktygslådan till en värdbaserad agent.

Förutsättningar

Så här fungerar påminnelseverktyget

Påminnelseverktyget tar följande argument:

Argumentation Type Räckvidd Description
minutes heltal 1–43,200 Antalet minuter att vänta innan agenten anropas igen.
input string Instruktioner om vad agenten behöver göra när den aktiveras av påminnelsen.

När agenten anropar verktyget bestämmer den hur lång tid det tar att fördröja baserat på dess resonemang. Foundry skapar sedan en schemalagd rutin som utlöses efter den angivna fördröjningen och åter anropar samma värdbaserade agent i samma konversation. Den här metoden bevarar kontexten mellan anrop, till skillnad från vanliga rutiner som startar nya konversationer.

Lägg till påminnelseverktyget i en verktygslåda

Påminnelseverktyget är anslutningslöst. Du behöver inte konfigurera någon extern tjänst eller autentisering.

Skärmbild som visar verktyget reminder_preview i en verktygslåda i Foundry-portalen.

  1. Gå till projektet i Foundry-portalen.
  2. I den vänstra rutan väljer du Skapa och anpassa>verktygslådor.
  3. Välj + Ny för att skapa en verktygslåda eller välj en befintlig verktygslåda som ska redigeras.
  4. I verktygslådans redigerare väljer du + Lägg till verktyg.
  5. Under Inbyggda verktyg väljer du Påminnelse (förhandsversion).
  6. Konfigurera verktygets namn och beskrivning och välj sedan Lägg till.
  7. Välj Spara för att spara verktygslådan.

Informationssidan för verktygslådan visar MCP-slutpunkten. Kopiera den här slutpunkten för att ansluta din värdbaserade 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."
    }
  ]
}

Note

Använd tokenräckvidd https://ai.azure.com/.default när du hämtar bearer-token.

Svaret innehåller mcp_endpoint. Anslut din värdbaserade agent till den här slutpunkten.

Skapa en manifestfil för verktygslådan:

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

Skapa verktygslådan:

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

Kommandot skriver ut verktygslådans MCP-slutpunkt. Anslut din värdbaserade agent till den här slutpunkten.

Konfigurera den värdbaserade agenten

När du har skapat verktygslådan konfigurerar du den värdbaserade agenten så att den används. I agentmanifestet lägger du till verktygslådans slutpunkt under 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

Exempelscenario: Avsökning för slutförande av aktiviteter

Ett vanligt scenario är att regelbundet kontrollera ett externt system för att se om en uppgift har slutförts. I det här mönstret gör agenten följande:

  1. Tar emot en användarbegäran om att starta en tidskrävande uppgift.
  2. Anropar ett externt API för att starta uppgiften och tar emot ett aktivitets-ID.
  3. Använder påminnelseverktyget för att schemalägga en uppföljning på 15 minuter.
  4. När påminnelsen aktiveras kontrollerar agenten statusen för uppgiften.
  5. Om aktiviteten fortfarande körs schemalägger agenten ytterligare en påminnelse.
  6. När uppgiften är klar meddelar agenten användaren.

Om du vill aktivera det här beteendet inkluderar du instruktioner i agentmanifestet:

# 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

Modellen bestämmer när och hur påminnelseverktyget ska användas baserat på dessa instruktioner. Du behöver inte skriva kod för att hantera påminnelseanropet.

Limitations

  • Endast värdbaserade agenter. Påminnelseverktyget är endast tillgängligt för värdbaserade agenter. Du kan inte använda den med prompt-agenter.
  • Samma konversation. Påminnelser återanropar agenten i samma konversation. De startar inte nya konversationer.
  • Minsta fördröjning. Den minsta fördröjningen är 1 minut.
  • Maximal fördröjning. Den maximala fördröjningen är 43 200 minuter (30 dagar).