Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Important
Elementy oznaczone jako (wersja zapoznawcza) w tym artykule są aktualnie dostępne w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą nie być obsługiwane lub mogą mieć ograniczone możliwości. Aby uzyskać więcej informacji, zobacz Warunki dodatkowe korzystania z testowych wersji Microsoft Azure.
Narzędzie reminder_preview umożliwia hostowanym agentowi zaplanowanie ponownego uruchomienia w przyszłości. Użyj tego wzorca, gdy agent w trakcie działania uzna, że musi wrócić do sprawy później, na przykład aby ponownie sprawdzić stan długotrwałego zadania lub poprosić użytkownika o aktualizację statusu.
Gdy agent wywołuje narzędzie przypomnienia, określa opóźnienie w minutach. Po tym opóźnieniu Foundry ponownie wywołuje tego samego agenta w ramach tej samej konwersacji. Agent może następnie kontynuować pracę, sprawdzać systemy zewnętrzne lub monitować użytkownika.
Important
Narzędzie przypomnienia jest dostępne tylko dla hostowanych agentów. Nie można używać narzędzia przypomnień z agentami promptów. Aby użyć narzędzia przypomnienia, utwórz przybornik zawierający reminder_preview narzędzie, a następnie dołącz przybornik do hostowanego agenta.
Wymagania wstępne
- Projekt Foundry z wdrożonym modelem.
- Agent hostowany. Zobacz Tworzenie pierwszego hostowanego agenta.
- Azure Developer CLI (
azd) zainstalowany i z uwierzytelnieniem. Zobacz Instalowanie interfejsu wiersza polecenia dewelopera Azure.
Jak działa narzędzie przypomnienia
Narzędzie przypomnienia przyjmuje następujące argumenty:
| Argument | Typ | Zakres | Description |
|---|---|---|---|
minutes |
liczba całkowita | 1–43,200 | Liczba minut oczekiwania przed ponownym wywołaniem agenta. |
input |
ciąg | — | Instrukcje dotyczące działań, które agent musi wykonać po wywołaniu przez przypomnienie. |
Gdy agent wywołuje narzędzie, na podstawie własnego rozumowania decyduje, jak długie ma być opóźnienie. Program Foundry tworzy następnie zaplanowaną procedurę , która jest uruchamiana po określonym opóźnieniu i ponownie wywołuje tego samego hostowanego agenta w tej samej konwersacji. Takie podejście zachowuje kontekst między wywołaniami, w przeciwieństwie do zwykłych procedur, które rozpoczynają nowe konwersacje.
Dodaj narzędzie przypomnienia do przybornika
Narzędzie przypomnienia jest bez połączenia. Nie musisz konfigurować żadnej usługi zewnętrznej ani uwierzytelniania.
- W portalu Foundry przejdź do projektu.
- W lewym okienku wybierz pozycję Kompilacja i dostosowywanie>Przyborniki.
- Wybierz pozycję + Nowy , aby utworzyć przybornik lub wybierz istniejący przybornik do edycji.
- W edytorze zestawu narzędzi wybierz + Dodaj narzędzie.
- W obszarze Narzędzia wbudowane wybierz pozycję Przypomnienie (wersja zapoznawcza).
- Skonfiguruj nazwę i opis narzędzia, a następnie wybierz pozycję Dodaj.
- Wybierz Zapisz, aby zapisać zestaw narzędzi.
Na stronie szczegółów przybornika jest wyświetlany punkt końcowy MCP. Skopiuj adres punktu końcowego, aby połączyć się ze swoim hostowanym agentem.
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
Użyj zakresu tokenu https://ai.azure.com/.default podczas pobierania tokenu Bearer.
Odpowiedź zawiera element mcp_endpoint. Połącz hostowanego agenta z tym punktem końcowym.
Utwórz plik manifestu zestawu narzędzi:
# 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.
Utwórz zestaw narzędzi:
azd ai toolbox create reminder-toolbox --from-file reminder-toolbox.yaml
Polecenie wyświetla punkt końcowy MCP zestawu narzędzi. Połącz hostowanego agenta z tym punktem końcowym.
Konfigurowanie hostowanego agenta
Po utworzeniu zestawu narzędzi skonfiguruj hostowanego agenta tak, aby z niego korzystał. W manifeście agenta dodaj punkt końcowy zestawu narzędzi pod elementem 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
Przykładowy scenariusz: Sondowanie pod kątem ukończenia zadania
Typowym scenariuszem jest cykliczne odpytywanie zewnętrznego systemu w celu sprawdzenia, czy zadanie zostało ukończone. W tym wzorcu agent:
- Odbiera żądanie użytkownika, aby uruchomić długotrwałe zadanie.
- Wywołuje zewnętrzny interfejs API, aby uruchomić zadanie i odebrać identyfikator zadania.
- Używa narzędzia przypomnienia, aby zaplanować kontynuację w ciągu 15 minut.
- Gdy przypomnienie się uruchomi, agent sprawdza stan zadania.
- Jeśli zadanie jest nadal uruchomione, agent planuje kolejne przypomnienie.
- Po zakończeniu zadania agent powiadamia użytkownika.
Aby włączyć to zachowanie, dołącz instrukcje w manifeście agenta:
# 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
Model decyduje, kiedy i jak używać narzędzia przypomnienia na podstawie tych instrukcji. Nie musisz pisać kodu, aby obsłużyć wywołanie przypomnienia.
Limitations
- Tylko hostowani agenci. Narzędzie przypomnienia jest dostępne tylko dla hostowanych agentów. Nie można tego używać z agentami promptów.
- Ta sama rozmowa. Przypomnienia ponownie wywołują agenta w tej samej konwersacji. Nie rozpoczynają nowych konwersacji.
- Minimalne opóźnienie. Minimalne opóźnienie wynosi 1 minutę.
- Maksymalne opóźnienie. Maksymalne opóźnienie wynosi 43 200 minut (30 dni).