Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Important
Item yang ditandai pratinjau dalam artikel ini saat ini dalam pratinjau. Pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan Microsoft tidak merekomendasikannya untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk informasi lebih lanjut, lihat Supplemental Terms of Use for Microsoft Azure Previews.
Note
Manifes agen (agent.manifest.yaml) dan definisi agen mandiri (agent.yaml) tidak digunakan lagi. Pada ekstensi Foundry azd (azure.ai.agents 1.0.0-beta.1), semua konfigurasi agen yang dihosting berada dalam satu azure.yaml. Lihat Penulis azure.yaml untuk agen yang dihosting dan referensi azure.yaml untuk agen yang dihosting.
Spesifikasi AgentSchema adalah standar terbuka untuk menentukan agen AI. Saat Anda membangun agen yang dihosting, Anda terutama bekerja dengan tiga jenis skema tingkat atas: AgentDefinition, AgentManifest, dan ContainerAgent. Model skema warisan ini untuk AgentManifest, AgentDefinition, agent.manifest.yaml, dan agent.yaml dipertahankan untuk referensi dan digantikan oleh azure.yaml. Skema tidak spesifik untuk satu alat. Azure Developer CLI (azd) dan Microsoft Foundry Toolkit untuk Visual Studio Code keduanya menggunakannya.
Skema muncul dalam dua konteks file dengan konvensi penamaan yang berbeda:
-
agent.manifest.yamladalah AgentManifest, templat berparameter yang digunakan oleh sampel warisan. Inisialisasiazure.yamlsaat iniazd ai agent init -tmemerlukan dokumen proyek dan menolak pembungkus AgentManifest. -
agent.yamladalah AgentDefinition, konfigurasi konkret yang ditulis inisialisasi warisan ke dalam proyek Anda disrc/<agent>/agent.yaml.
Kedua file menjelaskan apa itu agen: model, alat, protokol, lingkungan, dan sumber dayanya. Ini berbeda dari azure.yaml, yang menjelaskan cara memprovisikan dan menyebarkan sumber daya Azure.
azure.yaml Untuk referensi, lihat referensi azure.yaml untuk agen yang dihosting.
Jenis skema
AgentDefinition
AgentDefinition adalah spesifikasi konkret dari agen yang siap dijalankan. Ini menjelaskan satu instans agen dengan konfigurasi tertentu dan tanpa {{ parameter }} tempat penampung templat.
Setiap AgentDefinition memiliki kind bidang yang menentukan jenis agen.
| Kind | Deskripsi |
|---|---|
prompt |
Agen berbasis perintah dikonfigurasi hanya melalui instruksi. |
hosted |
Agen kontainer yang disebarkan sebagai gambar kontainer. |
workflow |
Agen orkestrasi yang mengoordinasikan agen lain. |
AgentDefinition yang dihasilkan masih dapat berisi ${VAR_NAME} referensi. Ini adalah azd tempat penampung variabel lingkungan, bukan bagian dari spesifikasi AgentSchema. Mereka memungkinkan file definisi tunggal bekerja di beberapa azd lingkungan dengan menyelesaikan nilai dari file setiap lingkungan .azure/<env>/.env pada waktu penyebaran.
AgentManifest
AgentManifest adalah templat berparameter untuk membuat agen secara dinamis. Ini membungkus AgentDefinition sebagai bidangnya template dan menambahkan:
-
parameters: nilai yang diminta atau disuntikkan pada waktu pembuatan, menggunakan{{ parameter }}sintaks substitusi. -
resources: dependensi eksternal seperti penyebaran model, kotak alat, atau koneksi.
Gunakan AgentManifest saat Anda memerlukan templat yang dapat digunakan kembali atau ingin menyebarkan agen serupa dengan konfigurasi yang berbeda. Saat menjalankan azd ai agent init, Anda biasanya mengarahkan ke manifes, baik dengan memilih templat atau menyediakan URL. Proses init meminta nilai parameter dan menghasilkan AgentDefinition.
ContainerAgent
ContainerAgent adalah AgentDefinition dengan kind: hosted. Ini memperluas definisi dasar dengan bidang khusus kontainer dan merupakan bagian template dalam AgentManifest saat Anda membangun agen yang dihosting.
Kapan menggunakan manifes atau definisi
| Gunakan manifes saat | Menggunakan definisi saat |
|---|---|
| Anda menerbitkan templat agen yang dapat digunakan kembali bagi orang lain untuk membuat instans. | Anda menyebarkan agen tujuan tunggal tertentu. |
| Anda ingin pengguna mengonfigurasi model, alat, atau koneksi pada waktu init. | Semua nilai konfigurasi diketahui dan diperbaiki. |
| Anda membuat sampel atau templat pemula. | Anda sudah menjalankan azd ai agent init dan memiliki definisi yang dihasilkan. |
Sebagian besar pengembang mulai dari manifes melalui azd ai agent init lalu bekerja dengan definisi yang dihasilkan. Penulis templat dan penerbit sampel adalah pembuat utama manifes.
Bidang tingkat atas
Referensi di bawah ini men dokumen bidang manifes, yang merupakan superset dari bidang definisi.
| Bidang | Tipe | Required | Deskripsi |
|---|---|---|---|
name |
string | Yes | Nama manifes agen. |
description |
string | No | Deskripsi agen. |
metadata |
objek | No | Metadata tambahan, seperti tags. |
template |
ContainerAgent | Yes | Templat definisi agen. |
parameters |
objek | No | Parameter yang dapat dikonfigurasi diminta selama init. |
resources |
array | Yes | Sumber daya yang diperlukan oleh agen. |
templat (ContainerAgent)
Bidang template menentukan agen kontainer yang dihosting.
| Bidang | Tipe | Required | Deskripsi |
|---|---|---|---|
name |
string | Yes | Nama agen. |
kind |
string | Yes | Harus untuk agen yang dihosting hosted . |
protocols |
array | Yes | Dukungan protokol. |
environment_variables |
array | No | Variabel lingkungan untuk kontainer. |
resources |
objek | No | CPU kontainer dan sumber daya memori. |
image |
string | No | Jalur gambar kontainer bawaan. |
dockerfilePath |
string | No | Jalur ke Dockerfile. |
Protokol
protocols:
- protocol: responses # OpenAI Responses API
version: 2.0.0
| Protocol | Deskripsi |
|---|---|
responses |
OpenAI Responses API. Termasuk manajemen riwayat percakapan. |
invocations |
Protokol payload kustom. Tidak ada manajemen percakapan bawaan. |
Untuk spesifikasi protokol lengkap, lihat Kontrak runtime agen yang dihosting.
environment_variables
environment_variables:
- name: FOUNDRY_MODEL_NAME
value: ${FOUNDRY_MODEL_NAME}
Sintaks mereferensikan ${ }azd variabel lingkungan dari .azure/<env>/.env.
Note
Jangan mendeklarasikan FOUNDRY_PROJECT_ENDPOINT dalam environment_variables. Platform ini menyuntikkannya secara otomatis ke dalam kontainer yang dihosting, dan azd ai agent run mengaturnya untuk pengembangan lokal. Mendeklarasikannya di sini berlebihan dan berisiko membayangi nilai platform.
parameters
Parameter diminta selama azd ai agent init. Gunakan secret: true untuk nilai sensitif.
parameters:
github_pat:
secret: true
description: GitHub Personal Access Token
resources
Sumber daya menentukan apa yang dibutuhkan agen. Bentuk di bawah ini menjelaskan manifes apa yang dinyatakan dan apa yang azd ai agent init ditulis ke dalam proyek Anda. Setelah init, kelola sumber daya cakupan proyek yang sama saat runtime dengan perintah CLI langsung: azd ai connection, , azd ai toolboxazd ai skill, dan azd ai routine.
Note
Skema tidak menyertakan bidang keterampilan.
azd ai agent initPerintah , azd ai agent run, dan azd up tidak mengunduh keterampilan secara otomatis. Kelola keterampilan sebagai sumber daya tingkat proyek dengan azd ai skill dan kawat sendiri ke runtime agen Anda.
Sumber daya model
resources:
- kind: model
name: chat
id: gpt-4.1-mini
Sumber daya koneksi
resources:
- kind: connection
name: MyConnection
target: https://api.example.com
category: remoteTool
credentials:
type: CustomKeys
keys:
Authorization: "Bearer {{ my_api_key }}"
Sumber daya kotak alat
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 }}"
Versi kotak alat membawa tiga jenis entri: entri mentah tools (kemampuan bawaan seperti web-search atau code-interpreter), connections (koneksi proyek seperti server MCP alat jarak jauh atau indeks pencarian), dan skills (referensi ke keterampilan proyek yang ada). Slot tools dinyatakan di depan dalam manifes. Tambahkan koneksi dan referensi keterampilan secara bertahap dengan azd ai toolbox connection add dan azd ai toolbox skill add.
Contoh lengkap
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 }}"
Substitusi variabel
Penggantian terjadi dalam dua lapisan: parameter manifes diselesaikan pada waktu init, dan variabel lingkungan diselesaikan pada waktu proses atau penyebaran. Satu file definisi kemudian dapat berfungsi di semua lingkungan Anda azd .
| Syntax | Diselesaikan ketika | Oleh apa |
|---|---|---|
{{ param_name }} |
azd ai agent init |
Nilai parameter manifes yang diminta dari pengguna. |
${VAR_NAME} |
azd deploy atau azd ai agent run |
azd variabel lingkungan dari .azure/<env>/.env. |