Lezen in het Engels

Delen via


Hoe agents en copilots werken met LLM's

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

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:

  1. Het e-mailadres en de naam van de gebruiker ophalen
  2. Het e-mailadres van de geadresseerde ophalen
  3. Het onderwerp van het e-mailbericht ophalen
  4. Het onderwerp en de hoofdtekst van het e-mailbericht genereren
  5. 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:

  1. Het e-mailadres en de naam van de gebruiker ophalen
  2. Het e-mailadres van de geadresseerde ophalen
  3. Het onderwerp van het e-mailbericht ophalen
  4. Het onderwerp en de hoofdtekst van het e-mailbericht genereren
  5. Controleer het e-mailbericht met de gebruiker en breng wijzigingen aan
  6. 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.