Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Jak agenci i copilots współpracują z LLMs

Agenci i copiloty rozszerzają możliwości usługi LLM, inteligentnie wywołując funkcje zewnętrzne, takie jak wysyłanie wiadomości e-mail.

  • Agent to sztuczna inteligencja, która może odpowiadać na pytania i automatyzować procesy dla użytkowników. Agenci mogą określić, które funkcje spełnią cel użytkownika, a następnie wywołać te funkcje w imieniu użytkownika.
  • Copilot to typ agenta, który działa obok użytkownika. W przeciwieństwie do agenta, copilot nie jest w pełni zautomatyzowany — opiera się na interakcji użytkownika. Copilot może pomóc użytkownikowi wykonać zadanie, podając sugestie i zalecenia.

Załóżmy na przykład, że tworzysz aplikację pomocnika czatu e-mail. Oprócz llm będziesz również potrzebować wtyczki do wykonywania akcji związanych z pocztą e-mail, a także wtyczek do wyszukiwania, podsumowywania, określania intencji i podobnych. Możesz użyć funkcji natywnych, wtyczek wbudowanych i własnych wtyczek niestandardowych.

Tworzenie wtyczek jest tylko połowę bitwy: nadal trzeba wywołać odpowiednie funkcje w odpowiednim czasie, proces, który może być podatny na błędy i nieefektywne. Agent może go lepiej obsłużyć.

Agent automatycznie decyduje, jakiej sekwencji funkcji może używać llM, aby osiągnąć cel użytkownika. Załóżmy na przykład, że masz aplikację do czatu, która przegląda nowe elementy skrzynki odbiorczej i określa, jakiej akcji wymaga każdy element. Jeśli skonfigurujesz agenta, może on zorganizować niezbędne funkcje wtyczki i wykonać kroki automatycznie.

Składniki agenta

Każdy agent ma trzy podstawowe bloki konstrukcyjne: osobę, wtyczki i planistów.

  • Osoby określają sposób, w jaki agenci reagują na użytkowników lub wykonują akcje.
  • Wtyczki umożliwiają agentom pobieranie informacji z użytkownika lub innych systemów. Możesz użyć wstępnie utworzonych wtyczek i własnych wtyczek niestandardowych.
  • Planiści umożliwiają agentom planowanie korzystania z dostępnych wtyczek.

Osoby

Persona agenta jest jego tożsamością: wszelkie wtyczki i planiści używane przez agenta są narzędziami, ale osoba określa, w jaki sposób używa tych narzędzi. Instrukcje są używane w wierszu polecenia w celu ustanowienia osoby agenta.

Możesz na przykład użyć instrukcji, aby poinformować agenta, że pomaga on osobom zarządzać wiadomościami e-mail i wyjaśniać swoje decyzje w miarę ich podejmowania. Monit może wyglądać mniej więcej tak:

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>
"""

Dodatki plug-in

Wtyczki służą do wykonywania zadań, których usługa LLM nie może zrobić samodzielnie, na przykład pobierania danych z zewnętrznych źródeł danych lub wykonywania zadań w świecie rzeczywistym.

Na przykład usługa LLM nie może wysłać wiadomości e-mail, aby dodać tę funkcję do aplikacji do czatu, należy utworzyć wtyczkę. Aby przetworzyć tekst z wiadomości e-mail, możesz użyć podstawowych wtyczek, takich jak ConversationSummaryPlugin.

Pamiętaj, aby wyraźnie udokumentować funkcje w wtyczkach — planiści używają tych informacji do określenia, jakie funkcje są dostępne.

Planistów

Planista może analizować dostępne funkcje i wymyślać alternatywne sposoby osiągnięcia celu.

Wywoływanie funkcji wtyczek nie zawsze jest wydajne. Załóżmy na przykład, że chcesz zsumować liczby z zakresu od 1 do 100. Można wywołać wtyczkę matematyczną, ale llM musi wykonać oddzielne wywołanie dla każdego numeru.

Co więcej, najlepsza sekwencja i kombinacja funkcji do osiągnięcia celu zależy od szczegółów. Załóżmy na przykład, że tworzysz aplikację pomocnika czatu e-mail, więc dołączysz wtyczkę umożliwiającą wysyłanie wiadomości e-mail. Jednak niektóre wiadomości e-mail mogą wymagać innej akcji, takiej jak wezwanie na spotkanie bez rsVP — wysłanie odpowiedzi nie jest konieczne, ale dodanie elementu kalendarza jest konieczne. Planista analizuje wszystkie dostępne funkcje i prezentuje efektywne sposoby osiągnięcia celów.

Copilots dodaj interakcję użytkownika

Automatyzacja procesów ma wiele korzyści, ale czasami użytkownik musi podejmować decyzje po drodze. Agent nie może zautomatyzować akcji użytkownika. Tam przychodzą copiloty.

Agent w aplikacji do czatu e-mail może utworzyć następujący plan wysyłania wiadomości e-mail:

  1. Uzyskiwanie adresu e-mail i nazwy użytkownika
  2. Uzyskiwanie adresu e-mail odbiorcy
  3. Pobieranie tematu wiadomości e-mail
  4. Generowanie tematu i treści wiadomości e-mail
  5. Wyślij wiadomość e-mail

Bardzo przydatne, ale co zrobić, jeśli użytkownik nie lubi treści wiadomości e-mail? Copilot dodaje krok interakcji użytkownika do planu:

  1. Uzyskiwanie adresu e-mail i nazwy użytkownika
  2. Uzyskiwanie adresu e-mail odbiorcy
  3. Pobieranie tematu wiadomości e-mail
  4. Generowanie tematu i treści wiadomości e-mail
  5. Przejrzyj wiadomość e-mail z użytkownikiem i wprowadź zmiany
  6. Wyślij wiadomość e-mail

Semantyczna aplikacja Chat Copilot jądra

Aby rozpocząć pracę z copilots, wypróbuj Semantic Kernel Chat Copilot, aplikację referencyjną do tworzenia środowiska czatu z agentem sztucznej inteligencji.