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.
Generativní orchestrace také podporuje systémy s více agenty, kde jeden agent volá ostatní agenty. Když rozdělíte problémy mezi více specializovaných agentů, učiníte svou aplikaci modulárnější, škálovatelnější a použitelnější.
Vložení agenti
Vložení agenti, označovaní také jako podřízení agenti, jsou malé, opětovně použitelné pracovní postupy v rámci téhož agenta. Často jsou to jen témata, která hlavní agent používá jako podprogramy. Hlavní agent například může jako jeden krok v širším plánu zavolat téma „Překlad textu“. Vložení agenti sdílejí kontext s hlavním agentem, takže předávání dat mezi nimi je jednoduché.
Osvědčený postup: Udržujte vložené agenty zaměřené na jednu odpovědnost a dobře je testujte.
Připojení agenti
Propojení agenti jsou samostatní agenti s vlastní orchestrací, nástroji a znalostmi. Hlavní agent deleguje část požadavku podřízenému agentovi. Například IT agent kontaktuje agenta prodeje, aby získal informace o cenách. Propojení agenti umožňují modularitu a oddělení domén, a také mohou obcházet omezení plánů. Mohou mít odlišná oprávnění nebo znalosti, proto implementujte zásady správného řízení a auditní kontroly.
Používání propojených agentů však vyžaduje pečlivé zásady správného řízení:
Orchestrace: Nadřazený orchestrátor musí mít jasná kritéria, kdy předat požadavek připojenému agentovi. Orchestrátor obvykle předává řízení v případě, že záměr uživatele odpovídá doméně připojeného agenta. V rámci podpory tohoto procesu jasně popište účel připojeného agenta v konfiguraci nadřazeného agenta. Celého propojeného agenta chápejte jako agentský „nástroj“ s popisem, z pohledu nadřízeného agenta.
Předání dat: Musíte spravovat předání dat. Rozhodněte, jaký kontext nadřazeného agenta předat připojenému agentovi. Copilot Studio automaticky předává historii konverzace, když jeden agent volá jiného, takže propojený agent rozumí předchozímu kontextu konverzace. Možná ale budete muset předat i specifické parametry. Pokud například hlavní agent již zná jméno uživatele z dřívějška, může ho předat připojenému agentovi, aby se na něj nemusel znovu ptát.
Zabezpečení: Připojený agent může mít přístup k položkám, ke kterým nadřazený agent nemůže. Zajistěte, aby při volání připojeného agenta nebyla neúmyslně obcházena omezení. Pokud například nadřazený agent nemá oprávnění odstraňovat záznamy, ale připojený agent ano, nadřazený agent nesmí volat připojeného agenta v situacích, kdy by mohlo dojít k odstranění bez patřičného schválení. Zacházejte s voláním připojeného agenta stejně jako s jakoukoli jinou důležitou akcí. Pokud agent vykonává citlivou operaci, musí být podroben potřebným kontrolám nebo získat souhlas uživatele.
Audit a monitorování: Zaznamenejte, kdy byl aktivován připojený agent a co dělal. Protože jde o samostatného agenta, máte pro něj samostatné přepisy. Je důležité pro ladění korelovat nadřazeného agenta a propojené relace. Identifikátory v telemetrii obvykle propojují tyto dva prvky.
Kdy oddělit agenty
Nevytvářejte samostatné agenty pro každý dílčí úkol. Použijte samostatné agenty, pokud dílčí úkol:
- Je natolik složitý, aby měl vlastní sadu nástrojů nebo znalostí (v jiné oblasti odbornosti)
- Vyžaduje odlišná pravidla správy nebo přístupové kontroly než hlavní agent
- Lze jej znovu použít u mnoha různých hlavních agentů (podobně jako agent služby)
Pokud žádná z těchto podmínek neplatí, může jednoduchý vložený agent práci zvládnout dobře a zároveň být jednodušší než plně propojený agent. Samostatní agenti přinášejí do systému režii. Mají o něco delší dobu provedení kvůli přepínání mezi kontexty a složitější udržování více agentů. Proto je používejte rozumně. Pro začátek je praktické použít jednoho agenta. Rozdělte systém na více agentů pouze tehdy, když jasně vidíte potřebu modularity nebo hranici, kterou by jeden agent neměl překročit.
Osvědčené postupy orchestrace více agentů
Následující osvědčené postupy platí při tvorbě pokynů pro nadřazené a podřízené agenty v rámci více agentů.
1. Princip jediné odpovědi
Ujistěte se, že s uživatelem mluví vždy pouze jeden agent. Při použití více agentů by měl konečnou odpověď poskytnout pouze nadřazený agent. Podřízení agenti jsou výzkumníci, nikoli poskytovatelé odpovědí.
- Doporučuje se: Přidejte do nadřazených pokynů: "Jste jediným agentem, který komunikuje s uživatelem." Slučte výstupy všech podřízených agentů do jediné odpovědi.
- Co nedělat: Nebuďte nejednoznační. Bez explicitních pokynů podřízení agenti odpovídají uživateli přímo, což způsobuje duplicitní nebo neúplné zprávy.
2. Pokyny podřízených agentů musí deklarovat svou roli
Podřízeným agentům vždy říkejte, že jsou podřízenými agenty. Podřízení agenti přirozeně nevědí, že jsou součástí orchestrace. Bez explicitního vedení se chovají jako samostatní agenti a posílají zprávy přímo uživateli.
- Co dělat: Do pokynů každého podřízeného agenta přidejte: „Jsi podřízený agent. NEODPOVÍDEJ uživateli přímo. Tvým úkolem je vyhledávat informace a vracet svá zjištění nadřazenému agentovi. Veškerou komunikaci s uživatelem zajišťuje nadřazený agent.“
- Co nedělat: Předpokládejte, že podřízení agenti sami rozpoznají vzor orchestrace.
3. V pokynech používejte jasný, přímý jazyk
Vždy používejte direktivní jazyk. Vyhněte se jemnému nebo zdvořilému formulování. Platforma vkládá pokyny na úrovni systému za použití silného jazyka (MUSÍŠ, NEDĚLEJ, NIKDY). Pokyny formulované měkce („prosím zkus“, „měl bys“, „bylo by dobré“) mají nižší prioritu při konfliktu.
- Co dělat: „NIKDY neodpovídej přímo uživateli. POUZE vracej svá zjištění.“
- Co dělat: „Na každou otázku uživatele musí být právě jedna finální odpověď.“
- Co nedělat: „Prosím, snaž se neposílat zprávy uživateli a místo toho vracej svá zjištění.“
- Co nedělat: „Ideálně chceme jednu kombinovanou odpověď.“
4. Použijte jeden zdroj vědomostí pro každého podřízeného agenta (bez překrývání)
Každému podřízenému agentovi přiřaďte samostatné, nepřekrývající se zdroje vědomostí. Pokud dva podřízení agenti vyhledávají ve stejné znalostní bázi, jeden z nich najde odpověď jako první. Druhý podřízený agent buď vrací duplicitní výsledky, nebo vyhledávání zcela přeskočí a nepřidává žádnou hodnotu.
- Co dělat: CA-1 prohledává Zdroj vědomostí A (například Zásady HR). CA-2 prohledává Zdroj vědomostí B (například IT dokumentaci).
- Co nedělat: Nedávejte oběma podřízeným agentům přístup ke stejným dokumentům, tabulkám Dataverse nebo webům SharePoint.
- Poznámka: Pokud máte pouze jeden zdroj vědomostí, použijte jednoho agenta se znalostmi místo rozdělení na dva podřízené agenty. Použití systému s více agenty přináší hodnotu pouze tehdy, když jsou zdroje skutečně odlišné.
5. Používejte přesné a odlišné popisy podřízených agentů
Napište jasné a odlišné popisy pro každého dílčího agenta, který je viditelný nadřazenému agentovi. Nadřazený agent používá popisy podřízených agentů jako základ pro rozhodování o směrování. Pokud jsou popisy vágní, identické nebo nepřesné, nadřazený agent nemůže správně rozhodovat o směrování.
- Doporučuje se: CA-1: "Prohledává dokumenty zásad HR pro dotazy týkající se zaměstnanců." CA-2: "Prohledává bázi znalostí IT pro dotazy týkající se technické podpory."
- Nedoporučuje se: Dávat oběma agentům stejný popis, pokud obsluhují různé domény.
- Co nedělat: Používejte obecné popisy jako „Tento agent může pomoci s otázkami.“
6. Pokyny pro nadřazeného agenta musí být definovány orchestračním vzorem
Řekněte nadřazenému agentovi, jak má postupovat při orchestraci. Neříkejte jen „použijte podřízené agenty“. Nadřízený agent potřebuje explicitní pokyny k danému vzorci: vyvolat agenty, počkat na výsledky, zkombinovat je a poté odpovědět.
- Co dělat: „Když uživatel položí otázku: 1. Vyvolání obou podřízených agentů za účelem shromáždění informací 2. Počkejte, až se oba podřízení agenti vrátí se svými zjištěními. 3. Spoj zjištění do jediné odpovědi. 4. Doruč uživateli přesně jednu odpověď. Podřízení agenti nesmí uživateli přímo odpovídat."
- Nedoporučuje se: „Když uživatel položí otázku, vyvolejte podřízené agenty, získejte odpověď z obou zdrojů a poskytněte jednu kombinovanou odpověď.“ (Příliš vágní. Pokyn neříká podřízeným agentům, aby zůstali potichu.)
7. Zahrňte pokyn „žádná přímá odpověď“ do delegace úkolů
I s jasnými pokyny pro podřízené agenty poskytuje přidání posílení v delegované úloze záchrannou síť.
- Doporučuje se: Přidat do pokynů pro nadřízeného agenta: „Při delegování na podřízeného agenta vždy do úlohy zahrňte: ‚Vraťte pouze svá zjištění. Neodpovídej uživateli.'“
- Co nedělat: Nespoléhejte pouze na pokyny podřízeného agenta. Kontext úkolu dává podřízenému agentovi více signálů, které posilují vzor.
8. Testujte pomocí dotazů mimo doménu
Vždy testujte otázkami, které neodpovídají doméně žádného podřízeného agenta. Toto testování odhalí, zda podřízení agenti elegantně vrátí zprávu „nebyly nalezeny žádné informace“, nebo zda vrátí informace, které mohou být nesprávné, zaseknou se nebo budou posílat matoucí zprávy.
- Co dělat: Testujte pomocí dotazů mimo domény všech podřízených agentů (například se zeptejte na počasí, když agenti řeší HR a IT):
- Doporučuje se: Ověřit, že nadřízený agent elegantně zvládne situaci, kdy „oba agenti nic nenašli“.
- Co nedělat: Netestujte pouze s nejjednoduššími dotazy, které přesně odpovídají doméně jednoho podřízeného agenta.
9. Upřednostňujte dotazovací způsob před oznamovacím při očekávání následné odpovědi
Používejte interakce dotazovacího typu, pokud očekáváte odpověď od uživatele. Používejte styl informuj/odešli pouze pro závěrečné jednosměrné zprávy. Pokud agent položí uživateli otázku prostřednictvím jednosměrné zprávy (informuj), uživatelova odpověď se vrátí do nadřazeného plánovače jako nový dotaz. V tomto případě je lepší pokračovat ve stejné konverzaci s podřízeným agentem.
- Co dělat: Pište pokyny jako: „Pokud potřebuješ upřesnění, polož uživateli otázku a počkej na jeho odpověď.“
- Co nedělat: Nepište pokyny jako: „Informuj uživatele o možnostech a nech ho vybrat si.“ Signály „informuj" značí jednosměrnou zprávu, zatímco „zeptej se“ značí obousměrnou výměnu.
Stručný kontrolní seznam
| # | Kontrola |
|---|---|
| 1 | Pokyny pro nadřazeného agenta výslovně uvádějí: „pouze já odpovídám uživateli“ |
| 2 | Každý pokyn pro podřízeného agenta říká: „neodpovídej uživateli přímo“ |
| 3 | Pokyny používají silný direktivní jazyk (MUSÍŠ, NIKDY, POUZE) |
| 4 | Každý podřízený agent má jedinečný, nepřekrývající se zdroj vědomostí. |
| 5 | Popisy podřízených agentů jsou přesné, odlišné a specifické |
| 6 | Nadřazené pokyny definují celý vzor orchestrace (vyvolat → počkat → kombinovat → odpovědět) |
| 7 | Nadřízený agent nepředává „žádnou přímou odpověď“ v kontextu delegované úlohy |
| 8 | Testováno pomocí dotazů mimo doménu |
| 9 | Správné rozlišení mezi dotazem a informováním v pokynech pro podřízeného agenta |