Agents en copilots breiden beide de mogelijkheden van een LLM uit door op intelligente wijze externe functionaliteit aan te roepen, zoals het verzenden van een e-mailbericht.
Een agent is een kunstmatige intelligentie die vragen kan beantwoorden en processen voor gebruikers kan automatiseren. Agents kunnen bepalen welke functies voldoen aan het doel van een gebruiker en deze functies vervolgens namens de gebruiker aanroepen.
Een copilot is een type agent dat naast een gebruiker werkt. In tegenstelling tot een agent is een copilot niet volledig geautomatiseerd. Het is afhankelijk van gebruikersinteractie. Een copilot kan een gebruiker helpen een taak te voltooien door suggesties en aanbevelingen te geven.
Stel dat u een helper-app voor e-mailchats bouwt. Naast de LLM hebt u ook een invoegtoepassing nodig om e-mailgerelateerde acties uit te voeren, evenals invoegtoepassingen voor zoeken, samenvatten, bepalen van intentie en dergelijke. U kunt systeemeigen functies, out-of-the-box plugins en uw eigen aangepaste invoegtoepassingen gebruiken.
Het maken van de plugins is slechts de helft van de strijd: u moet nog steeds de juiste functies op het juiste moment aanroepen, een proces dat foutgevoelig en inefficiënt kan zijn. Een agent kan het beter afhandelen.
Een agent bepaalt automatisch welke reeks functies een LLM kan gebruiken om een gebruikersdoel te bereiken. Stel dat u een chat-app hebt die nieuwe Postvak IN-items beoordeelt en bepaalt welke actie elk item vereist. Als u een agent instelt, kan deze de benodigde invoegtoepassingsfuncties indelen en de stappen automatisch uitvoeren.
Onderdelen van een agent
Elke agent heeft drie kernbouwstenen: een persona, plug-ins en planners.
Persona's bepalen hoe agents reageren op gebruikers of acties uitvoeren.
Met invoegtoepassingen kunnen agents informatie ophalen van de gebruiker of andere systemen. U kunt vooraf gebouwde invoegtoepassingen en uw eigen aangepaste invoegtoepassingen gebruiken.
De persona van een agent is zijn identiteit: invoegtoepassingen en planners die de agent gebruikt zijn hulpprogramma's, maar de persona bepaalt hoe deze hulpprogramma's worden gebruikt. U gebruikt instructies in een prompt om de persona van een agent vast te stellen.
U kunt bijvoorbeeld instructies gebruiken om een agent te laten weten dat het helpt bij het beheren van e-mailberichten en het uitleggen van de beslissingen terwijl ze worden genomen. Uw prompt ziet er ongeveer als volgt uit:
prompt = $"""
<message role="system">
You are a friendly assistant helping people with emails.
When you decide to perform an action, explain your decision and then perform the action.
</message>
"""
Invoegtoepassingen
U gebruikt invoegtoepassingen om dingen te doen die een LLM niet alleen kan doen, zoals het ophalen van gegevens uit externe gegevensbronnen of het voltooien van taken in de echte wereld.
Een LLM kan bijvoorbeeld geen e-mail verzenden, dus om die functie toe te voegen aan een chat-app, moet u een invoegtoepassing maken. Als u tekst uit de e-mailberichten wilt verwerken, kunt u kerninvoegtoepassingen gebruiken, zoals de ConversationSummaryPlugin.
Zorg ervoor dat u de functies in uw invoegtoepassingen duidelijk documenteert. Planners gebruiken deze informatie om te bepalen welke functies beschikbaar zijn.
Planners
Een planner kan beschikbare functies analyseren en alternatieve manieren bedenken om het doel te bereiken.
Invoegtoepassingsfuncties voor aanroepen is niet altijd efficiënt. Stel dat u de getallen tussen 1 en 100 wilt optellen. U kunt een wiskundige invoegtoepassing aanroepen, maar de LLM moet voor elk nummer een afzonderlijk gesprek voeren.
Bovendien is de beste volgorde en combinatie van functies om een doel te bereiken afhankelijk van de details. Stel dat u een helper-app voor e-mailchats bouwt, dus u neemt een invoegtoepassing op om het verzenden van e-mailberichten mogelijk te maken. Sommige e-mailberichten hebben echter mogelijk een andere actie nodig, zoals een vergaderverzoek zonder RSVP. Het verzenden van een antwoord is niet nodig, maar het toevoegen van een agenda-item is. Een planner bekijkt alle beschikbare functies en biedt efficiënte manieren om doelen te bereiken.
Copilots voegen gebruikersinteractie toe
Procesautomatisering heeft veel voordelen, maar soms moet de gebruiker onderweg beslissingen nemen. Een agent kan gebruikersacties niet automatiseren. Daar komen copiloten binnen.
Een agent in uw e-mailchat-app kan het volgende plan voor het verzenden van een e-mail opleveren:
Het e-mailadres en de naam van de gebruiker ophalen
Het e-mailadres van de geadresseerde ophalen
Het onderwerp van het e-mailbericht ophalen
Het onderwerp en de hoofdtekst van het e-mailbericht genereren
Het e-mailbericht verzenden
Erg handig, maar wat als de gebruiker niet tevreden is met de hoofdtekst van de e-mail? Een copilot voegt een stap voor gebruikersinteractie toe aan het plan:
Het e-mailadres en de naam van de gebruiker ophalen
Het e-mailadres van de geadresseerde ophalen
Het onderwerp van het e-mailbericht ophalen
Het onderwerp en de hoofdtekst van het e-mailbericht genereren
Controleer het e-mailbericht met de gebruiker en breng wijzigingen aan
Het e-mailbericht verzenden
Semantische Kernel Chat Copilot-app
Als u aan de slag wilt gaan met copilots, probeert u de Semantische Kernel Chat Copilot, een referentietoepassing voor het bouwen van een chatervaring met een AI-agent.
De bron voor deze inhoud vindt u op GitHub, waar u ook problemen en pull-aanvragen kunt maken en controleren. Bekijk onze gids voor inzenders voor meer informatie.
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven:
In this learning path, you practice building custom agents by using Microsoft Copilot Studio. The skills validated include creating managing topics, working with entities and variables, enhancing agents with generative AI, and publishing agents. The scenario in this experience represents real-world challenges faced by individuals with business-specific expertise who build custom agents.