\n\n\n\n Mein AI-Agenten-Austauschplan für März 2026 Agent 101 \n

Mein AI-Agenten-Austauschplan für März 2026

📖 12 min read2,386 wordsUpdated Mar 29, 2026

Hallo zusammen, Emma hier von agent101.net!

Es ist der 28. März 2026, und wenn du genauso bist wie ich, hast du wahrscheinlich die letzten Monate das Gefühl gehabt, dass du ständig versuchst, mit der Welt der KI-Agenten Schritt zu halten. Jede Woche gibt es ein neues Framework, ein neues Tool, eine neue philosophische Debatte darüber, ob Agenten die Welt übernehmen oder einfach nur meine Zahnarzttermine besser verwalten. Mein Posteingang ist ein Friedhof von „Must-Read“-Artikeln, die ich noch nicht gelesen habe, und meine Browser-Tabs sind ein wackeliger Jenga-Turm aus halb gelesenen Tutorials.

Im Ernst, es kann so wirken, als ob jeder andere es einfach „versteht“. Währenddessen sitze ich hier und versuche immer noch, den Unterschied zwischen einem „agentischen Workflow“ und einem ganz normalen Skript, das eine API aufruft, zu begreifen. Kommt dir das bekannt vor? Gut, denn du bist hier genau richtig.

Heute möchte ich über etwas sprechen, das für mich ein echter Wendepunkt im Verständnis von KI-Agenten war: das bescheidene „Tool.“ Genauer gesagt, wie das Bereitstellen der *richtigen* Werkzeuge und das Verständnis, *warum* diese Werkzeuge wichtig sind, den entscheidenden Unterschied ausmacht. Wir werden einen super einfachen, aber unglaublich aufschlussreichen, „intelligenten“ Notizen-Agenten entwickeln. Er wird deinen Roman nicht schreiben, aber er wird dir das Kernprinzip zeigen, wie Agenten mit der Außenwelt interagieren, was, ehrlich gesagt, die geheime Zutat ist.

Warum Werkzeuge die Superkraft des Agenten sind (und dein Lern-Durchbruch)

Für lange Zeit war mein mentales Modell eines KI-Agenten im Grunde ein wirklich schlauer Chatbot. Du sprichst mit ihm, er spricht zurück, vielleicht fasst er einige Dinge zusammen. Und während das ein Teil davon ist, fehlt das entscheidende Element: Handlungsfähigkeit. Ein Agent reagiert nicht nur; er *handelt*. Und um zu handeln, braucht er Dinge, mit denen er *handeln* kann.

Denk an einen menschlichen Assistenten. Wenn ich meinen Assistenten frage: „Hey, kannst du mir den besten Flug nach Tokio nächsten Monat finden?“, sitzt er nicht einfach da und denkt angestrengt nach. Er öffnet einen Browser, geht auf eine Flugbuchungsseite, gibt Kriterien ein, vergleicht Preise und kommt dann mit Optionen zu mir zurück. Der Browser, die Buchungsseite – das sind seine Werkzeuge.

KI-Agenten sind da nicht anders. Im Auslieferungszustand ist ein großes Sprachmodell (LLM) brillant im Verständnis von Sprache und der Generierung von Text. Aber es kann darüber hinaus nicht viel *tun*. Es kann nicht im Internet surfen, es kann keinen Code ausführen, es kann keine Dateien auf deiner Festplatte speichern. Um diese Aktionen auszuführen, musst du ihm spezifische Funktionen geben – seine Werkzeuge.

Diese Erkenntnis traf mich vor ein paar Monaten wie ein Schlag. Ich versuchte gerade, einem Agenten Nachrichtenartikel zu besorgen. Ich futterte ihm Artikel zu, und er fasste sie perfekt zusammen, aber ich wollte, dass er zuerst die Artikel *findet*. Ich war im „LLM als Gehirn“-Denken gefangen. Als ich verstand, dass ich ihm ein „Websuchwerkzeug“ geben musste, fiel plötzlich das ganze Puzzle an seinen Platz. Es ging nicht darum, dass das LLM schlauer wurde; es ging darum, dem LLM die Fähigkeit zu geben, mit der Welt zu interagieren.

Unser Ziel: Ein intelligenter Notizeneinnehmer, der *erinnert*

Heute werden wir einen sehr einfachen Agenten erstellen, der Notizen machen kann. „Große Sache, Emma“, könntest du sagen, „das kann ich mit Notepad machen.“ Und du hättest recht! Aber unser Agent wird einen entscheidenden Unterschied haben: Er kann *erinnern* und *abrufen*, und er wird entscheiden, *wann* er diese Fähigkeiten nutzen kann.

Das bedeutet, dass er zwei grundlegende Werkzeuge benötigt:

  1. Ein Werkzeug, um eine Notiz zu *speichern*.
  2. Ein Werkzeug, um eine Notiz zu *abrufen*.

Und da wir einfach anfangen, halten wir unser „Gedächtnis“ so grundlegend wie möglich: eine einfache Textdatei auf deinem Computer.

Was du brauchst (Vorflug-Checkliste):

  • Python (ich benutze 3.10+, aber alles Moderne sollte funktionieren).
  • pip zum Installieren von Paketen.
  • Ein API-Schlüssel für ein LLM. Ich werde in diesem Beispiel OpenAIs API verwenden, speziell `gpt-3.5-turbo`, weil sie kosteneffektiv und sehr fähig für diese Art von Aufgabe ist. Wenn du keinen hast, kannst du ihn von der OpenAI-Plattform beziehen. Denk daran, ihn sicher aufzubewahren!
  • Die openai Python-Bibliothek.
  • Die langchain Bibliothek. Ja, ich weiß, LangChain kann sich wie ein ganzes Ungeheuer anfühlen, aber dafür werden wir nur einen kleinen, fokussierten Teil verwenden, um Werkzeuge sauber zu demonstrieren.

Lass uns diese Pakete installieren:


pip install openai langchain

Und richtest du deinen OpenAI API-Schlüssel ein. Der sicherste Weg ist normalerweise über eine Umgebungsvariable:


export OPENAI_API_KEY="your_api_key_here"

Oder, wenn du nur lokal experimentierst, kannst du ihn direkt in dein Skript einfügen (obwohl nicht für den Produktionsbetrieb empfohlen!):


import os
os.environ["OPENAI_API_KEY"] = "your_api_key_here"

Schritt 1: Unsere Werkzeuge definieren

Hier beginnt die Magie. Wir werden Python-Funktionen erstellen, die die Fähigkeiten unseres Agenten repräsentieren. LangChain hat eine schöne Möglichkeit, diese Funktionen in „Werkzeuge“ zu verpacken, die das LLM verstehen kann.

Werkzeug 1: Eine Notiz speichern

Dieses Werkzeug nimmt den Titel einer Notiz und ihren Inhalt und speichert sie in einer einfachen Textdatei. Jede Notiz wird in ihrer eigenen Datei gespeichert, die nach ihrem Titel benannt ist, im Verzeichnis `notes/`.


import os

def save_note(title: str, content: str) -> str:
 """
 Speichert eine Notiz in einer Textdatei.
 Args:
 title (str): Der Titel der Notiz.
 content (str): Der Inhalt der Notiz.
 Returns:
 str: Eine Bestätigungsnachricht.
 """
 notes_dir = "notes"
 if not os.path.exists(notes_dir):
 os.makedirs(notes_dir)

 filename = os.path.join(notes_dir, f"{title.replace(' ', '_').lower()}.txt")
 try:
 with open(filename, "w") as f:
 f.write(content)
 return f"Notiz '{title}' erfolgreich in {filename} gespeichert."
 except Exception as e:
 return f"Fehler beim Speichern der Notiz '{title}': {e}"

# Beispiel, wie man es direkt aufruft
# print(save_note("Meine erste Notiz", "Das ist der Inhalt meiner allerersten Notiz."))

Ein paar Dinge, die hier auffallen sollten:

  • Die Funktion hat eine klare Docstring. Das ist SUPER wichtig, denn das LLM wird diese Docstring lesen, um zu verstehen, was das Werkzeug tut und wie man es benutzt.
  • Es nimmt spezifische Argumente (`title`, `content`) mit Typ-Hinweisen. Das hilft LangChain (und dem LLM), den erwarteten Input zu verstehen.
  • Es gibt einen String zurück. Das ist die Ausgabe, die das LLM sieht, nachdem das Werkzeug ausgeführt wurde.
  • Wir stellen sicher, dass ein `notes`-Verzeichnis existiert. Gute Praxis!

Werkzeug 2: Eine Notiz abrufen

Dieses Werkzeug nimmt den Titel einer Notiz und versucht, ihren Inhalt aus der entsprechenden Textdatei zu lesen.


def retrieve_note(title: str) -> str:
 """
 Ruft den Inhalt einer zuvor gespeicherten Notiz ab.
 Args:
 title (str): Der Titel der Notiz, die abgerufen werden soll.
 Returns:
 str: Der Inhalt der Notiz oder eine Fehlermeldung, falls nicht gefunden.
 """
 notes_dir = "notes"
 filename = os.path.join(notes_dir, f"{title.replace(' ', '_').lower()}.txt")

 if not os.path.exists(filename):
 return f"Notiz '{title}' nicht gefunden."

 try:
 with open(filename, "r") as f:
 content = f.read()
 return f"Inhalt von '{title}':\n---\n{content}\n---"
 except Exception as e:
 return f"Fehler beim Abrufen der Notiz '{title}': {e}"

# Beispiel, wie man es direkt aufruft
# print(retrieve_note("Meine erste Notiz"))

Ähnliche Prinzipien hier: klare Docstring, Typ-Hinweise und eine nützliche Rückgabemeldung.

Schritt 2: Unseren Agenten verdrahten

Jetzt, da wir unsere Funktionen haben, müssen wir LangChain sagen, dass es sie in Werkzeuge verwandeln soll, die unser LLM verwenden kann. Dann werden wir einen Agenten erstellen, der entscheiden kann, *wann* er diese Werkzeuge basierend auf unserem Input nutzt.


from langchain.agents import initialize_agent, AgentType
from langchain_openai import ChatOpenAI
from langchain.tools import Tool
import os # Sicherstellen, dass dies importiert ist, falls nicht bereits

# Initialisierung des LLM (das „Gehirn“ unseres Agenten)
llm = ChatOpenAI(temperature=0, model="gpt-3.5-turbo") # temperature=0 macht es deterministischer

# Definiere unsere Werkzeuge für LangChain
tools = [
 Tool(
 name="SaveNote",
 func=save_note,
 description="Nützlich zum Speichern neuer Notizen oder zum Aktualisieren bestehender. Der Input sollte ein JSON-String mit den Schlüsseln 'title' und 'content' sein."
 ),
 Tool(
 name="RetrieveNote",
 func=retrieve_note,
 description="Nützlich zum Abrufen des Inhalts einer zuvor gespeicherten Notiz. Der Input sollte den exakten 'title' der Notiz sein."
 )
]

# Initialisiere den Agenten
# AgentType.OPENAI_FUNCTIONS ist hervorragend, weil es OpenAIs native Funktionsaufruf-Fähigkeiten nutzt.
# Das bedeutet, das LLM ist explizit darauf trainiert zu entscheiden, wann Funktionen aufgerufen werden und welche Argumente übergeben werden.
agent = initialize_agent(
 tools, 
 llm, 
 agent=AgentType.OPENAI_FUNCTIONS, 
 verbose=True, # Auf True setzen, um den Denkprozess des Agenten zu sehen
 handle_parsing_errors=True # Gut für das Debugging
)

print("Agent initialisiert! Tippe 'exit', um zu beenden.")

# Hauptinteraktionsschleife
while True:
 user_input = input("\nWas möchtest du mit deinen Notizen tun? (Tippe 'exit', um zu beenden) > ")
 if user_input.lower() == 'exit':
 break
 
 try:
 result = agent.run(user_input)
 print(f"\nAntwort des Agenten: {result}")
 except Exception as e:
 print(f"Ein Fehler ist aufgetreten: {e}")

Lass uns die wichtigen Punkte aufschlüsseln:

  • `ChatOpenAI(temperature=0, model=”gpt-3.5-turbo”)`: Das ist unser LLM. `temperature=0` macht es weniger kreativ und fokussiert sich mehr auf die logische Aufgabenbearbeitung, was normalerweise das ist, was man für Agenten möchte.
  • `Tool(…)`: So umschließen wir unsere Python-Funktionen in etwas, das LangChain nutzen kann.
    • `name`: Ein einzigartiger Identifikator für das Tool.
    • `func`: Die tatsächliche Python-Funktion, die wir definiert haben.
    • `description`: DAFÜR IST ES WICHTIG! Das LLM liest dies, um zu verstehen, *wann* und *wie* es dein Tool verwenden soll. Sei klar und spezifisch über den Zweck und das erwartete Eingabeformat. Ich habe JSON für `SaveNote` spezifiziert, weil es mehrere Argumente hat.
  • `initialize_agent(…)`: Hier erstellen wir unseren Agenten.
    • `tools`: Unsere Liste von Tools.
    • `llm`: Unser LLM-Gehirn.
    • `agent=AgentType.OPENAI_FUNCTIONS`: Das ist der spezifische Typ von Agent, der die Funktionalität von OpenAI nutzt. Darin ist er wirklich gut!
    • `verbose=True`: Das ist dein bester Freund beim Debuggen! Es zeigt dir den “Denkeprozess” des Agenten – was er denkt, welches Tool er aufruft und die Ausgabe des Tools.

Lasst uns unseren Agenten auf die Probe stellen!

Speichere den obigen Code als etwas wie `note_agent.py` und führe ihn von deinem Terminal aus:


python note_agent.py

Versuche jetzt diese Eingaben:

Szenario 1: Eine neue Notiz speichern


Was möchtest du mit deinen Notizen machen? > Ich muss eine Notiz über meine Einkaufsliste speichern. Der Inhalt ist: Milch, Eier, Brot, Kaffee.

Beobachte die ausführliche Ausgabe! Du solltest sehen, wie der Agent erkennt, dass er das Tool `SaveNote` verwenden muss, die Argumente formuliert, das Tool aufruft und dann die Ausgabe des Tools an dich zurückmeldet.

Überprüfe dein Verzeichnis `notes/`. Du solltest eine Datei mit dem Namen `grocery_list.txt` mit dem Inhalt sehen!

Szenario 2: Eine Notiz abrufen


Was möchtest du mit deinen Notizen machen? > Kannst du mir die Notiz der Einkaufsliste zeigen?

Noch einmal, beobachte den Denkprozess des Agenten. Er sollte `RetrieveNote` als das geeignete Tool identifizieren und den Inhalt zurückgeben.

Szenario 3: Eine komplexere Anfrage (Entscheidungsfindung)


Was möchtest du mit deinen Notizen machen? > Ich habe gerade daran gedacht, dass ich Butter zur Einkaufsliste hinzufügen muss. Dann muss ich mich an eine Besprechungsnotiz erinnern, die ich mit dem Titel 'Projekt Alpha Kickoff' gespeichert habe.

Hier sollte der Agent zuerst entscheiden, die Einkaufsliste *aktualisieren* (indem er eine neue Version speichert) und *dann* die Projekt Alpha-Notiz abrufen. Dies zeigt seine sequentielle Logik und Fähigkeit zur Nutzung von Tools.

Szenario 4: Etwas, was er nicht tun kann (und wie er damit umgeht)


Was möchtest du mit deinen Notizen machen? > Kannst du eine E-Mail an meinen Chef über die Einkaufsliste senden?

Der Agent hat kein “E-Mail senden”-Tool. Er sollte dies anerkennen und entsprechend antworten und erklären, dass er diese Aktion nicht ausführen kann, weil ihm die notwendigen Tools fehlen.

Was wir gerade gebaut haben und warum es wichtig ist

Du hast gerade einen KI-Agenten gebaut, der:

  1. Deine Absicht verstehen kann: Er hat herausgefunden, ob du speichern oder abrufen wolltest.
  2. Entscheidungen treffen kann: Er hat das richtige Tool basierend auf deiner Anfrage ausgewählt.
  3. Aktionen ausführen kann: Er hat die Python-Funktionen, die du bereitgestellt hast, aufgerufen.
  4. Ergebnisse verarbeiten kann: Er hat die Ausgabe des Tools gelesen und dir geantwortet.

Dieser einfache Notizen-Macher demonstriert die Kernschleife von fast jedem fortgeschrittenen KI-Agenten, der existiert. Der Unterschied zwischen diesem und einem super komplexen Agenten ist nicht das grundlegende Prinzip; es ist die *Anzahl* und *Komplexität* der Tools, auf die er zugreifen kann. Stell dir vor, unser Agent hätte auch Tools für:

  • Das Internet durchsuchen
  • E-Mails senden
  • Kalendererinnerungen festlegen
  • Python-Code-Snippets ausführen
  • Mit einer Datenbank interagieren

Die Möglichkeiten explodieren, wenn du anfängst, Agenten als “Gehirne mit Händen” (diese Hände sind die Tools) zu betrachten.

Umsetzbare Erkenntnisse für deine Agentenreise:

  1. Starte einfach mit Tools: Versuche nicht, an Tag eins einen Agenten zur Weltherrschaft zu bauen. Wähle ein oder zwei spezifische externe Aktionen aus, die du von einem Agenten durchführen lassen möchtest, definiere sie als Python-Funktionen und verbinde sie dann.
  2. Meistere die Beschreibung: Das Feld `description` für deine Tools ist von größter Bedeutung. Nimm dir Zeit, klare, prägnante Beschreibungen zu erstellen, die dem LLM genau sagen, was das Tool tut, wann es verwendet werden soll und welche Art von Eingabe es erwartet. So “versteht” das LLM deine Tools.
  3. Verwende `verbose=True`: Im Ernst, das ist dein bester Freund. Es macht den Prozess des Agenten transparent und hilft dir zu verstehen, warum er bestimmte Entscheidungen trifft (oder stecken bleibt).
  4. Denke “Tool-First”: Wenn du auf eine Aufgabe stößt, die du einem Agenten geben möchtest, frage dich zuerst: “Welche externen Aktionen oder Informationen benötigt diese Aufgabe?” Jede dieser externen Aktionen ist ein potenzielles Tool.
  5. Experimentiere mit Eingabeformaten: Für Tools mit mehreren Argumenten funktioniert es oft sehr gut, anzugeben, dass die Eingabe ein JSON-String sein sollte, insbesondere bei `AgentType.OPENAI_FUNCTIONS`, da das LLM gut darin ist, strukturiertes JSON zu generieren.

Ich hoffe, dieser tiefere Einblick in Tools hilft dir, KI-Agenten ebenso zu entmystifizieren wie mir. Es geht nicht um Magie; es geht darum, einem leistungsstarken Sprachmodell die richtigen Schnittstellen zu geben, um mit der Welt zu interagieren. Geh los, baue einige Tools und lass deine Agenten arbeiten!

Bis zum nächsten Mal, viel Spaß beim Agentenbauen!

Emma

agent101.net

🕒 Published:

🎓
Written by Jake Chen

AI educator passionate about making complex agent technology accessible. Created online courses reaching 10,000+ students.

Learn more →

Leave a Comment

Your email address will not be published. Required fields are marked *

Browse Topics: Beginner Guides | Explainers | Guides | Opinion | Safety & Ethics

Related Sites

AgntdevAgntlogBot-1Agntzen
Scroll to Top