Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
Az Ügynök-keretrendszer ügynök-vezénylési funkciói a kísérleti fázisban vannak. Aktív fejlesztés alatt állnak, és jelentősen változhatnak, mielőtt továbblépnének az előzetes verzióra vagy a kiadásra jelölt fázisra.
A Szemantic Kernel Ügynök-vezénylési keretrendszere lehetővé teszi a fejlesztők számára összetett ügynök-munkafolyamatok egyszerű létrehozását, kezelését és skálázását.
Miért érdemes többügynökös koordinációja?
A hagyományos együgynök rendszerek korlátozottan képesek összetett, többtényezős feladatok kezelésére. Több ügynök vezénylésével, amelyek mindegyike speciális képességekkel vagy szerepkörökkel bír, olyan rendszereket hozhatunk létre, amelyek robusztusabbak, adaptívabbak, és képesek a valós problémák közös megoldására. A Szemantikus Kernelben a többügynökök vezénylése rugalmas alapot biztosít az ilyen rendszerek létrehozásához, számos koordinációs mintát támogatva.
Orchestrációs minták
A jól ismert felhőtervezési mintákhoz hasonlóan az ügynök-vezénylési minták is technológiai agnosztikus megközelítések, amelyek több ügynök koordinálására szolgálnak egy közös cél érdekében. Ha többet szeretne megtudni magukról a mintákról, tekintse meg az AI-ügynökök vezénylési mintáinak dokumentációját .
Támogatott vezénylési minták a Szemantikus Kernelben
A Szemantikus Kernel ezen vezénylési minták közvetlenül az SDK-ban való implementálásával támogatja Önt. Ezek a minták a keretrendszer részeként érhetők el, és egyszerűen bővíthetők vagy testre szabhatók, hogy az ügynök együttműködési forgatókönyvét hangolhassa.
| Minta | Leírás | Tipikus használati eset |
|---|---|---|
| Egyidejű | Egy feladatot minden ügynöknek továbbít, és egymástól függetlenül gyűjti az eredményeket. | Párhuzamos elemzés, független altevékenységek, együttes döntéshozatal. |
| szekvenciális | Egy adott sorrendben adja át az egyik ügynök eredményét a következőnek. | Lépésről-lépésre munkafolyamatok, csővezetékek, többfázisú feldolgozás. |
| Átadás | Dinamikusan továbbítja az irányítást az ügynökök között a környezet vagy szabályok alapján. | Dinamikus munkafolyamatok, eszkaláció, tartalék vagy szakértői átadási forgatókönyvek. |
| Csoportos beszélgetés | Minden ügynök részt vesz egy csoportbeszélgetésben, amelyet egy csoportmenedzser koordinál. | Ötletgyűjtés, együttműködésen alapuló problémamegoldás, konszenzusépítés. |
| Magentic | Csoportos csevegéshez hasonló szervezés, amelyet a MagenticOne ihletett. | Összetett, általános, többügynökön átívelő együttműködés. |
Egyszerűség és fejlesztőbarát
Minden vezénylési minták egységes felületet biztosítanak a konstruáláshoz és a meghíváshoz. Függetlenül attól, hogy melyik vezénylést választja, az alábbiak érvényesek:
- Az ügynökök és képességeik meghatározása: Szemantikus kernelügynökök.
- Vezénylés létrehozása az ügynökök (és szükség esetén a vezető) hozzáadásával.
- Igény szerint visszahívásokat vagy átalakításokat is megadhat egyéni bemeneti/kimeneti kezeléshez.
- Indítsa el a futtatókörnyezetet, és hívja meg a vezénylést egy feladattal.
- Várjon az eredményre konzisztens, aszinkron módon.
Ez az egységes megközelítés azt jelenti, hogy egyszerűen válthat a vezénylési minták között új API-k elsajátítása vagy az ügynöklogika újraírása nélkül. A keretrendszer elvonja az ügynökkommunikáció, a koordináció és az eredményösszesítés összetettségét, így az alkalmazás céljaira összpontosíthat.
// 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()
Megjegyzés:
Az ügynök-vezénylés még nem érhető el a Java SDK-ban.
A fejlesztési környezet előkészítése
A folytatás előtt adja hozzá a következő csomagokat a projekthez:
dotnet add package Microsoft.SemanticKernel.Agents.Orchestration --prerelease
dotnet add package Microsoft.SemanticKernel.Agents.Runtime.InProcess --prerelease
A használt ügynöktípusoktól függően előfordulhat, hogy hozzá kell adnia az ügynökök megfelelő csomagjait is. További részletekért tekintse meg az Ügynökök áttekintését .