Agentutveckling med Azure Developer CLI

Viktigt

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.

Med Azure Developer CLI (azd) och dess azd ai agent tillägg får du ett enda kommandoradsarbetsflöde för att gå från idé till en produktionsklar värdbaserad agent på Microsoft Foundry. Den här artikeln beskriver utvecklarresan, de filer som definierar en agent och de grundläggande begrepp som du stöter på längs vägen.

Den här artikeln är avsedd för utvecklare som föredrar ett terminal-första, skriptbart arbetsflöde framför Foundry-portalen eller språk-SDK:er.

Utvecklarresan

Arbetsflödet azd ai följer samma livscykel oavsett om du skapar en liten prototyp eller en produktionsagent. Du sätter upp ett projekt en gång och kombinerar sedan kommandon efter behov när projektet växer.

Scenen Vad du gör Var du kan lära dig mer
Installera Installera azd och Foundry-tilläggen. Konfigurera din utvecklarmiljö
Stomme Initiera ett projekt från en mall eller din befintliga kod. Snabbstart: Distribuera en värdbaserad agent
Definiera Konfigurera agenten, modelldistributionsberoenden, protokoll, verktyg och miljö i azure.yaml. Skapa azure.yaml för värdbaserade agenter
Develop Skriv agentlogik, lägg till verktyg och testa lokalt. Översikt över verktyg
Deploy Etablera infrastruktur och distribuera till Foundry. Distribuera en värdbaserad agent
Operate Övervaka loggar, hantera versioner och automatisera körningar. Hantera värdbaserade agenter
Evaluate Mät agentkvaliteten och förbättra prompten. Köra agentutvärderingar med azd CLI

Agenttyper

Tillägget azd ai agent fokuserar på värdbaserade agenter.

Type Description När det bör användas
Värdbaserad agent Ett containerbaserat program som du skapar i kod, paketeras som en Docker-avbildning och distribueras till Foundry. Du behöver anpassad logik, ramverksintegrering eller fullständig kontroll över beteendet.
Snabb agent En agent har definierats helt och hållet genom instruktioner och verktygskonfigurationer, utan anpassad kod. Du vill ha en snabb, konfigurationsdriven agent utan att skriva programkod.

Med värdbaserade agenter får du fullständig kontroll över körnings-, ramverks- och verktygsintegrering, medan Foundry hanterar infrastruktur, skalning och sessionshantering.

Konfigurationsfiler

Ett värdbaserat agentprojekt använder en azure.yaml fil i projektroten för att deklarera både agenten och dess etablerings- och distributionsmodell. Filen använder en split-service-modell, där varje namngiven tjänst har ett host värde som azure.ai.project, azure.ai.agent, azure.ai.connection, azure.ai.toolbox, azure.ai.skilleller azure.ai.routine.

File Purpose Vem underhåller det
azure.yaml Deklarerar Foundry-projektet, modelldistributioner, värdbaserad agenttjänst, beroenden, protokoll, verktyg, miljövariabler, containerresurser och distributionsinställningar. Agentidentitet, modell, protokoll, verktyg och miljövärden finns i tjänsten azure.ai.agent . Initieringen genererar det. Du anpassar den efter behov.

Tjänsten azure.ai.agent definierar din värdagent direkt i definitionen och använder uses: för att hänvisa till andra tjänster, till exempel projektet, anslutningar, verktygslådor, färdigheter och rutiner. Det finns ingen fristående agent.yaml fil eller agent.manifest.yaml fil i den aktuella projektmodellen hosted-agent azd .

Variabel ersättning

Använd ${VAR_NAME} i azure.yaml för värden som skiljer sig åt efter azd miljö. Platshållaren ersätts med värdet från .azure/<env>/.env vid driftsättning eller körning, så samma azure.yaml fungerar i flera miljöer, till exempel utveckling, test och produktion.

Där CLI körs

Kommandona azd ai fungerar både i och utanför en azd projektkatalog:

  • I ett azd projekt löser kommandon slutpunkten för Foundry-projektet från den aktiva azd miljön.
  • Utanför ett azd-projekt anger du den aktiva kontexten en gång med azd ai project set <endpoint>, eller anger --project-endpoint i ett enskilt resurskommando (connection, toolbox, skill eller routine). Som reserv azd ai läser FOUNDRY_PROJECT_ENDPOINT miljövariabeln.
  • En projektintern miljö har alltid företräde framför den globala kontexten, så när du byter katalog till ett projekt styrs CLI:t om till projektets ändpunkt.

Protokoll

Ett protokoll definierar HTTP-kontraktet mellan Foundry och din agentcontainer. Din agent lyssnar på port 8088 och hanterar en hälsoavsökning, oavsett protokoll.

Protokoll API-stil När det bör användas
responses OpenAI-svars-API (POST /responses) Standardvalet, som är kompatibelt med OpenAI API-ekosystemet.
invocations Anpassat JSON-kontrakt (POST /invocations) När du behöver full kontroll över innehållet i begäranden och svar.

Fullständig specifikation finns i Körtidskontrakt för värdbaserad agent.

Sessioner och konversationer

Begrepp Description
Session En isolerad körningsmiljö för en enda agentinteraktion. Varje session körs i sin egen sandbox-miljö med dedikerade resurser.
Konversation En sekvens med meddelanden i en session. Foundry hanterar konversationshistoriken och kan hydrera den över begäranden.

Sessioner identifieras av en session_id. När du kör azd ai agent invokeåteranvänder Foundry sessionen från ditt senaste anrop som standard. Använd --new-session för att börja om på nytt eller --session-id <id> för att rikta in dig på en specifik session.

Resurser i ett Foundry-projekt

Ett Foundry-projekt innehåller fler än agenter. Den innehåller även delade resurser som agenter hänvisar till vid körning. CLI hanterar var och en via en dedikerad kommandogrupp.

Resource Vad det är Hanteras med
Connection Länkar ett Foundry-projekt till en extern resurs, till exempel en MCP-server, Azure AI-sökning eller jordning med Bing. azd ai connection Kommandon
Verktygslådan En namngiven verktygssamling som agenter använder under körning. azd ai toolbox Kommandon
Skicklighet En återanvändbar beteendeguide som delas mellan agenter i projektet. azd ai skill Kommandon
Rutin En utlösare plus en åtgärd som anropar en agent. azd ai routine Kommandon

Dessa resurser delas mellan utvecklare och agenter i samma projekt. Varje kommandogrupp tillhandahåller standardverben create, update, delete, show och list.

Utvärdera och förbättra en agent

När en agent har körts hjälper två relaterade arbetsflöden dig att mäta och förbättra dess kvalitet:

  • Utvärderingen kör din agent mot en datauppsättning, poängsätter svaren med en eller flera utvärderare och rapporterar en aggregerad kvalitetssignal. Du hanterar det med azd ai agent eval.
  • Optimering omformulerar iterativt agentens prompt för att förbättra en utvärderingssignal. Den använder en utvärdering som målfunktion och skapar en kandidatprompt som du granskar och godkänner. Du hanterar det med azd ai agent optimize.

Mer information finns i Kör agentutvärderingar med azd CLI och Optimera agentprompter.

Distributionslivscykel

Den fullständiga utvecklarloopen komprimeras till en kort sekvens med kommandon. Skapa projektstrukturen en gång och använd sedan direktkommandona när projektet växer.

# Scaffold a project from a template or your existing code
azd ai agent init

# Run locally and invoke
azd ai agent run
azd ai agent invoke --local "Hello, world!"

# Provision infrastructure and deploy the agent
azd up

# Extend the project with shared resources at any time
azd ai connection create my-search --kind cognitive-search --target https://... --auth-type api-key --key "..."
azd ai routine create daily-digest --trigger recurring --cron "0 7 * * *" --agent-name my-agent

# Evaluate quality
azd ai agent eval generate
azd ai agent eval run

# Tear down all Azure resources
azd down