Bagikan melalui


Orkestrasi Agen Kernel Semantik

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.

Kerangka kerja Agent Orchestration Semantic Kernel memungkinkan pengembang untuk membangun, mengelola, dan menskalakan alur kerja agen yang kompleks dengan mudah.

Mengapa Orkestrasi Multi-agen?

Sistem agen tunggal tradisional terbatas pada kemampuan mereka untuk menangani tugas yang kompleks dan multi-faset. Dengan mengatur beberapa agen, masing-masing dengan keterampilan atau peran khusus, kita dapat membuat sistem yang lebih kuat, adaptif, dan mampu memecahkan masalah dunia nyata secara kolaboratif. Orkestrasi multi-agen di Kernel Semantik menyediakan fondasi yang fleksibel untuk membangun sistem tersebut, mendukung berbagai pola koordinasi.

Pola Pengaturan

Seperti pola desain cloud terkenal, pola orkestrasi agen adalah pendekatan agnostik teknologi untuk mengoordinasikan beberapa agen untuk bekerja sama menuju tujuan bersama. Untuk mempelajari lebih lanjut tentang pola itu sendiri, lihat dokumentasi pola orkestrasi agen AI .

Pola Orkestrasi yang Didukung dalam Kernel Semantik

Semantic Kernel mendukung Anda dengan menerapkan pola orkestrasi ini langsung di SDK. Pola-pola ini tersedia sebagai bagian dari kerangka kerja dan dapat dengan mudah diperluas atau disesuaikan sehingga Anda dapat menyetel skenario kolaborasi agen Anda.

Pola Deskripsi Kasus Penggunaan Umum
Konkuren Menyiarkan tugas ke semua agen, mengumpulkan hasil secara independen. Analisis paralel, subtugas independen, pengambilan keputusan ansambel.
Berurutan Meneruskan hasil dari satu agen ke agen selanjutnya dalam urutan yang ditentukan. Alur kerja langkah demi langkah, pipeline, pemrosesan multi-tahap.
Serah Terima Secara dinamis meneruskan kontrol antar agen berdasarkan konteks atau aturan. Alur kerja dinamis, eskalasi, peralihan cadangan, atau skenario penyerahan tugas kepada ahli.
Obrolan Grup Semua agen berpartisipasi dalam percakapan grup, dikoordinasikan oleh manajer grup. Curah gagasan, pemecahan masalah kolaboratif, pembangunan konsensus.
Magentic Koordinasi mirip obrolan grup yang terinspirasi oleh MagenticOne. Kolaborasi multi-agen yang kompleks dan generalis.

Kesederhanaan dan Ramah pengembang

Semua pola orkestrasi berbagi antarmuka terpadu untuk konstruksi dan pemanggilan. Apa pun orkestrasi yang Anda pilih, Anda:

  • Tentukan agen Anda dan kemampuannya, lihat Agen Kernel Semantik.
  • Buat orkestrasi dengan melewati agen (dan, jika diperlukan, manajer).
  • Secara opsional menyediakan panggilan balik atau transformasi untuk penanganan input/output kustom.
  • Mulai runtime dan panggil orkestrasi dengan tugas.
  • Tunggu hasilnya dengan cara yang konsisten dan asinkron.

Pendekatan terpadu ini berarti Anda dapat dengan mudah beralih di antara pola orkestrasi, tanpa mempelajari API baru atau menulis ulang logika agen Anda. Kerangka kerja mengabstraksi kompleksitas komunikasi agen, koordinasi, dan agregasi hasil, memungkinkan Anda fokus pada tujuan aplikasi Anda.

// Choose an orchestration pattern with your agents
SequentialOrchestration orchestration = new(agentA, agentB)
{
    LoggerFactory = this.LoggerFactory
};  // or ConcurrentOrchestration, GroupChatOrchestration, HandoffOrchestration, MagenticOrchestration, ...

// Start the runtime
InProcessRuntime runtime = new();
await runtime.StartAsync();

// Invoke the orchestration and get the result
OrchestrationResult<string> result = await orchestration.InvokeAsync(task, runtime);
string text = await result.GetValueAsync();

await runtime.RunUntilIdleAsync();
# Choose an orchestration pattern with your agents
orchestration = SequentialOrchestration(members=[agent_a, agent_b])
# or ConcurrentOrchestration, GroupChatOrchestration, HandoffOrchestration, MagenticOrchestration, ...

# Start the runtime
runtime = InProcessRuntime()
runtime.start()

# Invoke the orchestration
result = await orchestration.invoke(task="Your task here", runtime=runtime)

# Get the result
final_output = await result.get()

await runtime.stop_when_idle()

Nota

Orkestrasi agen belum tersedia di Java SDK.

Menyiapkan lingkungan pengembangan Anda

Tambahkan paket berikut ke proyek Anda sebelum melanjutkan:

dotnet add package Microsoft.SemanticKernel.Agents.Orchestration --prerelease
dotnet add package Microsoft.SemanticKernel.Agents.Runtime.InProcess --prerelease

Bergantung pada jenis agen yang Anda gunakan, Anda mungkin juga perlu menambahkan paket masing-masing untuk agen. Silakan merujuk ke Ringkasan Agen untuk detail selengkapnya.

Langkah selanjutnya