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.
Důležité
Funkce orchestrace agentů v rozhraní Agent Framework jsou v experimentální fázi. Jsou ve fázi aktivního vývoje a můžou se výrazně změnit před přechodem do fáze Preview nebo release candidate.
Sémantická architektura orchestrace agentů jádra umožňuje vývojářům snadno vytvářet, spravovat a škálovat složité pracovní postupy agentů.
Proč orchestrace s více agenty?
Tradiční systémy s jedním agentem jsou omezené na schopnost zpracovávat složité a multifaktorové úlohy. Díky orchestraci více agentů, z nichž každý má specializované dovednosti nebo role, můžeme vytvářet systémy, které jsou robustnější, adaptivní a schopné řešit reálné problémy společně. Orchestrace více agentů v sémantickém jádru poskytuje flexibilní základ pro vytváření takových systémů, které podporují různé vzory koordinace.
Vzory orchestrace
Stejně jako dobře známé vzory návrhu cloudu jsou vzory orchestrace agentů technologicky nezávislé přístupy ke koordinaci více agentů při společné práci na dosažení daného cíle. Další informace o samotných vzorech najdete v dokumentaci ke vzorům orchestrace agentů AI .
Podporované vzory orchestrace v sémantickém jádru
Sémantické jádro vás podporuje implementací těchto vzorů orchestrace přímo v sadě SDK. Tyto vzory jsou k dispozici jako součást architektury a dají se snadno rozšířit nebo přizpůsobit, abyste mohli ladit scénář spolupráce agenta.
| Vzor | Popis | Typický případ použití |
|---|---|---|
| Souběžný | Vysílá úlohu všem agentům, shromažďuje výsledky nezávisle. | Paralelní analýza, nezávislé dílčí úkoly, rozhodování o souborech. |
| Sekvenční | Předá výsledek z jednoho agenta do dalšího v definovaném pořadí. | Podrobné pracovní postupy, kanály, zpracování ve více fázích |
| handoff | Dynamicky předává řízení mezi agenty na základě kontextu nebo pravidel. | Dynamické pracovní postupy, eskalace, záložní scénáře nebo scénáře předání expertů |
| Skupinový chat | Všichni agenti se účastní skupinové konverzace koordinované manažerem skupiny. | Brainstorming, spolupráce na řešení problémů, budování shody. |
| Magentický | Orchestrace podobná skupinovému chatu inspirovaná MagenticOne. | Složitá, generalistická spolupráce s více agenty |
Jednoduchost a přívětivý pro vývojáře
Všechny vzory orchestrace sdílejí jednotné rozhraní pro vytváření a vyvolání. Bez ohledu na to, kterou orchestraci zvolíte, můžete:
- Definujte agenty a jejich možnosti, viz sémantické agenty jádra.
- Vytvořte orchestraci předáním agentů (a v případě potřeby manažera).
- Volitelně můžete zadat zpětná volání nebo transformace pro vlastní zpracování vstupu a výstupu.
- Spusťte modul runtime a vyvolejte orchestraci úlohou.
- Vyčkejte na výsledek konzistentním a asynchronním způsobem.
Tento jednotný přístup znamená, že můžete snadno přepínat mezi vzory orchestrace, aniž byste se museli učit nová rozhraní API nebo přepisovat logiku agenta. Architektura abstrahuje složitost komunikace agentů, koordinace a agregace výsledků a umožňuje zaměřit se na cíle vaší aplikace.
// 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()
Poznámka:
Orchestrace agentů zatím není v Java vývojovém prostředí SDK k dispozici.
Příprava vývojového prostředí
Než budete pokračovat, přidejte do projektu následující balíčky:
dotnet add package Microsoft.SemanticKernel.Agents.Orchestration --prerelease
dotnet add package Microsoft.SemanticKernel.Agents.Runtime.InProcess --prerelease
V závislosti na typech agentů, které používáte, může být také potřeba přidat příslušné balíčky pro agenty. Další podrobnosti najdete v přehledu agentů .