Een overzicht van de agentarchitectuur (experimenteel)
Waarschuwing
Het Semantic Kernel Agent Framework is experimenteel, nog steeds in ontwikkeling en kan worden gewijzigd.
Dit artikel bevat belangrijke concepten in de architectuur van het Agent Framework, waaronder basisprincipes, ontwerpdoelstellingen en strategische doelen.
Doelstellingen
Het Agent Framework is ontwikkeld met de volgende belangrijke prioriteiten in gedachten:
- Het Semantische Kernel-framework fungeert als de basis voor het implementeren van agentfunctionaliteiten.
- Meerdere agents kunnen samenwerken binnen één gesprek, terwijl menselijke invoer wordt geïntegreerd.
- Een agent kan gelijktijdig meerdere gelijktijdige gesprekken aangaan en beheren.
- Verschillende typen agents kunnen deelnemen aan hetzelfde gesprek, elk met hun unieke mogelijkheden.
Agent
De abstracte agentklasse fungeert als de kernabstractie voor alle typen agents, waardoor een basisstructuur wordt geboden die kan worden uitgebreid om meer gespecialiseerde agents te maken. Eén sleutelsubklasse is KernelAgent, waarmee een directe koppeling met een Kernel-object tot stand wordt brengt. Deze relatie vormt de basis voor specifiekere agent-implementaties, zoals de chatvoltooiingsagent en de Open AI Assistant-agent, die beide gebruikmaken van de mogelijkheden van de kernel om hun respectieve functies uit te voeren.
Agents zijn momenteel niet beschikbaar in Java.
Agents kunnen rechtstreeks worden aangeroepen om taken uit te voeren of te organiseren in een agentchat, waarbij meerdere agents mogelijk samenwerken of dynamisch kunnen communiceren met gebruikersinvoer. Met deze flexibele structuur kunnen agents zich aanpassen aan verschillende gespreks- of taakgestuurde scenario's, waardoor ontwikkelaars robuuste hulpprogramma's kunnen bieden voor het bouwen van intelligente systemen met meerdere agents.
Uitgebreide uitleg:
AgentChat
De agentchatklasse fungeert als het basisonderdeel waarmee agents van elk type kunnen deelnemen aan een specifiek gesprek. Deze klasse biedt de essentiële mogelijkheden voor het beheren van agentinteracties in een chatomgeving. Verder op deze manier breidt de klasse Agent Group Chat deze mogelijkheden uit door een stategy-gebaseerde container aan te bieden, waardoor meerdere agents kunnen samenwerken aan talloze interacties binnen hetzelfde gesprek.
Deze structuur faciliteert complexere scenario's met meerdere agents waarbij verschillende agents kunnen samenwerken, informatie kunnen delen en dynamisch kunnen reageren op veranderende gesprekken, waardoor het een ideale oplossing is voor geavanceerde gebruiksvoorbeelden, zoals klantondersteuning, multi-facet taakbeheer of samenwerkingsomgevingen voor probleemoplossing.
Uitgebreide uitleg:
Agentkanaal
Met de klasse AgentKanaal kunnen agents van verschillende typen deelnemen aan een agentchat. Deze functionaliteit is volledig verborgen voor gebruikers van het Agent Framework en hoeft alleen te worden overwogen door ontwikkelaars die een aangepaste agent maken.
Agents zijn momenteel niet beschikbaar in Java.
Agentuitlijning met Semantische kernelfuncties
Het Agent Framework is gebaseerd op de fundamentele concepten en functies die veel ontwikkelaars kennen binnen het Semantische Kernel-ecosysteem . Deze kernprincipes fungeren als de bouwstenen voor het ontwerp van het Agent Framework. Door gebruik te maken van de vertrouwde structuur en mogelijkheden van de Semantische kernel, breidt het Agent Framework de functionaliteit uit om geavanceerdere, autonome agentgedrag mogelijk te maken, terwijl de consistentie met de bredere Semantische Kernel-architectuur behouden blijft. Dit zorgt voor een soepele overgang voor ontwikkelaars, zodat ze hun bestaande kennis kunnen toepassen om intelligente, aanpasbare agents binnen het framework te maken.
De kernel
Het hart van het Semantische Kernel-ecosysteem is de Kernel, die fungeert als het kernobject dat AI-bewerkingen en interacties aanstuurt. Voor het maken van een agent binnen dit framework is een kernelexemplaren vereist, omdat deze de basiscontext en mogelijkheden biedt voor de functionaliteit van de agent. De kernel fungeert als de engine voor het verwerken van instructies, het beheren van de status en het aanroepen van de benodigde AI-services die het gedrag van de agent mogelijk maken.
In de artikelen chatvoltooiingsagent en Open AI Assistant Agent vindt u specifieke informatie over het maken van elk type agent. Deze resources bieden stapsgewijze instructies en markeren de belangrijkste configuraties die nodig zijn om de agents aan te passen aan verschillende gespreks- of taaktoepassingen, waarmee wordt gedemonstreerd hoe de kernel dynamisch en intelligent agentgedrag mogelijk maakt in diverse gebruiksscenario's.
Gerelateerde API's:
Agents zijn momenteel niet beschikbaar in Java.
Invoegtoepassingen en functie-aanroepen
Invoegtoepassingen zijn een fundamenteel aspect van de Semantische kernel, waardoor ontwikkelaars aangepaste functionaliteiten kunnen integreren en de mogelijkheden van een AI-toepassing kunnen uitbreiden. Deze invoegtoepassingen bieden een flexibele manier om gespecialiseerde functies of bedrijfsspecifieke logica op te nemen in de kern-AI-werkstromen. Daarnaast kunnen agentmogelijkheden binnen het framework aanzienlijk worden verbeterd door invoegtoepassingen te gebruiken en functiegesprekken te gebruiken. Hierdoor kunnen agents dynamisch communiceren met externe services of complexe taken uitvoeren, waardoor het bereik en de veelzijdigheid van het AI-systeem binnen diverse toepassingen verder worden uitgebreid.
Voorbeeld:
Gerelateerde API's:
Agents zijn momenteel niet beschikbaar in Java.
Agentberichten
Agentberichten, inclusief invoer en respons, zijn gebaseerd op de kerninhoudstypen van de Semantische kernel, die een uniforme structuur bieden voor communicatie. Deze ontwerpkeuze vereenvoudigt het proces van overgang van traditionele patronen voor chatvoltooiing tot geavanceerdere door agents gestuurde patronen in uw toepassingsontwikkeling. Door gebruik te maken van bekende Semantische Kernel-inhoudstypen , kunnen ontwikkelaars naadloos agentmogelijkheden in hun toepassingen integreren zonder bestaande systemen te hoeven herzien. Deze stroomlijning zorgt ervoor dat naarmate u zich ontwikkelt van eenvoudige conversationele AI tot meer autonome, taakgerichte agents, het onderliggende framework consistent blijft, waardoor ontwikkeling sneller en efficiënter wordt.
Opmerking: de Open AI Assistant-agent'_ heeft inhoudstypen geïntroduceerd die specifiek zijn voor het gebruik ervan voor bestandsverwijzingen en aantekening van inhoud:
Gerelateerde API's:
Agents zijn momenteel niet beschikbaar in Java.
Temping
De rol van een agent wordt voornamelijk gevormd door de instructies die worden ontvangen, die het gedrag en de acties dicteren. Net als bij het aanroepen van een kernelprompt kunnen de instructies van een agent sjabloonparameters ( zowel waarden als functies) bevatten die dynamisch worden vervangen tijdens de uitvoering. Dit maakt flexibele, contextbewuste antwoorden mogelijk, zodat de agent de uitvoer kan aanpassen op basis van realtime invoer.
Daarnaast kan een agent rechtstreeks worden geconfigureerd met behulp van een promptsjabloonconfiguratie, zodat ontwikkelaars een gestructureerde en herbruikbare manier hebben om het gedrag ervan te definiëren. Deze aanpak biedt een krachtig hulpmiddel voor het standaardiseren en aanpassen van agentinstructies, waardoor consistentie in verschillende gebruiksscenario's gewaarborgd blijft, terwijl dynamische aanpassingsvermogen behouden blijft.
Voorbeeld:
Gerelateerde API's:
Agents zijn momenteel niet beschikbaar in Java.
Chatvoltooiing
De chatvoltooiingsagent is ontworpen rond elke Semantische Kernel AI-service en biedt een flexibele en handige persona-inkapseling die naadloos kan worden geïntegreerd in een breed scala aan toepassingen. Met deze agent kunnen ontwikkelaars eenvoudig conversationele AI-mogelijkheden in hun systemen opnemen zonder dat ze te maken hebben met complexe implementatiedetails. Het weerspiegelt de functies en patronen in de onderliggende AI-service, waardoor alle functies, zoals verwerking van natuurlijke taal, dialoogbeheer en contextueel begrip, volledig worden ondersteund in de chatvoltooiingsagent, waardoor het een krachtig hulpmiddel is voor het bouwen van gespreksinterfaces.
Gerelateerde API's:
Agents zijn momenteel niet beschikbaar in Java.