Sprawienie, żeby agent działał lokalnie, to zabawna część. Trudna część to wszystko, co następuje potem: wdrożenie go bez utraty zdrowego rozsądku, zarządzanie sesjami, konfiguracja tożsamości, podłączenie obserwowalności. Zwykle oznacza to dużo niestandardowej infrastruktury.
Foundry Hosted Agents właśnie usunął większość tej infrastruktury dla użytkowników Microsoft Agent Framework (MAF).
Co Naprawdę Robi Foundry Hosted Agents
Gdy wdrażasz agenta MAF do Foundry Hosted Agents, platforma obsługuje zaskakująco długą listę rzeczy, które w innym przypadku musiałbyś zbudować samodzielnie:
- Skalowanie do zera — agent nie kosztuje nic, gdy jest bezczynny i automatycznie wraca do działania
- Izolowane sandbox’y VM na sesję — każda sesja użytkownika dostaje własny sandbox z trwałością systemu plików, która przeżywa zdarzenia skalowania w dół
- Wbudowane Entra ID — każdy agent dostaje własną tożsamość, aby wywoływać modele Foundry, Toolbox i usługi Azure bez sekretów wbudowanych w obraz
- Wersjonowane wdrożenia — każde wdrożenie to niezmienny snapshot z obsługą blue/green i canary rollout
- Obserwowalność bez konfiguracji —
APPLICATIONINSIGHTS_CONNECTION_STRINGjest wstrzykiwane w czasie wykonywania, aby ślady OpenTelemetry MAF automatycznie trafiały do App Insights
Ten ostatni jest naprawdę wygodny. Bez dodatkowego okablowania, bez dodatkowej konfiguracji. Ślady po prostu się pojawiają.
Różnica w Kodzie Jest Minimalna
To właśnie najbardziej cenię w tej integracji. Nie przepisujesz swojego agenta. Wystarczy go opakować:
W .NET:
using Microsoft.Agents.AI.Foundry.Hosting;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddFoundryResponses(agent);
var app = builder.Build();
app.MapFoundryResponses();
app.Run();
W Python:
server = ResponsesHostServer(agent)
server.run()
To wszystko. Ta sama logika, którą testowałeś lokalnie, jest tym, co działa w produkcji. Platforma opakuje ją w infrastrukturę zarządzania sesjami, tożsamością i skalowaniem.
Dwa Protokoły, Jeden Agent
Hosted Agents obsługują dwa style endpointów:
- Responses (
/responses) — kompatybilny z OpenAI, zarządza historią konwersacji i streamingiem. Dobry domyślny wybór dla agentów w kształcie czatu. - Invocations (
/invocations) — definiujesz schemat żądania/odpowiedzi. Dobry do przepływów pracy bez konwersacji.
Jeśli budujesz coś, co wygląda jak rozmowa, zacznij od Responses. Jeśli budujesz agenta w kształcie API, który przyjmuje strukturyzowane dane wejściowe i zwraca strukturyzowane dane wyjściowe, Invocations daje ci elastyczność.
Przepływ Wdrożenia z azd
Gdy uruchomisz azd up z agentem MAF:
- Opcjonalnie tworzy projekt Foundry i wdraża model
- Pakuje twój kod i przesuwa obraz do Azure Container Registry
- Aprowizuje zasoby obliczeniowe z obrazu ACR
- Przypisuje agentowi dedykowane Entra ID
- Udostępnia stabilny endpoint (
https://{project_endpoint}/agents/{agent_name}) - Obsługuje wszystko inne od tego momentu
Sesje trwają do 30 dni. Bezczynne zasoby obliczeniowe są deprowizowane po 15 minutach i transparentnie przywracane przy następnym żądaniu. Z perspektywy agenta nic się nie zmieniło.
Podsumowanie
Odległość między “działa lokalnie” a “działa w produkcji” była historycznie długa i bolesna dla agentów AI. Foundry Hosted Agents + MAF znacznie zmniejsza tę lukę. Jeśli masz już lokalnego agenta zbudowanego z Agent Framework, warto spróbować już dziś.
Zespół mówi, że GA wkrótce nadejdzie — to jest obecnie w podglądzie. Sprawdź dokumentację integracji MAF Hosted Agent i przykłady .NET, aby zacząć.
Oryginalny artykuł: From Local to Production: Deploy Your Microsoft Agent Framework Agent with Foundry Hosted Agents
