Ein KI-Agent kann mehr als nur auf Anfragen antworten.
Er kann:
- Daten Àndern
- API-Anfragen senden
- Dateien erstellen
- Oder Prozesse starten
Das heiĂt: Er kann Aktionen in der realen Welt ausfĂŒhren.
Genau hier entsteht ein neues Problem.
Denn nicht alle Aktionen sind sicher.
Ein Agent kann:
- Daten löschen
- Geld ausgeben
- Oder eine Anfrage an ein externes System senden
Auch wenn du das nicht geplant hast.
Deshalb darf ein Agent nicht alles dĂŒrfen.
Er braucht Grenzen.
Was erlaubte Aktionen sind (Permissions)

Ein Agent hat keinen direkten Zugriff auf Tools.
Er kann nicht selbst:
- Eine Datei öffnen
- Einen Datenbankeintrag Àndern
- Oder eine API-Anfrage senden
Um eine Aktion auszufĂŒhren, muss er ein Tool verwenden.
Und nur die Tools, die er aufrufen darf.
Diese Liste erlaubter Aktionen sind seine Permissions.
Sie definieren:
- Was der Agent kann
- Und was er nicht kann
Berechtigungsstufen
Nicht alle Aktionen sind gleich sicher.
Deshalb werden Berechtigungen meist in Stufen aufgeteilt â je nachdem, wie stark der Agent das System beeinflussen kann.
Read
Der Agent kann Daten abrufen. Er kann sie aber nicht Àndern.
Zum Beispiel: einen Datenbankeintrag lesen, eine Datei öffnen, Status prĂŒfen.
Write
Der Agent kann Daten erstellen oder Àndern.
Zum Beispiel: einen neuen Eintrag erstellen, eine Datei aktualisieren, ein Ergebnis speichern.
Execute
Der Agent kann Prozesse oder externe Services aufrufen.
Zum Beispiel: eine API-Anfrage senden, ein Skript starten, einen Webhook aufrufen.
Delete
Der Agent kann Daten oder EintrÀge löschen.
Das ist die gefÀhrlichste Stufe.
Denn die Aktion ist nicht umkehrbar.
Je höher die Berechtigungsstufe, desto mehr kann der Agent in der Welt verÀndern.
Darum bekommt er nur den Zugriff, der fĂŒr die Aufgabe nötig ist.
Warum ein Agent nicht Zugriff auf alles bekommen darf
Ein Agent versteht die Folgen seiner Aktionen nicht.
Er wÀhlt das Tool, das in diesem Kontext am passendsten aussieht.
| Stufe | Was erlaubt ist | Risiko |
|---|---|---|
| Read | Daten abrufen | Niedrig |
| Write | Erstellen oder Àndern | Mittel |
| Execute | Prozesse oder API starten | Hoch |
| Delete | Daten löschen | Kritisch |
Aber "passend" bedeutet nicht immer "sicher".
Ein Agent kann:
- Falsche Daten speichern
- Eine kostenpflichtige API aufrufen
- Oder eine wichtige Datei löschen
Einfach weil das beim Lösen der Aufgabe hilft.
Wenn du ihm Zugriff auf alles gibst, kann er mehr tun, als du erwartet hast.
Wer die Grenzen festlegt
Ein Agent wÀhlt seine Berechtigungen nicht selbst.
Er entscheidet nicht:
- Auf welche Tools er Zugriff hat
- Welche Aktionen er ausfĂŒhren darf
Diese Grenzen legt ein Mensch fest.
Oder ein System, das definiert:
- Welche Tools erlaubt sind
- Welche Aktionen ausgefĂŒhrt werden dĂŒrfen
- Und auf welcher Zugriffsstufe
Der Agent arbeitet nur innerhalb dieser Regeln.
Prinzip der minimalen Berechtigungen
Es gibt eine einfache Regel:
Ein Agent bekommt nur den Zugriff, der fĂŒr eine konkrete Aufgabe notwendig ist.
Nicht mehr.
Das nennt man das Prinzip der minimalen Berechtigungen (Least Privilege).
Wenn ein Agent nur Lesezugriff braucht, darf er keinen Schreibzugriff bekommen.
Wenn er eine Datei erstellen soll, darf er sie nicht löschen können.
Weniger Berechtigungen bedeuten weniger Risiken.
Im Code sieht das so aus
Unten ist dasselbe Prinzip in einem einfachen Format:
wir definieren explizit, was der Agent darf, und zwingen das System, das vor jeder Aktion zu prĂŒfen.
1) Wir haben Tools mit unterschiedlichen Risikostufen
def read_user(user_id: int):
return {"id": user_id, "status": "active"}
def update_user(user_id: int, status: str):
return {"id": user_id, "status": status}
def send_webhook(event: str):
return {"sent": event}
def delete_user(user_id: int):
return {"deleted": user_id}
TOOLS = {
"read_user": {"level": "read", "handler": read_user},
"update_user": {"level": "write", "handler": update_user},
"send_webhook": {"level": "execute", "handler": send_webhook},
"delete_user": {"level": "delete", "handler": delete_user},
}
2) Hier setzen wir Berechtigungen fĂŒr diesen Agenten
AGENT_PERMISSIONS = {"read", "write"} # execute und delete sind verboten
3) Das Modell fordert eine Aktion an
model_output = {
"action": "update_user",
"parameters": {"user_id": 42, "status": "paused"},
}
4) Das System prĂŒft Rechte vor der AusfĂŒhrung
def run_action(call: dict):
action = call["action"]
params = call["parameters"]
tool = TOOLS.get(action)
if tool is None:
return {"error": "Tool nicht gefunden"}
if tool["level"] not in AGENT_PERMISSIONS:
return {"error": "Aktion nicht erlaubt"}
return tool["handler"](**params)
5) Wenn die Stufe erlaubt ist, fĂŒhren wir die Aktion aus
result = run_action(model_output)
# {"id": 42, "status": "paused"}
Wenn das Modell delete_user anfordert, gibt das System zurĂŒck:
{
"error": "Aktion nicht erlaubt"
}
VollstÀndiges Implementierungsbeispiel mit angebundener LLM
Analogie aus dem Alltag
Stell dir vor, du gibst jemandem SchlĂŒssel zu deiner Wohnung.
Wenn nur die Blumen gegossen werden mĂŒssen, gibst du den HaustĂŒrschlĂŒssel.
Aber du gibst nicht:
- Den SchlĂŒssel zum Safe
- Zugriff auf die Banking-App
- Oder die PIN deiner Karte
Denn je mehr Zugriff, desto mehr kann verÀndert werden.
Sogar aus Versehen.
Darum gibt man nur die SchlĂŒssel, die fĂŒr die konkrete Aufgabe nötig sind.
Kurz zusammengefasst
Ein Agent kann Aktionen ĂŒber Tools ausfĂŒhren.
Er darf aber:
- Nur bestimmte Tools nutzen
- Nur bestimmte Aktionstypen ausfĂŒhren
- Und nur auf einer bestimmten Zugriffsstufe
Ăblicherweise nutzt man das Prinzip der minimalen Berechtigungen:
Der Agent bekommt nur den Zugriff, der fĂŒr die Aufgabe nötig ist.
FAQ
Q: Kann ein Agent ĂŒber Tools beliebige Aktionen ausfĂŒhren?
A: Nein. Er kann nur die Tools und Aktionen verwenden, die ihm erlaubt sind.
Q: Wer legt fest, was ein Agent tun darf?
A: Ein Mensch oder ein System, das die Liste verfĂŒgbarer Tools und ihre Zugriffsstufe festlegt.
Q: Was ist das Prinzip der minimalen Berechtigungen?
A: Das ist eine Regel, nach der der Agent nur den Zugriff bekommt, der fĂŒr eine konkrete Aufgabe nötig ist.
Was als NĂ€chstes
Jetzt weiĂt du, was ein Agent tun darf.
Aber selbst mit EinschrÀnkungen kann er:
- In einer Schleife hÀngen bleiben
- Dieselben Aktionen wiederholen
- Oder Ressourcen verbrauchen
Darum muss ein Agent manchmal selbst stoppen.
Oder vom System gestoppt werden.