KI-Agenten: Von Chatbots zu autonomen Kollegen
Ein Chatbot spricht. Ein Agent handelt. So erstellen Sie ReAct-Schleifen (Reason + Act), die autonom im Internet surfen, Datenbanken abfragen und Flüge buchen können.
Warum Maison Code darüber spricht
Bei Maison Code Paris fungieren wir als das architektonische Gewissen unserer Kunden. Wir übernehmen oft „moderne“ Stacks, die ohne grundlegendes Verständnis für Skalierung gebaut wurden.
Wir diskutieren dieses Thema, weil es einen kritischen Wendepunkt in der technischen Reife darstellt. Die korrekte Implementierung unterscheidet ein fragiles MVP von einer widerstandsfähigen Plattform auf Unternehmensniveau.
Die Entwicklung der Schnittstelle
Das grundlegende Paradigma der Mensch-Computer-Interaktion (HCI) war in den letzten 40 Jahren „Befehl und Kontrolle“. Sie klicken auf eine Schaltfläche und der Computer führt genau eine Aktion aus. Sie geben einen Befehl ein, der Computer führt genau eine Funktion aus. Selbst mit dem Aufkommen von GenAI und ChatGPT blieb das Paradigma weitgehend konversationsorientiert. Sie stellen eine Frage, die Maschine ruft eine Antwort ab. Es ist eine schicke Suchmaschine.
KI-Agenten stellen eine Verlagerung von „Chat“ zu „Action“ dar. Ein Agent weiß nicht nur Dinge. Es macht Dinge. Es ist der Unterschied zwischen einer Wikipedia, die antworten kann: „Wie buche ich einen Flug?“ und ein Concierge, der sagt: „Ich habe Ihren Flug gebucht.“
Warum Maison Code auf Agenten setzt
Wir glauben, dass die „Website“, wie wir sie kennen, im Sterben liegt. In 5 Jahren werden Benutzer nicht mehr 10 Seiten durchklicken, um ein Produkt zu finden. Sie werden ihrem persönlichen Agenten sagen: „Kauf mir ein blaues Hemd.“ Wir erstellen Agent-Ready APIs. Wir stellen sicher, dass die Daten unserer Kunden so strukturiert sind, dass KI-Agenten (Google Gemini, OpenAI, Siri) sie lesen und Transaktionen damit durchführen können. Wenn Ihre Website nicht für Agenten geeignet ist, sind Sie für den größten Verbraucher des nächsten Jahrzehnts unsichtbar: die KI.
1. Das ReAct-Muster: Anatomie eines Agenten
Das bahnbrechende Papier „ReAct: Synergizing Reasoning and Acting in Language Models“ (Yao et al., 2022) hat alles verändert. Vor ReAct waren LLMs nur Textprädiktoren. ReAct gab ihnen einen „Inneren Monolog“ und eine Reihe von „Händen“ (Werkzeugen).
Die Schleife sieht so aus:
- Gedanke: Der Agent analysiert die Anfrage des Benutzers und plant einen Schritt. („Der Benutzer möchte das Wetter in Paris. Ich muss die aktuelle Temperatur finden.“)
- Aktion: Der Agent wählt ein Tool aus seiner Toolbox aus. (“Ich werde
weather_api.get('Paris')aufrufen.”) - Beobachtung: Der Agent liest die Ausgabe des Tools. („Die API hat 20°C zurückgegeben.“)
- Begründung: Der Agent aktualisiert sein Verständnis. („Okay, ich habe die Temperatur. Jetzt kann ich dem Benutzer antworten.“)
- Endgültige Antwort: Der Agent antwortet. („In Paris sind es 20°C.“)
Diese Schleife ermöglicht es dem Agenten, mehrstufige Probleme zu lösen, für die er nie explizit geschult wurde.
2. Code-Implementierung (LangChain / TypeScript)
So implementieren Sie einen einfachen ReAct-Agenten mithilfe von LangChain- und OpenAI-Funktionen.
„Typoskript import { ChatOpenAI } from „@langchain/openai“; import { AgentExecutor, createOpenAIFunctionsAgent } from „langchain/agents“; import { Pull } from „langchain/hub“; import { z } from „zod“; {tool} aus „@langchain/core/tools“ importieren;
// 1. Definieren Sie die Tools // Die „Hände“ des Agenten. Seien Sie im Feld „Beschreibung“ sehr beschreibend. // da der LLM dies verwendet, um zu entscheiden, wann das Tool aufgerufen werden soll.
const searchTool = tool(
async ({ query }) => {
console.log(Suche nach: €{query});
// Simulieren Sie eine Google-Suche
return „Das Wetter in Paris beträgt 20 Grad Celsius mit leichtem Regen.“;
},
{
Name: „search_web“,
Beschreibung: „Suchen Sie im Internet nach aktuellen Ereignissen und Daten.“,
Schema: z.object({
query: z.string().describe(“Die Suchabfrage”),
}),
}
);
const emailTool = tool(
async ({ to, body }) => {
console.log(E-Mail an €{to} senden);
// SMTP simulieren
return „E-Mail erfolgreich gesendet.“;
},
{
Name: „send_email“,
Beschreibung: „Eine E-Mail an einen Benutzer senden.“,
Schema: z.object({
an: z.string().email(),
Körper: z.string(),
}),
}
);
const tools = [searchTool, emailTool];
// 2. Initialisieren Sie das Gehirn (LLM) const model = new ChatOpenAI({ Modellname: „gpt-4-turbo“, Temperatur: 0, // Für Aktionen deterministisch halten });
// 3. Erstellen Sie den Agenten // Wir rufen eine Standard-ReAct-Eingabeaufforderung vom LangChain-Hub ab const prompt = waiting Pull.pull(“hwchase17/openai-functions-agent”);
const agent = Warten auf createOpenAIFunctionsAgent({ llm: Modell, Werkzeuge, schnelle, });
const agentExecutor = new AgentExecutor({ Agent, Werkzeuge, });
// 4. Ausführung // Benutzeranfrage: „Finden Sie das Wetter in Paris heraus und senden Sie es per E-Mail an boss@company.com“ const result = waiting agentExecutor.invoke({ Eingabe: „Finden Sie das Wetter in Paris heraus und senden Sie es per E-Mail an boss@company.com“, });
console.log(result.output); „
Komplettlösung für die Ausführung:
- Eingabe: „Finden Sie das Wetter heraus…“
- LLM-Entscheidung: Das LLM erkennt, dass es das Wetter nicht kennt. Es geht um „Werkzeuge“. Es sieht „search_web“. Es beschließt, es anzurufen.
- Tool-Ausgabe: „Das Wetter in Paris beträgt 20 Grad …“
- LLM-Entscheidung: Es liegen nun die Informationen vor. Auf der Anfrage stand aber auch „per E-Mail senden“. Es geht um „Werkzeuge“. Es sieht „send_email“.
- Aktion: Es wird eine JSON-Nutzlast „{“to“: „boss@company.com“, „body“: „The Weather is 20C“}“ erstellt.
- Tool-Ausgabe: „E-Mail gesendet.“
- Endgültige Antwort: „Ich habe die E-Mail gesendet.“
Dadurch wird der gesamte Arbeitsablauf automatisiert. Der Entwickler hat 0 Zeilen der „Weather to Email“-Logik geschrieben. Die KI hat es herausgefunden.
3. Die Gefahrenzone: Endlosschleifen und Halluzinationen
Einer KI „Hände“ zu geben ist gefährlich. Was passiert, wenn es in einer Schleife stecken bleibt?
- Gedanke: Ich muss ein Ticket kaufen.
- Aktion: Ticket kaufen.
- Beobachtung: Fehler: Kreditkarte abgelehnt.
- Gedanke: Ich sollte es noch einmal versuchen.
- Aktion: Ticket kaufen.
- Beobachtung: Fehler…
- (1000 Mal wiederholen).
Leitplanken sind obligatorisch.
- Max. Iterationen: Begrenzen Sie die ReAct-Schleife hart auf 5 oder 10 Schritte. Wenn das Problem bis dahin nicht behoben ist, brechen Sie den Vorgang ab.
- Human in the Loop: Zwingen Sie den Agenten bei sensiblen Aktionen (Kauf, Löschen, E-Mail-Versand) dazu, eine Bestätigung anzufordern.
- Agent: „Ich bin dabei, diese E-Mail zu senden. Fortfahren? [J/N]“
- Zod-Schema-Validierung: Erzwingen Sie, dass die Tool-Eingaben strengen Typen entsprechen. Wenn das LLM eine Zeichenfolge generiert, in der eine Zahl erforderlich ist, wird bevor das Tool ausgeführt wird, ein Validierungsfehler ausgegeben.
4. Das Speicherproblem (Vektorstatus)
Standard-LLMs verfügen über ein Kurzzeitgedächtnis (Kontextfenster). Wenn Sie eine Stunde lang mit einem Agenten sprechen, vergisst dieser den Beginn des Gesprächs. Um einen wirklich nützlichen „Kollegen“ aufzubauen, braucht es Langzeitgedächtnis. Wir verwenden Vektordatenbanken (Pinecone, Milvus), um „Erinnerungen“ zu speichern.
- Aktion: Der Agent speichert die Zusammenfassung der Besprechung in der Datenbank.
- Abruf: Wenn Sie nächste Woche fragen „Was haben wir über Projekt X besprochen?“, fragt der Agent die Vector-Datenbank ab, ruft den relevanten Block ab und fügt ihn in den Kontext ein. Dies ist RAG (Retrieval Augmented Generation), angewendet auf den Agentenstatus.
5. Fallstudie: Der autonome Kundendienstmitarbeiter
Bei Maison Code haben wir einen L2-Support-Agenten für einen Shopify-Händler mit hohem Volumen eingesetzt. Das Problem: 40 % der Tickets lauteten „Wo ist meine Bestellung?“ (WISMO). Menschliche Agenten verbrachten 5 Minuten pro Ticket:
- E-Mail lesen.
- Bestell-ID kopieren.
- Öffnen Sie Shopify.
- Überprüfen Sie den Status.
- Öffnen Sie das Courier Dashboard (FedEx).
- Überprüfen Sie die Sendungsverfolgung.
- E-Mail schreiben.
Die Agentenlösung: Wir haben einen Agenten mit drei Tools erstellt:
shopify_lookup_order(id)- „fedex_track_package(tracking_number)“.
gmail_reply(text)
Das Ergebnis:
- Zero Touch Resolution: Der Agent hat 85 % der WISMO-Tickets in < 30 Sekunden autonom gelöst.
- Verfügbarkeit rund um die Uhr: Kunden erhielten um 3 Uhr morgens Antworten.
- Kosten: 0,05 € pro Ticket gegenüber 2,50 € für einen menschlichen Agenten.
Wir sind jedoch auf Randfälle gestoßen. Ein Kunde fragte: „Wo ist meine Bestellung?“ hatte aber noch keinen platziert. Der Agent halluzinierte eine Bestell-ID. Wir haben dieses Problem behoben, indem wir vor allen Suchvorgängen einen Schritt „Benutzeridentität überprüfen“ hinzugefügt haben.
6. Multiagentensysteme (LangGraph / CrewAI)
Einzelagenten sind mächtig. Agententeams sind revolutionär. LangGraph ermöglicht Ihnen die Orchestrierung mehrerer Agenten mit unterschiedlichen „Personas“.
- Researcher Agent: Hat „google_search“. Durchsucht das Internet nach Daten.
- Writer Agent: Verfügt über „markdown_formatter“. Nimmt die Recherche auf und schreibt einen Blogbeitrag.
- Editor-Agent: Verfügt über „critique_tool“. Überprüft den Beitrag und lehnt ihn ab, wenn er zu kurz ist.
Sie erstellen ein Diagramm: „Forscher -> Autor -> Herausgeber -> (Bestanden) -> Veröffentlichen“. „Forscher -> Autor -> Herausgeber -> (Ablehnen) -> Autor“.
Dies ahmt den Arbeitsablauf eines echten menschlichen Teams nach. Der „Herausgeber“ hält den „Autor“ in Schach.
7. Die Kosten der Autonomie (Token Economics)
Agenten sind teuer. Eine einzelne einfache Anfrage könnte 10 interne LLM-Aufrufe auslösen (Gedanke -> Aktion -> Gedanke -> Aktion). Wenn Sie GPT-4 verwenden, kostet dies 0,30 € pro Lauf. Optimierungsstrategie:
- Router-Modell: Verwenden Sie ein günstiges Modell (GPT-3.5) für die Routing-Logik („Welches Tool verwende ich?“).
- Lösermodell: Verwenden Sie ein teures Modell (GPT-4) für die komplexe Generierung („Write the email“).
- Caching: Zwischenspeichern der Ergebnisse teurer Toolaufrufe (z. B. SQL-Abfragen). Die Wirtschaftlichkeit wird die Einführung bestimmen.
8. Die Zukunft: 2026 und darüber hinaus
Wir bewegen uns weg vom „Prompt Engineering“ (mit dem Bot sprechen) hin zum „Flow Engineering“ (Entwerfen des Agentendiagramms). Im Jahr 2026 wird Software nicht mehr aus einer Reihe statischer Schaltflächen bestehen. Es wird ein „zielorientiertes Betriebssystem“ sein. Sie sagen Ihrem Computer: „Planen Sie eine Reise nach Japan für weniger als 5.000 US-Dollar“, und er reagiert. Es wird Expedia durchsuchen. Es wird Ihren Kalender überprüfen. Es wird per E-Mail verhandelt. Wir bauen die Universelle Schnittstelle.
9. Fazit
Building Agents ist die aufregendste technische Herausforderung unseres Jahrzehnts. Es erfordert eine Mischung aus Hard Engineering (API-Zuverlässigkeit, Caching, Typen) und Soft Psychology (Prompting, Argumentationsschleifen). Fangen Sie klein an. Geben Sie Ihrem Agenten ein Tool. Beobachten Sie, wie es funktioniert. Dann gib es noch einmal. Bald werden Sie keine Software mehr schreiben. Sie werden es schaffen.
Brauchen Sie eine autonome Belegschaft?
Wir bauen sichere, deterministische KI-Agentenflotten auf, um Betrieb, Support und Vertrieb zu automatisieren.
Stellen Sie meine Agenten ein. Beauftragen Sie unsere Architekten.