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.
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:
Uzyskiwanie adresu e-mail i nazwy użytkownika
Uzyskiwanie adresu e-mail odbiorcy
Pobieranie tematu wiadomości e-mail
Generowanie tematu i treści wiadomości e-mail
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:
Uzyskiwanie adresu e-mail i nazwy użytkownika
Uzyskiwanie adresu e-mail odbiorcy
Pobieranie tematu wiadomości e-mail
Generowanie tematu i treści wiadomości e-mail
Przejrzyj wiadomość e-mail z użytkownikiem i wprowadź zmiany
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.
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię:
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.