Nie każde wywołanie narzędzia kończy się w sekundę. Analiza dużego zbioru, generowanie raportu, przetworzenie wsadu — to zadania na minuty. Tasks są odpowiedzią MCP na ten przypadek.
Czym są
Tasks to rozszerzenie specyfikacji pozwalające serwerowi prowadzić długotrwałą pracę w tle, raportować postęp i dostarczyć wynik asynchronicznie, zamiast blokować wywołanie do skutku.
Dlaczego to zmienia architekturę
Bez zadań asynchronicznych każde długie wywołanie wymagało utrzymania otwartego połączenia przez cały czas trwania pracy. Przy większej liczbie równoczesnych sesji stawało się to wąskim gardłem, a każde zerwanie połączenia oznaczało utratę pracy.
Tasks współgrają z bezstanowym rdzeniem specyfikacji: skoro stan podróżuje w treści komunikatów, przerwane połączenie nie unieważnia trwającego zadania.
Konsekwencje dla pętli agenta
Pojawia się nowy stan, którego pętla musi się nauczyć obsługiwać: wywołanie przyjęte, ale jeszcze niezakończone. Warunek zakończenia pętli nie może traktować takiego wyniku jak odpowiedzi, a limit czasu musi rozróżniać czekanie na zadanie od zawieszenia.
To także pierwszy przypadek, w którym pojedynczy krok agenta może trwać dłużej niż cała reszta przebiegu — co ma znaczenie przy projektowaniu tego, co widzi użytkownik.
Status
Tasks weszły do specyfikacji jako jedno z rozszerzeń w ramach sformalizowanego frameworku rozszerzeń, obok MCP Apps i Enterprise Managed Authorization.