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.
Agent Framework mendukung berbagai jenis alat yang memperluas kemampuan agen. Alat memungkinkan agen berinteraksi dengan sistem eksternal, menjalankan kode, mencari data, dan banyak lagi.
Jenis Alat
| Jenis Alat | Deskripsi |
|---|---|
| Alat Fungsi | Kode kustom yang dapat dipanggil agen selama percakapan |
| Penerjemah Kode | Menjalankan kode di lingkungan terkotakpasir |
| Pencarian File | Mencari melalui file yang diunggah |
| Pencarian Web | Cari informasi di web |
| Alat MCP yang Dihosting | Server MCP yang dipanggil oleh runtime penyedia |
| Alat MCP Lokal | Server MCP yang berjalan secara lokal atau pada host kustom |
| Kotak Alat Foundry | Bernama, bundel versi konfigurasi alat yang dihosting yang dikelola dalam proyek Foundry |
| Jenis Alat | Deskripsi |
|---|---|
| Alat Fungsi | Kode kustom yang dapat dipanggil agen selama percakapan |
| Penerjemah Kode | Menjalankan kode di lingkungan terkotakpasir |
| Pencarian File | Mencari melalui file yang diunggah |
| Pencarian Web | Cari informasi di web |
| Alat MCP yang Dihosting | Server MCP yang dipanggil oleh runtime penyedia |
| Alat MCP Lokal | Server MCP yang berjalan secara lokal atau pada host kustom |
| Kotak Alat Foundry | Bernama, bundel versi konfigurasi alat yang dihosting yang dikelola dalam proyek Foundry |
| Pembuatan Gambar | Pembuatan gambar yang dihosting pada runtime Respons Foundry / OpenAI |
| Shell | Eksekusi shell yang dihosting pada runtime Respons OpenAI — berbeda dari alat runtime shell/file/URL bawaan CLI GitHub Copilot |
| Bing Grounding | Web grounding melalui Grounding Anda sendiri dengan sumber daya Bing Search — eksperimental |
| Pencarian Kustom Bing | Grounding Bing dibatasi untuk daftar domain yang dikumpulkan — pratinjau |
| Pencarian Azure AI | Mengkueri indeks Pencarian Azure AI melalui koneksi Foundry — eksperimental |
| SharePoint | Jawaban dasar dalam konten SharePoint — pratinjau |
| Microsoft Fabric | Mengkueri agen data Fabric — pratinjau |
| Pencarian Memori | Cari penyimpanan memori yang dikelola Foundry — pratinjau |
| Penggunaan Komputer | Mendorong lingkungan desktop atau browser — pratinjau |
| Automasi Browser | Mengendarai browser melalui Azure Playwright — pratinjau |
| Alat Agen ke Agen (A2A) | Memanggil agen A2A jarak jauh sebagai alat dari agen Foundry — pratinjau |
Nota
Alat yang ditandai eksperimental atau pratinjau didokumentasikan di halaman penyedia yang ExperimentalWarning relevan dan memancarkan pertama kalinya mereka digunakan dalam proses.
Persetujuan Alat
Persetujuan Alat adalah fitur kerangka kerja yang memungkinkan Anda memicu setiap pemanggilan alat — alat fungsi, alat yang dihosting, panggilan alat MCP — melalui keputusan human-in-the-loop sebelum model menerima hasilnya. Ini ditangani oleh klien obrolan pemanggilan fungsi kerangka kerja di .NET dan Python, sehingga berfungsi dengan penyedia mana pun yang kliennya memanggil alat secara lokal; itu bukan kemampuan per penyedia. Lihat halaman Persetujuan Alat untuk pola lengkap, termasuk bagaimana persetujuan berinteraksi dengan sesi, streaming, dan middleware.
Matriks Dukungan Penyedia
Penyedia OpenAI dan Azure OpenAI masing-masing menawarkan dua jenis klien - Respons dan Penyelesaian Obrolan - dengan kemampuan alat yang berbeda. Klien Azure OpenAI mencerminkan setara OpenAI mereka. Copilot Studio dan A2A berjalan pada layanan jarak jauh sehingga kemampuannya dikonfigurasi pada agen jarak jauh daripada melalui klien Agent Framework — mereka tidak tercantum dalam matriks.
| Jenis Alat | Responses to | Penyelesaian Obrolan | Pengecoran | Anthropic | Ollama | GitHub Copilot |
|---|---|---|---|---|---|---|
| Alat Fungsi | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Penerjemah Kode | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Pencarian File | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Pencarian Web | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Alat MCP yang Dihosting | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ |
| Alat MCP Lokal | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Nota
Kolom Responses dan Chat Completion berlaku untuk OpenAI dan Azure OpenAI — varian Azure mencerminkan dukungan alat yang sama dengan mitra OpenAI mereka. OpenAI Assistants API yang tidak digunakan lagi; untuk panduan migrasi lihat panduan migrasi Kernel Semantik.
Matriks Dukungan Penyedia
Penyedia OpenAI dan Azure OpenAI masing-masing menawarkan beberapa jenis klien dengan kemampuan alat yang berbeda. Klien Azure OpenAI mencerminkan setara OpenAI mereka. Kolom Foundry berlaku untuk FoundryChatClient — untuk FoundryAgent, alat dikonfigurasi pada definisi agen Foundry (lihat Apa yang berfungsi dan apa yang tidak dengan FoundryAgent).
Copilot Studio dan A2A berjalan pada layanan jarak jauh sehingga kemampuannya dikonfigurasi pada agen jarak jauh daripada melalui klien Agent Framework — mereka tidak tercantum dalam matriks.
| Jenis Alat | Responses to | Penyelesaian Obrolan | Pengecoran | Anthropic | Ollama | Foundry Local | GitHub Copilot |
|---|---|---|---|---|---|---|---|
| Alat Fungsi | ✅ | ✅ | ✅ | ✅ | ⚠️¹ | ⚠️¹ | ✅ |
| Penerjemah Kode | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Pencarian File | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Pencarian Web | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Pembuatan Gambar | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
Hosted Shell (get_shell_tool) |
✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Shell bawaan / sistem file / pengambilan URL | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅² |
| Alat MCP yang Dihosting | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
| Alat MCP Lokal | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Kotak Alat Foundry | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Bing Grounding (eksperimental) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Pencarian Kustom Bing (pratinjau) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Pencarian Azure AI (eksperimental) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| SharePoint (pratinjau) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Microsoft Fabric (pratinjau) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Pencarian Memori (pratinjau) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Penggunaan Komputer (pratinjau) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Automasi Browser (pratinjau) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Alat Agen-ke-Agen (A2A) (pratinjau) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
¹ Tergantung pada panggilan fungsi pendukung model lokal yang dipilih.
² Dibangun ke dalam runtime CLI GitHub Copilot, dijaga oleh penangan izin. Permukaan yang berbeda dari OpenAI get_shell_tool.
Nota
Kolom Responses dan Chat Completion berlaku untuk OpenAI dan Azure OpenAI — varian Azure mencerminkan dukungan alat yang sama dengan mitra OpenAI mereka. Alat MCP lokal berfungsi dengan penyedia apa pun yang mendukung alat fungsi.
Menggunakan Agen sebagai Alat Fungsi
Anda dapat menggunakan agen sebagai alat fungsi untuk agen lain, mengaktifkan komposisi agen dan alur kerja yang lebih canggih. Agen dalam dikonversi ke alat fungsi dan disediakan ke agen luar, yang kemudian dapat memanggilnya sesuai kebutuhan.
.AsAIFunction() Panggil AIAgent untuk mengonversinya ke alat fungsi yang dapat disediakan ke agen lain:
// Create the inner agent with its own tools
AIAgent weatherAgent = new AIProjectClient(
new Uri("<your-foundry-project-endpoint>"),
new DefaultAzureCredential())
.AsAIAgent(
model: "gpt-4o-mini",
instructions: "You answer questions about the weather.",
name: "WeatherAgent",
description: "An agent that answers questions about the weather.",
tools: [AIFunctionFactory.Create(GetWeather)]);
// Create the main agent and provide the inner agent as a function tool
AIAgent agent = new AIProjectClient(
new Uri("<your-foundry-project-endpoint>"),
new DefaultAzureCredential())
.AsAIAgent(
model: "gpt-4o-mini",
instructions: "You are a helpful assistant.",
tools: [weatherAgent.AsAIFunction()]);
// The main agent can now call the weather agent as a tool
Console.WriteLine(await agent.RunAsync("What is the weather like in Amsterdam?"));
Peringatan
DefaultAzureCredential nyaman untuk pengembangan tetapi membutuhkan pertimbangan yang cermat dalam produksi. Dalam produksi, pertimbangkan untuk menggunakan kredensial tertentu (misalnya, ManagedIdentityCredential) untuk menghindari masalah latensi, pemeriksaan kredensial yang tidak diinginkan, dan potensi risiko keamanan dari mekanisme fallback.
Panggil .as_tool() agen untuk mengonversinya ke alat fungsi yang dapat disediakan ke agen lain:
import os
from agent_framework.openai import OpenAIChatCompletionClient
from azure.identity import AzureCliCredential
# Create the inner agent with its own tools
weather_agent = OpenAIChatCompletionClient(
model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
credential=AzureCliCredential(),
).as_agent(
name="WeatherAgent",
description="An agent that answers questions about the weather.",
instructions="You answer questions about the weather.",
tools=get_weather
)
# Create the main agent and provide the inner agent as a function tool
main_agent = OpenAIChatCompletionClient(
model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
credential=AzureCliCredential(),
).as_agent(
instructions="You are a helpful assistant.",
tools=weather_agent.as_tool()
)
# The main agent can now call the weather agent as a tool
result = await main_agent.run("What is the weather like in Amsterdam?")
print(result.text)
Anda juga dapat menyesuaikan nama alat, deskripsi, dan nama argumen:
weather_tool = weather_agent.as_tool(
name="WeatherLookup",
description="Look up weather information for any location",
arg_name="query",
arg_description="The weather query or location"
)