Einführung in Generative KI Agenten
Während traditionelle KI-Systeme oft starr und regelbasiert sind, also nicht einmal selbst bestimmen können, welche Schritte sie als nächstes ausführen, bieten generative KI Agenten eine neue Dimension der Flexibilität und Autonomie. Diese Agenten sind in der Lage, menschenähnliche Inhalte zu generieren und komplexe Aufgaben eigenständig zu bewältigen, ähnlich wie ein Mensch. Generative KI Agents sind faszinierende „Entitäten“ mit mehr Eigenständigkeit als klassische KI-Systeme.
In diesem Blogpost erfahrt ihr alles über generative KI Agenten, einschließlich ihrer Funktionsweise und wie wir bei Evoya AI diese Technologie einsetzen.
Technische Grundlagen der KI Agenten
Algorithmus eines LangChain Agents
Um das Konzept der generativen KI Agents besser zu verstehen, betrachten wir das Beispiel der LangChain Agents. LangChain Agenten sind Systeme, die ein Sprachmodell (Language Model, LLM) nutzen, um mit verschiedenen Tools zu interagieren und Aufgaben wie das Beantworten von Fragen, das Interagieren mit APIs oder das Treffen von Entscheidungen basierend auf den Ergebnissen des Modells auszuführen. Der Kern der LangChain Agents besteht darin, das Sprachmodell als Entscheidungsmaschine zu verwenden, um zu bestimmen, welche Aktionen in welcher Reihenfolge ausgeführt werden sollen, im Gegensatz zu fest kodierten Aktionssequenzen in traditionellen Chains.
Komponenten eines LangChain Agents
- Language Model (LLM): Das Sprachmodell wird verwendet, um Entscheidungen darüber zu treffen, welche Aktionen ausgeführt werden sollen. Dank LangChain können diverse LLMs wie OpenAI GPT 4o, Claude Sonnet, oder das Open-Source-Modell Llama 3 (Meta) verwendet werden.
- Tools: Diese bieten zusätzliche Funktionalitäten für Aufgaben wie Datenabruf oder -verarbeitung oder Ausführung von Aktionen
- Memory: Ermöglicht es dem Agenten, Informationen zu speichern und abzurufen, um den Kontext während der Entscheidungsfindung aufrechtzuerhalten.
Algorithmus-Schritte
- Initialisierung des LLM: Konfiguration des Sprachmodells mit Parametern wie Temperatur, die die Zufälligkeit der Ausgaben des Modells steuert.
- Laden der Tools: Auswählen und Laden der Tools, die dem Agenten zusätzliche Funktionalitäten bieten. Diese Tools können entweder von LangChain bereitgestellt oder benutzerdefiniert sein.
- Initialisierung des Agenten: Instanziierung des Agenten mit dem initialisierten LLM und den geladenen Tools. Dies kann mit der Funktion
initialize_agent
erfolgen, die die Erstellung des Agenten mit Standardeinstellungen vereinfacht. - Ausführung des Agenten: Der Agent führt eine Kette von Aktionen basierend auf einem gegebenen Prompt aus, interagiert mit Tools und nutzt die Entscheidungsfähigkeiten des Sprachmodells. Der Agent beobachtet die Ergebnisse jeder Aktion, wiederholt den Prozess bei Bedarf und liefert letztendlich eine endgültige Antwort auf die ursprüngliche Eingabe.
- Speicherverwaltung: Während der Ausführung nutzt der Agent den Speicher, um Informationen zu speichern und den Kontext für personalisierte und kohärente Interaktionen aufrechtzuerhalten. Der Speicher hilft dem Agenten, den Kontext des Gesprächs zu verstehen, Wissen im Laufe der Zeit zu akkumulieren, Antworten zu personalisieren und Kontinuität in den Interaktionen sicherzustellen.
Beispiel für die Implementierung eines LangChain Agents
Hier ist ein Beispiel, wie man einen LangChain Agenten mit mehreren Tools und Multi-Input Tools implementieren kann:
from langchain.agents import initialize_agent, AgentType
from langchain.llms import OpenAI
from langchain.tools import Tool
from langchain.memory import ConversationBufferMemory
# Initialisierung des Sprachmodells
llm = OpenAI(temperature=0)
# Definieren der Tools
search_tool = Tool(
name="search",
func=lambda query: f"Searching for {query}",
description="Tool to search the web"
)
calculator_tool = Tool(
name="calculator",
func=lambda expression: eval(expression),
description="Tool to perform calculations"
)
# Initialisierung des Agenten mit Tools
agent = initialize_agent(
tools=[search_tool, calculator_tool],
llm=llm,
agent_type=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
memory=ConversationBufferMemory()
)
# Ausführung des Agenten mit einem Prompt
prompt = "Wie ist das Wetter in Zürich und was ist 5 + 3?"
response = agent.run(prompt)
# Ausgabe der Antwort
print(response)
Quelle: LangChain Documentation – Quick Start
REACT: Reasoning and Acting
Ein wichtiger Aspekt bei der Funktionsweise von LangChain Agents ist das REACT-Modell, das für „Reasoning and Acting“ steht. Dieses Modell ermöglicht es dem Agenten, nicht nur auf Basis von vordefinierten Regeln zu handeln, sondern auch komplexe Überlegungen anzustellen und Entscheidungen zu treffen, die auf dem Kontext und den verfügbaren Informationen basieren.
Beispiel-Ablauf
Der Benutzer stellt die Frage, sieht aber nichts von den Zwischenschritten des Agenten. Dieser gibt am Ende nur die finale Antwort zurück an den Benutzer.
User: Wie ist das Wetter in Zürich und was ist 5 + 3?
Agent:
1. Reasoning: Um die Frage nach dem Wetter in Zürich zu beantworten, muss ich eine Websuche durchführen.
2. Acting: Verwende das 'search' Tool, um nach dem Wetter in Zürich zu suchen.
3. Result: Das aktuelle Wetter in Zürich ist sonnig bei 25 Grad Celsius.
4. Reasoning: Um die zweite Frage zu beantworten, muss ich eine Berechnung durchführen.
5. Acting: Verwende das 'calculator' Tool, um die Berechnung 5 + 3 durchzuführen.
6. Result: 5 + 3 ergibt 8.
7. Final Answer: Das Wetter in Zürich ist sonnig bei 25 Grad Celsius und 5 + 3 ergibt 8.
Quelle: LangChain Documentation – Zero Shot React Description
Weitere Agent-Modelle bei LangChain
Neben dem REACT-Modell bietet LangChain eine Vielzahl weiterer Agent-Modelle, die für unterschiedliche Anwendungsfälle optimiert sind:
- Zero-Shot ReAct: Ein Modell ohne Gedächtnis, das für einmalige Anfragen geeignet ist.
- Conversational ReAct: Ein Modell mit Gedächtnis, das den Kontext über mehrere Interaktionen hinweg beibehält.
- ReAct Docstore: Ein Modell, das speziell für die Interaktion mit Dokumentenspeichern entwickelt wurde.
- Self-ask with Search: Ein Modell, das selbstständig Fragen stellt und die Antworten sucht.
Quelle: LangChain Documentation – Agent Types
Wie wir bei Evoya AI Agenten verwenden
Bei Evoya AI setzen wir generative KI Agenten als das Herzstück der Evoya AI Plattform ein, um eine Vielzahl von Aufgaben effizient und intelligent zu lösen. Wir integrieren diese Agenten in unsere Systeme, um unseren Kunden maßgeschneiderte Lösungen zu bieten. Unsere Agenten sind in der Lage, mit verschiedenen Tools zu interagieren, einschließlich Anbindungen an CRM– oder ERP-Systeme, was besonders für unsere Firmenkunden von großem Nutzen ist. Als Besonderheit verwenden wir spezialisierte Agenten auch mehrstufig als kooperierendes Team.
Wir evaluieren ständig die neuesten Ansätze und Technologien, um sicherzustellen, dass unsere Agenten immer auf dem neuesten Stand sind. Wenn Sie mehr darüber erfahren möchten, wie wir generative KI Agents einsetzen und wie sie Ihrem Unternehmen helfen können, bieten wir gerne eine Demo an. Kontaktieren Sie uns hier.
Weiterführende Literatur
Für diejenigen, die tiefer in das Thema eintauchen möchten, gibt es einige bemerkenswerte Forschungsarbeiten und Studien zu generativen KI Agenten:
- Generative Agents: Interactive Simulacra of Human Behavior
Diese Arbeit führt generative Agenten ein, die menschliches Verhalten simulieren. Link zur Studie - Generative AI Agent for Next-Generation MIMO Design
Diese Studie untersucht generative KI-Agenten im Kontext des Designs von MIMO-Systemen. Link zur Studie - Generative AI at Work
Diese Studie analysiert die Einführung generativer KI-basierter Konversationsassistenten in der Kundenbetreuung. Link zur Studie