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.
Artikel ini membahas konsep utama dalam arsitektur Kerangka Kerja Agen, termasuk prinsip dasar, tujuan desain, dan tujuan strategis.
Sasaran
Dikembangkan Agent Framework dengan memperhatikan prioritas utama berikut:
- Kerangka kerja agen Kernel Semantik berfungsi sebagai fondasi inti untuk menerapkan fungsionalitas agen.
- Beberapa agen dari berbagai jenis dapat berkolaborasi dalam satu percakapan, masing-masing berkontribusi pada kemampuan unik mereka, sambil mengintegrasikan input manusia.
- Agen dapat terlibat dalam dan mengelola beberapa percakapan bersamaan secara bersamaan.
Agen
Kelas abstrak Agent berfungsi sebagai abstraksi inti untuk semua jenis agen, menyediakan struktur dasar yang dapat diperluas untuk membuat agen yang lebih khusus. Kelas dasar ini membentuk dasar untuk implementasi agen yang lebih spesifik, yang semuanya memanfaatkan kemampuan Kernel untuk menjalankan fungsi masing-masing. Lihat semua jenis agen yang tersedia di bagian Jenis Agen .
Abstraksi Kernel Agent Semantik yang mendasar dapat ditemukan di sini.
Abstraksi Kernel Agent Semantik yang mendasar dapat ditemukan di sini.
Agen dapat dipanggil langsung untuk melakukan tugas atau diorkestrasi oleh pola yang berbeda. Struktur fleksibel ini memungkinkan agen untuk beradaptasi dengan berbagai skenario percakapan atau berbasis tugas, memberi pengembang alat yang kuat untuk membangun sistem multi-agen yang cerdas.
Jenis Agen dalam Kernel Semantik
Agen Thread
Kelas abstrak AgentThread berfungsi sebagai inti dari abstraksi untuk threads atau kondisi percakapan. Ini menghapus berbagai cara pengelolaan status percakapan untuk agen yang berbeda.
Layanan agen stateful sering menyimpan status percakapan dalam layanan, dan Anda dapat berinteraksi dengannya melalui id. Agen lain mungkin mengharuskan seluruh riwayat obrolan diteruskan ke agen pada setiap pemanggilan, dalam hal ini status percakapan dikelola secara lokal dalam aplikasi.
Agen stateful biasanya hanya bekerja dengan implementasi AgentThread yang cocok, sementara jenis agen lain dapat bekerja dengan lebih dari satu jenis AgentThread. Misalnya, AzureAIAgent memerlukan pencocokan AzureAIAgentThread. Ini karena layanan Agen Azure AI menyimpan percakapan dalam sistem, dan memerlukan panggilan layanan tertentu untuk membuat utas dan memperbaruinya. Jika jenis utas agen yang berbeda digunakan dengan AzureAIAgent, kami segera gagal karena jenis utas yang tidak terduga dan menghasilkan pengecualian untuk memperingatkan pemanggil.
Orkestrasi Agen
Penting
Fitur Agent Orchestration dalam Kerangka Kerja Agen sedang dalam tahap eksperimental. Mereka sedang dalam pengembangan aktif dan dapat berubah secara signifikan sebelum maju ke tahap pratinjau atau tahap kandidat rilis.
Nota
Jika Anda telah menggunakan AgentGroupChat pola orkestrasi, harap dicatat bahwa pola tersebut tidak lagi dipertahankan. Kami merekomendasikan pengembang untuk menggunakan pola baru GroupChatOrchestration . Panduan migrasi disediakan di sini.
Kerangka kerja Agent Orchestration di Kernel Semantik memungkinkan koordinasi beberapa agen untuk menyelesaikan tugas yang kompleks secara kolaboratif. Ini menyediakan struktur fleksibel untuk menentukan bagaimana agen berinteraksi, berbagi informasi, dan mendelegasikan tanggung jawab. Komponen dan konsep inti meliputi:
- Pola Orkestrasi: Pola bawaan seperti Concurrent, Sequential, Handoff, Group Chat, dan Magentic memungkinkan pengembang untuk memilih model kolaborasi yang paling cocok untuk skenario mereka. Setiap pola menentukan cara yang berbeda bagi agen untuk berkomunikasi dan memproses tugas (lihat tabel Pola orkestrasi untuk detailnya).
- Logika Transformasi Data: Transformasi input dan output memungkinkan aliran orkestrasi untuk menyesuaikan data antara agen dan sistem eksternal, mendukung jenis data sederhana dan kompleks.
- Human-in-the-loop: Beberapa pola mendukung human-in-the-loop, memungkinkan agen manusia untuk berpartisipasi dalam proses orkestrasi. Ini sangat berguna untuk skenario di mana penilaian atau keahlian manusia diperlukan.
Arsitektur ini memberdayakan pengembang untuk membangun sistem multi-agen cerdas yang dapat mengatasi masalah dunia nyata melalui kolaborasi, spesialisasi, dan koordinasi dinamis.
Penyelarasan Agen dengan Fitur Kernel Semantik
Agent Framework ini dibangun di atas konsep dan fitur dasar yang telah dikenal oleh banyak pengembang dalam ekosistem Kernel Semantik. Prinsip-prinsip inti ini berfungsi sebagai blok penyusun untuk desain Kerangka Kerja Agen. Dengan memanfaatkan struktur dan kemampuan Kernel Semantik yang akrab, Kerangka Kerja Agen memperluas fungsionalitasnya untuk memungkinkan perilaku agen otonom yang lebih canggih, sambil mempertahankan konsistensi dengan arsitektur Kernel Semantik yang lebih luas. Ini memastikan transisi yang lancar bagi pengembang, memungkinkan mereka menerapkan pengetahuan yang ada untuk membuat agen cerdas dan dapat beradaptasi dalam kerangka kerja.
Plugin dan Panggilan Fungsi
Plugin adalah aspek mendasar dari Kernel Semantik, memungkinkan pengembang untuk mengintegrasikan fungsionalitas kustom dan memperluas kemampuan aplikasi AI. Plugin ini menawarkan cara yang fleksibel untuk menggabungkan fitur khusus atau logika khusus bisnis ke dalam alur kerja AI inti. Selain itu, kemampuan agen dalam kerangka kerja dapat ditingkatkan secara signifikan dengan menggunakan plugins dan memanfaatkan pemanggilan fungsi. Ini memungkinkan agen untuk berinteraksi secara dinamis dengan layanan eksternal atau menjalankan tugas yang kompleks, lebih memperluas cakupan dan fleksibilitas sistem AI dalam berbagai aplikasi.
Pelajari cara mengonfigurasi agen untuk menggunakan plugin di sini.
Pesan Agen
Pengiriman pesan agen, yang mencakup input dan respons, dibangun di atas jenis-jenis konten inti dalam Kernel Semantik, menyediakan struktur yang terpadu untuk komunikasi. Pilihan desain ini menyederhanakan proses transisi dari pola penyelesaian obrolan tradisional ke pola berbasis agen yang lebih canggih dalam pengembangan aplikasi Anda. Dengan memanfaatkan jenis konten Semantic Kernel yang akrab, pengembang dapat dengan mulus mengintegrasikan kemampuan agen ke dalam aplikasi mereka tanpa perlu merombongkan sistem yang ada. Perampingan ini memastikan bahwa saat Anda berevolusi dari AI percakapan dasar menjadi agen yang lebih otonom dan berorientasi tugas, kerangka kerja yang mendasar tetap konsisten, membuat pengembangan lebih cepat dan lebih efisien.
Petunjuk / Saran
Referensi API:
Petunjuk / Saran
Referensi API:
Pembuatan Templat
Peran agen terutama dibentuk oleh instruksi yang diterimanya, yang menentukan perilaku dan tindakannya. Mirip dengan memanggil Kernelperintah, instruksi agen dapat menyertakan parameter yang di-template—baik nilai maupun fungsi—yang diganti secara dinamis selama eksekusi. Ini memungkinkan respons yang fleksibel dan sadar konteks, memungkinkan agen untuk menyesuaikan outputnya berdasarkan input real-time.
Selain itu, agen dapat dikonfigurasi langsung menggunakan Konfigurasi Templat Prompt, yang memberi pengembang cara terstruktur dan dapat digunakan kembali untuk menentukan perilakunya. Pendekatan ini menawarkan alat yang kuat untuk menstandarkan dan menyesuaikan instruksi agen, memastikan konsistensi di berbagai kasus penggunaan sambil tetap mempertahankan kemampuan beradaptasi dinamis.
Pelajari selengkapnya tentang cara membuat agen dengan templat Kernel Semantik di sini.
Spesifikasi Deklaratif
Dokumentasi tentang menggunakan spesifikasi deklaratif akan segera hadir.
Penting
Fitur ini dalam tahap eksperimental. Fitur pada tahap ini sedang dalam pengembangan dan dapat berubah sebelum maju ke tahap pratinjau atau kandidat rilis.
Mendaftarkan Jenis Agen Kustom
Untuk menggunakan agen kustom dengan sistem spesifikasi YAML deklaratif, Anda harus terlebih dahulu mendaftarkan kelas agen Anda dengan registri agen. Ini diperlukan agar AgentRegistry dapat mengenali dan membangun agen Anda saat mengurai bidang type: dalam dokumen spesifikasi YAML.
Untuk mendaftarkan jenis agen kustom, gunakan @register_agent_type dekorator:
from semantic_kernel.agents import register_agent_type, Agent, DeclarativeSpecMixin
@register_agent_type("custom_agent")
class CustomAgent(DeclarativeSpecMixin, Agent):
...
String yang disediakan untuk dekorator (misalnya, "custom_agent") harus cocok dengan jenis: bidang dalam spesifikasi YAML Anda.
Setelah terdaftar, agen kustom Anda dapat dibuat menggunakan pola deklaratif, misalnya melalui AgentRegistry.create_from_yaml(...).
DeclarativeSpecMixin menambahkan dukungan untuk metode seperti from_yaml, from_dict, dan resolve_placeholders, yang memungkinkan agen Anda dibangun dari spesifikasi YAML atau kamus.
@classmethod
async def from_yaml(cls, yaml_str: str, *, kernel=None, plugins=None, prompt_template_config=None, settings=None, extras=None, **kwargs):
# Resolves placeholders and loads YAML, then delegates to from_dict.
...
@classmethod
async def from_dict(cls, data: dict, *, kernel=None, plugins=None, prompt_template_config=None, settings=None, **kwargs):
# Normalizes and passes spec fields to _from_dict.
...
@classmethod
@abstractmethod
async def _from_dict(cls, data: dict, *, kernel, prompt_template_config=None, **kwargs):
# Subclasses implement this to create the agent from a dict.
...
@classmethod
def resolve_placeholders(cls, yaml_str: str, settings=None, extras=None) -> str:
# Optional: override this to customize how environment or runtime placeholders are resolved in YAML.
return yaml_str
Petunjuk / Saran
Setiap agen kustom harus mewarisi dari DeclarativeSpecMixin untuk mengaktifkan konstruksi berbasis YAML dan harus terdaftar di registri menggunakan @register_agent_type.
Fitur ini tidak tersedia.