Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Important
Položky označené jako náhled v tomto článku jsou aktuálně ve verzi Preview. Tato verze Preview se poskytuje bez smlouvy o úrovni služeb a Microsoft ji nedoporučuje pro produkční úlohy. Některé funkce nemusí být podporované nebo můžou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.
Poznámka:
Manifesty agentů (agent.manifest.yaml) a samostatné definice agenta (agent.yaml) jsou zastaralé. Od rozšíření Foundry azd (azure.ai.agents 1.0.0-beta.1) se všechny hostované konfigurace agenta nacházejí v jediném azure.yaml. Informace o hostovaných agentech a azure.yaml najdete v tématuVytváření agentů azure.yaml pro hostované agenty.
Specifikace AgentSchema je otevřený standard pro definování agentů AI. Při sestavování hostovaných agentů primárně pracujete se třemi typy schémat nejvyšší úrovně: AgentDefinition, AgentManifest a ContainerAgent. Tento starší model schématu pro AgentManifest, AgentDefinitionagent.manifest.yaml, a agent.yaml je zachován pro odkaz a je nahrazen azure.yaml. Schéma není specifické pro jeden nástroj. Rozhraní příkazového řádku pro vývojáře Azure (azd) a Microsoft Foundry Toolkit pro Visual Studio Code ho používají.
Schéma se zobrazí ve dvou kontextech souborů s odlišnými zásadami vytváření názvů:
-
agent.manifest.yamlje AgentManifest, parametrizovaná šablona používaná staršími ukázkami. Aktuálníazd ai agent init -tinicializace vyžadujeazure.yamldokument projektu a odmítne obálky AgentManifest. -
agent.yamlje AgentDefinition, konkrétní konfigurace, která starší inicializace napsala do projektu nasrc/<agent>/agent.yamladrese .
Oba soubory popisují , co je agent: jeho model, nástroje, protokoly, prostředí a prostředky. Liší se od azure.yamltoho, jak zřizovat a nasazovat Azure prostředky.
azure.yaml Referenční informace najdete v referenčních informacích k azure.yaml pro hostované agenty.
Typy schémat
AgentDefinition
AgentDefinition je konkrétní specifikace agenta, který je připravený ke spuštění. Popisuje jednu instanci agenta s konkrétní konfigurací a žádné {{ parameter }} zástupné symboly šablony.
Každý AgentDefinition má kind pole, které určuje typ agenta.
| Druh | Description |
|---|---|
prompt |
Agent založený na příkazovém řádku nakonfigurovaný pouze podle pokynů. |
hosted |
Kontejnerizovaný agent nasazený jako image kontejneru |
workflow |
Agent orchestrace, který koordinuje ostatní agenty. |
Vygenerovaná definice AgentDefinition může stále obsahovat ${VAR_NAME} odkazy. Jedná se o azd zástupné symboly proměnných prostředí, nikoli součást specifikace AgentSchema. Umožňují, aby jeden definiční soubor fungoval v různých azd prostředích tím, že v době nasazení přeloží hodnoty ze souboru každého prostředí .azure/<env>/.env .
AgentManifest
AgentManifest je parametrizovaná šablona pro dynamické vytváření agentů. Zabalí agentaDefinition jako jeho template pole a přidá:
-
parameters: hodnoty, které se při vytváření zobrazí nebo vloží, pomocí{{ parameter }}syntaxe nahrazení. -
resources: Externí závislosti, jako jsou nasazení modelu, sady nástrojů nebo připojení.
AgentManifest použijte, pokud potřebujete opakovaně použitelné šablony nebo chcete nasadit podobné agenty s různými konfiguracemi. Při spuštění azd ai agent initobvykle ukazujete na manifest, a to buď výběrem šablony nebo zadáním adresy URL. Inicializační proces vyzve k zadání hodnot parametrů a vygeneruje AgentDefinition.
ContainerAgent
ContainerAgent je AgentDefinition s kind: hosted. Rozšiřuje základní definici o pole specifická pro kontejnery a je template uvnitř agentaManifest při sestavování hostovaného agenta.
Kdy použít manifest nebo definici
| Použití manifestu, když | Použití definice v případech, kdy |
|---|---|
| Publikujete opakovaně použitelnou šablonu agenta, aby ostatní mohli vytvořit instanci. | Nasadíte konkrétního jednoúčelového agenta. |
| Chcete, aby uživatelé na inicializaci nakonfigurovali model, nástroje nebo připojení. | Všechny hodnoty konfigurace jsou známé a opravené. |
| Vytvoříte ukázkovou nebo úvodní šablonu. | Už jste spustili azd ai agent init a máte vygenerovanou definici. |
Většina vývojářů začne od manifestu až do azd ai agent init poté pracovat s vygenerovanou definicí. Autoři šablon a ukázkové vydavatelé jsou primární tvůrci manifestů.
Pole nejvyšší úrovně
Následující odkaz dokumentuje pole manifestu, což jsou nadmnožina polí definice.
| Field | Typ | Povinné | Description |
|---|---|---|---|
name |
řetězec | Ano | Název manifestu agenta |
description |
řetězec | Ne | Popis agenta |
metadata |
objekt | Ne | Další metadata, například tags. |
template |
ContainerAgent | Ano | Šablona definice agenta. |
parameters |
objekt | Ne | Konfigurovatelné parametry se během inicializaci zobrazily. |
resources |
pole | Ano | Prostředky vyžadované agentem. |
template (ContainerAgent)
Pole template definuje hostovaného agenta kontejneru.
| Field | Typ | Povinné | Description |
|---|---|---|---|
name |
řetězec | Ano | Jméno agenta. |
kind |
řetězec | Ano | Musí se jednat hosted o hostované agenty. |
protocols |
pole | Ano | Podpora protokolu. |
environment_variables |
pole | Ne | Proměnné prostředí pro kontejner |
resources |
objekt | Ne | Prostředky procesoru a paměti kontejneru. |
image |
řetězec | Ne | Předem připravená cesta k imagi kontejneru |
dockerfilePath |
řetězec | Ne | Cesta k souboru Dockerfile. |
protokoly
protocols:
- protocol: responses # OpenAI Responses API
version: 2.0.0
| Protocol | Description |
|---|---|
responses |
Rozhraní API odpovědí OpenAI Zahrnuje správu historie konverzací. |
invocations |
Vlastní datový protokol. Žádná integrovaná správa konverzací. |
Úplnou specifikaci protokolu najdete v tématu Kontrakt modulu runtime hostovaného agenta.
environment_variables
environment_variables:
- name: FOUNDRY_MODEL_NAME
value: ${FOUNDRY_MODEL_NAME}
Syntaxe ${ } odkazuje na azd proměnné prostředí z .azure/<env>/.env.
Poznámka:
Neprohlašujte FOUNDRY_PROJECT_ENDPOINT v environment_variablessouboru . Platforma ji automaticky vloží do hostovaných kontejnerů a azd ai agent run nastaví ji pro místní vývoj. Deklarace je zde redundantní a riskuje stínování hodnoty platformy.
parameters
azd ai agent initBěhem . Používá se secret: true pro citlivé hodnoty.
parameters:
github_pat:
secret: true
description: GitHub Personal Access Token
resources
Prostředky definují, co agent potřebuje. Následující obrazce popisují, co manifesty deklarují a co azd ai agent init zapisuje do projektu. Po inicializaci spravujte stejné prostředky v rámci projektu za běhu pomocí přímých příkazů rozhraní příkazového řádku: azd ai connection, azd ai toolbox, azd ai skilla azd ai routine.
Poznámka:
Schéma neobsahuje pole dovedností. Dovednosti azd ai agent init, azd ai agent runa azd up příkazy se automaticky nestahou. Spravujte dovednosti jako prostředky azd ai skill na úrovni projektu a zachovejte je do modulu runtime vašeho agenta sami.
Prostředek modelu
resources:
- kind: model
name: chat
id: gpt-4.1-mini
Prostředek připojení
resources:
- kind: connection
name: MyConnection
target: https://api.example.com
category: remoteTool
credentials:
type: CustomKeys
keys:
Authorization: "Bearer {{ my_api_key }}"
Prostředek panelu nástrojů
resources:
- kind: toolbox
name: agent-tools
description: Agent toolbox
tools:
- name: webSearch
type: builtin
capability: web-search
- name: codeInterpreter
type: builtin
capability: code-interpreter
- name: myMcp
type: connection
connection: "{{ MyConnection }}"
Verze sady nástrojů má tři druhy položek: nezpracované tools položky (například předdefinované funkce, jako web-search je nebo code-interpreter), connections (projektová připojení, jako je server MCP vzdáleného nástroje nebo index vyhledávání), a skills (odkazy na stávající dovednosti projektu). Slot tools je deklarován před manifestem. Přidání propojení a odkazů na dovednosti přírůstkově pomocí azd ai toolbox connection add a azd ai toolbox skill add.
Kompletní příklad
name: my-web-search-agent
description: An agent with web search and MCP tools
metadata:
tags:
- AI Agent Hosting
template:
name: my-web-search-agent
kind: hosted
protocols:
- protocol: responses
version: 2.0.0
environment_variables:
- name: FOUNDRY_MODEL_NAME
value: ${FOUNDRY_MODEL_NAME}
- name: TOOLBOX_ENDPOINT
value: ${TOOLBOX_ENDPOINT}
parameters:
github_pat:
secret: true
description: GitHub PAT for MCP connection
resources:
- kind: model
name: chat
id: gpt-4.1-mini
- kind: connection
name: GithubMcpConnection
target: https://api.githubcopilot.com/mcp
category: remoteTool
credentials:
type: CustomKeys
keys:
Authorization: "Bearer {{ github_pat }}"
- kind: toolbox
name: agent-tools
description: Web search and GitHub MCP tools
tools:
- name: webSearch
type: builtin
capability: web-search
- name: github
type: connection
connection: "{{ GithubMcpConnection }}"
Nahrazení proměnných
Nahrazení probíhá ve dvou vrstvách: parametry manifestu se přeloží v inicializační době a proměnné prostředí se přeloží za běhu nebo v době nasazení. Jeden definiční soubor pak může fungovat ve všech vašich azd prostředích.
| Syntax | Vyřešeno při | Podle čeho |
|---|---|---|
{{ param_name }} |
azd ai agent init |
Hodnoty parametrů manifestu byly vyzvány od uživatele. |
${VAR_NAME} |
azd deploy nebo azd ai agent run |
azd proměnné prostředí z .azure/<env>/.env. |