Usean agentin orkestrointimallit ja parhaat käytännöt

Generatiivinen orkestrointi tukee myös useiden agenttien järjestelmiä, joissa yksi agentti kutsuu muita agentteja. Kun ongelmat jaetaan useisiin erikoistuneisiin agentteihin, sovellus muuttuu modulaariseksi, skaalautuvaksi ja hallittavaksi.

Sisäiset agentit

Sisäiset myös aliagenteiksi kutsutut agentit ovat samaan agenttiin sisältyviä pieniä, uudelleenkäytettäviä työnkulkuja. Ne ovat usein vain aiheita, joita pääagentti käyttää alirutiineina. Pääagentti voi esimerkiksi pääagentti voi kutsua Käännä teksti -aihetta laajan suunnitelman yhtenä vaiheena. Sisäiset agentit jakavat kontekstin pääagentin kanssa, joten tiedon siirtäminen niiden välillä on helppoa.

Paras käytäntö: sisäiset agentit kannattaa kohdistaa vain yhteen tehtävään, ja ne on testattava huolellisesti.

Yhdistetyt agentit

Yhdistetyt agentit ovat erillisiä agentteja, joilla on oma orkestrointi, omat työkalut ja oma tietämys. Pääagentti delegoi osan pyynnöstä aliagentille. Esimerkki: IT-agentti pyytää myyntiagentilta hinnoittelutietoja. Yhdistetyt agentit mahdollistavat modulaarisuuden ja toimialueiden erottelun sekä voivat ohittaa palvelupaketin rajoitukset. Niiden käyttöoikeudet ja tietämys voivat olla erilaisia, joten hallinnointia ja seurantaa koskevia hallintamekanismeja kannattaa käyttää.

Yhdistettyjen agenttien käyttö edellyttää huolellista hallinnointia:

  • Orkestrointi: Pääorkestroija tarvitsee selkeät ehdot, milloin siirto yhdistetylle agentille tehdään. Orkestroija tekee siirron, kun käyttäjän tarkoitus vastaa yhdistetyn agentin toimialuetta. Tämän vuoksi yhdistetyn agentin tarkoitus kannattaa kuvailla selkeästi pääelementin määrityksessä. Yhdistetty agentti kannattaa hahmottaa pääelementin kannalta yhtenä kokonaisuutena ja agenttipohjaisena työkaluna, jolla on kuvaus.

  • Tietojen siirto: Tietojen siirto on hallittava. On päätettävä, mitä kontekstia siirretään pääelementistä yhdistettyyn agenttiin. Copilot Studio siirtää oletusarvoisesti keskusteluhistorian, kun yksi agentti kutsuu toista agenttia, sillä tällä tavoin yhdistetty agentti ymmärtää keskustelun aiemman kontekstin. Lisäksi on ehkä siirrettävä myös tietyt parametrit. Esimerkki: jos pääagentti tietää jo käyttäjän nimen, se saattaa lähettää tämän tiedon yhdistetylle agentille, jotta sitä ei kysytä uudelleen.

  • Tietoturva: Yhdistetyllä agentilla saattaa olla sellaisten tietojen käyttöoikeus, jota pääagentilla ei ole. Tämän vuoksi on varmistettava, että yhdistetyn agentin kutsuminen ei vahingossa ohita rajoituksia. Esimerkki: jos pääagentti ei saa poistaa tietueita mutta yhdistetty agentti saa niin tehdä, pääagentti ei saa kutsua yhdistettyä agenttia skenaarioissa, joissa poista on mahdollista ilman asianmukaista hyväksyntää. Yhdistetyn agentin kutsua on käsiteltävä muiden tehokkaiden toimintojen tavoin. Jos kyseessä on arkaluonteinen toiminta, siihen on liitettävä tarvittavat tarkistukset tai käyttäjän suostumus.

  • Seuranta ja valvonta: Yhdistetyn agentin kutsumisajankohta ja sen toimet on kirjattava lokiin. Koska kyseessä on erillinen agentti, sitä varten on erillinen transkriptio. Virheenkorjauksen kannalta on tärkeää korreloida pääistunnon ja siihen liittyvien istuntojen tiedot. Telemetrian tunnisteet linkittävät ne yleensä.

Agenttien erottaminen

Erillistä agenttia ei kannata luoda jokaiselle alitehtävälle. Erillisiä agentteja kannattaa käyttää, jos alitehtävä

  • on riittävän monimutkainen, että siinä on omat työkalut tai tietämys (eri asiantuntemuksen alue)
  • edellyttää erilaisia hallintosääntöjä tai käyttöoikeuksien valvontaa kuin pääagentti
  • voidaan käyttää uudelleen useissa pääagenteissa (eli se on kuin palveluagentti).

Jos mikään edellä mainituista ehdoista ei päde, yksinkertainen sisäinen agentti saattaa suorittaa tehtävän hyvin; se on myös yksinkertaisempi kuin yhdistetty agentti. Erilliset agentit tuovat järjestelmään lisäkuormitusta. Suoritusaika pitenee jonkin verran kontekstin vaihdon sekä useiden agenttien ylläpidon monimutkaisuuden vuoksi. Niitä kannattaakin käyttää harkiten. Käytännössä aluksi kannattaa käyttää yhtä agenttia. Agentit kannattaa jakaa useiksi agenteiksi vastan, kun havaittavissa on selkeä tarve hyödyntää modulaarisuutta ja rajaa, jota yksittäinen agentti ei saa ylittää.

Usean agentin orkestroinnin parhaat käytännöt

Seuraavat parhaat käytännöt koskevat ohjeiden kirjoittamista pää- ja aliagenteille usean agentin järjestelmässä.

1. Yhden vastauksen periaate

Varmista, että vuoron aikana vain yksi agentti keskustelee käyttäjän kanssa. Usean agentin järjestelmässä vain pääagentin saa palauttaa lopullisen vastauksen. Aliagentit ovat tutkijoita eivätkä vastaajia.

  • Kyllä: Lisää pääagentin ohjeet: Olet ainoa käyttäjän kanssa viestivä agentti. Yhdistä kaikkien aliagenttien löydökset yhdeksi vastaukseksi.
  • Ei moniselitteisyyttä. Ilman nimenomaista ohjeistusta aliagentit vastaavat käyttäjälle suoraan, minkä vuoksi viestit ovat päällekkäisiä tai osittaisia.

2. Aliagenttien ohjeiden on ilmaistava niiden rooli

Ilmoita aliagenteille aina, että ne ovat aliagentteja. Aliagentit eivät automaattisesti tiedä olevansa osa orkestrointia. Ilman nimenomaista ohjeistusta ne toimivat itsenäisinä agentteina ja lähettävät viestejä suoraan käyttäjälle.

  • Kyllä: Lisää jokaisen aliagentin ohjeisiin: Olet aliagentti. ÄLÄ vastaa käyttäjälle suoraan. Tehtäväsi on hakea tietoja ja palauttaa löydökset pääagentille. Pääagentti vastaa kaikesta viestinnästä käyttäjän kanssa.
  • Ei oleteta, että aliagentit ymmärtävät orkestrointimallin itsenäisesti.

3. Selkeän, suoran kielen käyttö ohjeissa

Käytä aina käskymuotoista kieltä. Vältä kierteleviä tai kohteliaita ilmaisuja. Ympäristö lisää järjestelmätason ohjeet käyttämällä voimakasta kieltä (PAKKO, ÄLÄ, EI KOSKAAN). Kierteleviä ohjeita (voisitko yrittää, sinun pitäisi tai olisi hyvä, jos) ei priorisoida ristiriitatilanteessa.

  • Kyllä: ÄLÄ koskaan vastaa käyttäjälle suoraan. Palauta VAIN löydökset.
  • Kyllä: Kullakin käyttäjän kysymyksellä saa olla vain yksi lopullinen vastaus.
  • Ei: Yritä välttää viestien lähettämistä käyttäjälle ja palauta sen sijaan löydökset
  • Ei: Parasta olisi, jos tuloksena oli yksi yhdistetty vastaus.

4. Aliagenttikohtaisesti käytössä yksi tietolähdettä (ei päällekkäisyyttä)

Määritä kullekin aliagentille erilliset, toisistaan erillään olevat tietolähteet. Jos kaksi aliagenttia tekee hakuja samassa tietokannassa, jompikumpi aliagentti löytää vastauksen ensin. Toinen aliagentti joko palauttaa päällekkäisiä tuloksia tai ohittaa haun kokonaan, mikä ei lisää arvoa.

  • Kyllä: CA-1 tekee hakuja tietolähteessä A (kuten HR-käytännöissä). CA-2 tekee hakuja tietolähteessä B (kuten IT-ohjeissa).
  • Älä anna molemmille aliagenteissa samojen asiakirjojen, Dataverse-taulukoiden tai SharePoint-sivustojen käyttöoikeutta.
  • Huomautus: Jos käytössä on vain yksi tietolähde, käytä yhtä tietämystä hyödyntävää agenttia sen sijaan, että se jaettaisiin kahdeksi aliagentiksi. Usean agentin käyttö lisää arvoa vain silloin, kun lähteet ovat aidosti erilaisia.

5. Tarkkojen ja erottuvia aliagenttien kuvausten käyttäminen

Kirjoita pääagentin näkyvissä oleville aliagenteille selkeät ja erottuvat kuvaukset. Pääagentti päättää reitityksen aliagentin kuvausten avulla. Jos kuvaukset ovat epämääräisiä, samanlaisia tai epätarkkoja, pääagentti ei voi tehdä hyviä reitityspäätöksiä.

  • Kyllä: CA-1: Tekee hakuja HR-käytäntöasiakirjoja, kun kyse on työntekijöihin liittyvistä kysymyksistä. CA-2: Tekee hakuja IT-tietokannassa, kun kyse on tekniseen tukeen liittyvistä kysymyksistä.
  • Ei samaa kuvausta molemmille agenteille, kun niillä on eri toimialueet.
  • Ei yleisiä kuvauksia, kuten Tämä agentti auttaa vastaamaan kysymyksiin.

6. Pääagentin ohjeiden on määritettävä orkestrointimalli

Kerro pääagentille, miten orkestrointi tehdään. Älä käske pelkästään käyttämään aliagentteja. Pääagentti tarvitsee tarkkoja mallia koskevia ohjeita: käynnistä agentit, odota tuloksia, yhdistä ja vastaa.

  • Kyllä: Kun käyttäjä esittää kysymyksen: 1. Käynnistä molemmat aliagentit keräämään tietoa. 2. Odota, että kumpikin aliagentit palauttaa löydökset. 3. Yhdistä löydökset yhdeksi, yhtenäiseksi vastaukseksi. 4. Anna käyttäjälle täsmälleen yksi vastaus. Aliagentit eivät saa vastata suoraan käyttäjälle.
  • Ei: Kun käyttäjä esittää kysymyksen, käynnistä aliagentit, hae vastaus molemmista lähteistä ja anna yksi, yhdistetty vastaus. (Liian epämääräinen. Ohje ei käske aliagentteja pysymään hiljaa.)

7. Ei suoraa vastausta -ohjeen sisällyttäminen tehtävän delegointiin

Vaikka aliagentin ohjeet olisivat selkeät, lisävahvistus kannattaa lisätä delegoituun tehtävään varmuuden vuoksi.

  • Kyllä: Lisää pääagentin ohjeet: Aliagentille delegoitaessa sisällytä aina tehtävään: Palauta vain löydökset. Älä vastaa käyttäjälle.
  • Ei luoteta ainoastaan aliagentin omiin ohjeisiin. Tehtäväkonteksti antaa aliagentille lisää mallia vastavia signaaleja.

8. Testaus ristiriitaisia toimialueita koskevilla kyselyillä

Käytä testauksessa aina kysymyksiä, jotka eivät vastaan minkään aliagentin toimialuetta. Tämä testaus osoittaa, palauttavatko aliagentit sujuvasti tulokseksi, ettei tietoja löytynyt, vai palauttavatko ne mahdollisesti virheellisiä tietoja, jumiutuvatko ne tai lähettävätkö ne sekavia viestejä.

  • Kyllä: testaa kyselyjä käyttämällä aihetta, joka ei kuulu minkään aliagentin toimialaan (kuten kysymällä säästä, kun agentit käsittelevät HR- ja IT-tietoja).
  • Toiminta: Varmista, että ylätaso käsittelee kumpikaan agenteista ei löytänyt mitään -tilanteen asiallisesti.
  • Ei testata vain yksinkertaisimpia tapauskyselyjä, jotka vastaa täysin yhden aliagentin toimialuetta.

9. Kysymysten suosiminen ilmoitusten sijaan jatkotoimia odotettaessa

Käytä kysymys- ja vastausmuotoisia viestejä, kun käyttäjän odotetaan vastaavan. Käytä ilmoitus- ja lähetystyyliä vain viimeisissä yksisuuntaisissa viesteissä. Jos agentti kysyy käyttäjältä jotain yksisuuntaisella viestillä (ilmoitus), käyttäjän vastaus palaa pääagentin suunnitteluun täysin uutena kyselynä. Siinä tapauksessa on parempi jatkaa samaa keskustelua aliagentin kanssa.

  • Kyllä: Kirjoita seuraavankaltaisia ohjeita: Jos tarvitse tarkennus, esitä käyttäjälle kysymys ja odota vastausta.
  • Ei seuraavankaltaisia ohjeita: Ilmoita käyttäjälle vaihtoehdoista ja anna käyttäjän valita. Ilmoita-sana on osoitus yksisuuntaisesta viestistä, kun taas kysy-sana on osoitus kaksisuuntaisesta viestinnästä.

Pikatarkistuslista

# Sekki
1 Pääagentin ohjeissa ilmaistaan selvästi, että vain se vastaa käyttäjälle
2 Jokaisen aliagentin ohjeessa sanotaan, että käyttäjälle vastata suoraan
3 Ohjeissa käytetään voimakasta käskymuotoista kieltä (PAKKO, EI KOSKAAN, VAIN)
4 Kullakin aliagentilla on oma, erillinen tietolähde
5 Aliagenttien kuvaukset ovat tarkkoja, erottuvia ja täsmällisiä
6 Pääagentit ohjeet määrittävät koko orkestrointimallin (käynnistä → odota → yhdistä → vastaa)
7 Pääagentti siirtää Ei suoraa vastausta -ilmoituksen delegoidussa tehtäväkontekstissa
8 Testaus kyselyillä, jotka aiheuttavat toimialueristiriidan
9 Kysyminen ja ilmoittaminen erotellaan oikein aliagentin ohjeissa