Tekoäly
Microsoft AutoGen: Moniagenttinen AI-työkalu edistyneellä automaatiolla

Microsoft Research esitteli AutoGenin syyskuussa 2023 avoimena Python-kehyksenä, jolla voidaan luoda monimutkaisiin tehtäviin kykeneviä AI-välejä. AutoGen on jo saavuttanut suosiota tutkijoiden, kehittäjien ja organisaatioiden keskuudessa, joilla on yli 290 osallistujaa GitHubissa ja lähes 900 000 latausta toukokuussa 2024. Tämän menestyksen myötä Microsoft julkaisi AutoGen Studion, joka on matalan koodin rajapinta, joka mahdollistaa kehittäjille nopean prototyyppien luomisen ja kokeilemisen AI-välineillä.
Tämä kirjasto on tarkoitettu älymäisten, modulaaristen välineiden kehittämiseen, jotka voivat toimia yhdessä monimutkaisten tehtävien ratkaisemiseksi, päätöksenteon automatisoimiseksi ja koodin suorittamiseksi tehokkaasti.
Microsoft on myös esitteli AutoGen Studion, joka yksinkertaa AI-välineiden kehittämisen tarjoamalla interaktiivisen ja käyttäjäystävällisen alustan. Toisin kuin edeltäjänsä, AutoGen Studio vähentää laajan koodauksen tarvetta tarjoamalla graafisen käyttöliittymän, jossa käyttäjät voivat vetää ja pudottaa välineitä, konfiguroida työvirran ja testata AI-ohjattuja ratkaisuja vaivattomasti.
Mikä tekee AutoGenista ainutlaatuisen?
Ymmärtäminen AI-välineistä
AI:ssa väline on itsenäinen ohjelmakomponentti, joka pystyy suorittamaan tiettyjä tehtäviä, usein luonnollisen kielen prosessoinnin ja koneoppimisen avulla. Microsoftin AutoGen-kehys parantaa perinteisten AI-välineiden kykyjä, mahdollistaen niiden osallistumisen monimutkaisiin, rakenteellisiin keskusteluihin ja jopa yhteistyöhön muiden välineiden kanssa yhteisten tavoitteiden saavuttamiseksi.
AutoGen tukee laajaa valikoimaa välineitä ja keskustelumalleja. Tämä joustavuus mahdollistaa sen, että se automatisoi työvirran, joka aikaisemmin vaati ihmisen väliintuloa, mikä tekee siitä ihanteellisen sovelluksille erilaisilla aloilla, kuten rahoituksessa, mainonnassa, ohjelmistosuunnittelussa ja monilla muilla aloilla.
Keskustelu- ja mukautuvat välineet
AutoGen esittelee “keskustelu”-välineiden käsitteen, jotka on suunniteltu prosessoimaan viestejä, generoimaan vastauksia ja suorittamaan toimia luonnollisen kielen ohjeiden mukaan. Nämä välineet eivät ainoastaan kykene osallistumaan rikkaaseen dialogiin, vaan ne voidaan myös mukauttaa parantamaan suorituskykyä tiettyjä tehtäviä varten. Tämä modulaarinen suunnittelu tekee AutoGenista voimakkaan työkalun sekä yksinkertaisille että monimutkaisille AI-projekteille.
Avainvälineet:
- Avustaja-väline: LLM-pohjainen avustaja, joka pystyy suorittamaan tehtäviä, kuten koodausta, virheenkorjausta tai monimutkaisten kysymysten vastaamista.
- Käyttäjän edustaja-väline: Simuloi käyttäjän käyttäytymistä, mahdollistaen kehittäjille testata vuorovaikutuksia ilman, että todellinen käyttäjä osallistuu. Se voi myös suorittaa koodia itsenäisesti.
- Ryhmäkeskustelu-välineet: Välineiden kokoelma, joka toimii yhteistyössä, ihanteellinen tilanteissa, joissa vaaditaan useita taitoja tai näkökulmia.
Monivälineyhteistyö
Yksi AutoGenin vaikuttavimmista ominaisuuksista on sen tuki monivälineyhteistyölle. Kehittäjät voivat luoda välineverkon, jossa kunkin välineen on erikoistunut rooli, jotta voidaan suorittaa monimutkaisia tehtäviä tehokkaammin. Nämä välineet voivat viestiä toistensa kanssa, vaihtaa tietoja ja tehdä yhteisiä päätöksiä, sujuvoittaen prosesseja, jotka muuten olisivat aikaa vieviä tai altis virheille.
AutoGenin ydinominaisuudet
1. Monivälinekehys
AutoGen mahdollistaa välineverkkojen luomisen, joissa kunkin välineen voi toimia joko itsenäisesti tai muiden välineiden kanssa. Kehys tarjoaa joustavuuden suunnitella työvirran, joka on täysin itsenäinen tai sisältää ihmisen valvontaa, kun tarve vaatii.
Keskustelumallit sisältävät:
- Yksilökeskustelut: Yksinkertaiset vuorovaikutukset kahden välineen välillä.
- Hierarkkiset rakenteet: Välineet voivat delegoida tehtäviä alivälineille, helpottaen monimutkaisten ongelmien käsittelyä.
- Ryhmäkeskustelut: Monivälineinen ryhmäkeskustelu, jossa välineet yhteistyössä ratkaisevat tehtävän.
2. Koodin suorittaminen ja automaatio
Toisin kuin monet AI-kehykset, AutoGen sallii välineiden generoida, suorittaa ja virittää koodia automaattisesti. Tämä ominaisuus on arvokas ohjelmistosuunnittelun ja data-analytiikan tehtävissä, koska se vähentää ihmisen väliintuloa ja nopeuttaa kehityskierroksia. Käyttäjän edustaja-väline voi tunnistaa suoritettavan koodin lohkoja, suorittaa ne ja jopa parantaa tulosta itsenäisesti.
3. Integraatio työkalujen ja API:en kanssa
AutoGen-välineet voivat vuorovaikuttaa ulkoisten työkalujen, palvelujen ja API:en kanssa, laajentaen merkittävästi heidän kykyjään. Riippumatta siitä, onko kyse tietojen hakemisesta tietokannasta, web-pyynnöistä tai integroinnista Azure-palvelujen kanssa, AutoGen tarjoaa vahvan ekosysteemin monipuolisten sovellusten luomiseksi.
4. Ihmisen osallistuminen ongelmanratkaisuun
Tilanteissa, joissa ihmisen syöttäminen on välttämätöntä, AutoGen tukee ihmisen ja välineen vuorovaikutusta. Kehittäjät voivat konfiguroida välineitä pyytämään ohjausta tai hyväksyntää ihmiskäyttäjältä ennen tiettyjen tehtävien suorittamista. Tämä ominaisuus varmistaa, että kriittiset päätökset tehdään tarkoituksenmukaisesti ja oikealla tasolla valvontaa.
AutoGenin toimintaperiaate: Syväanalyysi
Välineiden alkuasetukset ja konfigurointi
Ensimmäinen vaihe AutoGenin kanssa työskentelemisessä on välineiden asettaminen ja konfigurointi. Kunkin välineen voidaan räätälöidä suorittamaan tiettyjä tehtäviä, ja kehittäjät voivat mukauttaa parametreja, kuten LLM-mallia, käytettäviä taitoja ja suorituskokoonpanoa.
Välineiden vuorovaikutuksen orkesterointi
AutoGen käsittelee välineiden välisen keskustelun järjestelmällisesti. Tyypillinen työvirta saattaa näyttää tältä:
- Tehtävän esittely: Käyttäjä tai väline esittää kysymyksen tai tehtävän.
- Välineiden prosessointi: Asianmukaiset välineet analysoivat syötteen, generoivat vastauksia tai suorittavat toimia.
- Välineiden välinen viestintä: Välineet jakavat tietoja ja näkemyksiä, yhteistyössä tehtävän suorittamiseksi.
- Tehtävän suorittaminen: Välineet suorittavat koodia, hakevat tietoja tai vuorovaikuttavat ulkoisten järjestelmien kanssa tarpeen mukaan.
- Päättäminen: Keskustelu päättyy, kun tehtävä on valmis, virhetaso saavutetaan tai päättämisehdot täyttyvät.
Virheiden käsittely ja itseparantaminen
AutoGenin välineet on suunniteltu käsittelemään virheitä älykkäästi. Jos tehtävä epäonnistuu tai tuottaa virheellisen tuloksen, väline voi analysoida ongelman, yrittää korjata sen ja jopa iteroida ratkaisunsa. Tämä itseparantamiskyky on olennainen luotettavien AI-järjestelmien luomiseksi, jotka voivat toimia itsenäisesti pitkän ajan yli.
Edellytykset ja asennus
Ennen AutoGenin kanssa työskentelemistä varmistathan, että sinulla on vankka ymmärrys AI-välineistä, orkesterointikehyksistä ja Python-ohjelmoinnin perusteista. AutoGen on Python-pohjainen kehys, ja sen täysi potentiaali toteutuu, kun se yhdistetään muihin AI-palveluihin, kuten OpenAI:n GPT-malleihin tai Microsoft Azure AI:hin.
Asenna AutoGen käyttäen pip:
Lisäominaisuuksien, kuten optimoidun hakutoiminnon tai integroinnin ulkoisten kirjastojen kanssa:
Ympäristön määrittely
AutoGen vaatii, että ympäristömuuttujat ja API-avaimet on määritetty turvallisesti. Käydään läpi perusaskelten, joita tarvitaan työtilan alustamiseen ja konfiguroimiseen:
- Ympäristömuuttujien lataaminen: Tallenna herkät API-avaimet
.env-tiedostoon ja lataa nedotenv:n avulla ylläpitämään turvallisuutta. (api_key = os.environ.get(“OPENAI_API_KEY”)) - Kielen mallikonfiguraation valinta: Päätä, mitä LLM:ää aiot käyttää, kuten GPT-4 OpenAI:sta tai muuta haluamaasi mallia. Konfiguraatio-asetukset, kuten API-päätepisteet, mallinimet ja avaimet, on määriteltävä selkeästi, jotta välineiden välinen viestintä olisi vaivatonta.
Rakentaminen AutoGen-välineitä monimutkaisiin skenaarioihin
Monivälinejärjestelmän luomiseksi on määriteltävä välineet ja määriteltävä, miten ne toimivat. AutoGen tukee erilaisia välineitä, joilla kullakin on omat roolinsa ja kykynsä.
Avustaja- ja käyttäjän edustaja-välineiden luominen: Määrittele välineet, joilla on monimutkaiset konfiguraatiot koodin suorittamiseen ja käyttäjien vuorovaikutuksiin:












