---
title: "KI Agent selbst bauen"
description: "Bau einen KI Agent von Grund auf: was ein Agent ist, der Tool-Calling-Loop, ein minimales Beispiel, die Stufen der Autonomie und der Weg in Production."
type: "guide"
locale: "de-CH"
category: "Build"
canonical: "https://agenticschool.dev/de/ratgeber/how-to-build-an-ai-agent"
datePublished: "2026-06-13"
dateModified: "2026-06-13"
---

# KI Agent selbst bauen

- Kategorie: Build
- Keywords: how to build an ai agent, build ai agent from scratch, ai agent tutorial, ai agent architecture, ai agent tool calling loop
- Kanonische URL: https://agenticschool.dev/de/ratgeber/how-to-build-an-ai-agent
- Sprache: de-CH

> Bau einen KI Agent von Grund auf: was ein Agent ist, der Tool-Calling-Loop, ein minimales Beispiel, die Stufen der Autonomie und der Weg in Production.

Ein KI Agent ist ein Sprachmodell, eingepackt in einen Loop, der Tools aufrufen, die Ergebnisse lesen und entscheiden kann, was als Nächstes zu tun ist, und das wiederholt, bis ein Ziel erreicht ist. Einen selbst zu bauen ist viel einfacher, als der Hype suggeriert: Im Kern ist es eine while-Schleife um ein Modell, das Tool Calling unterstützt. Du gibst dem Modell ein Ziel und ein Set Funktionen, es bittet darum, eine auszuführen, du führst sie aus, gibst das Ergebnis zurück, und es macht weiter, bis es fertig ist. Dieser Guide bringt dich von der Definition zu einem konkreten, minimalen Agent, den du heute laufen lassen kannst, dann hoch über die Stufen der Autonomie und das, was sich ändert, wenn ein Agent in Production geht. Wir bauen den Loop erst von Hand, damit du genau verstehst, was passiert, und zeigen dann die SDKs, die das für dich tun. Alles hier ist Stand Juni 2026.

## Was ein KI Agent tatsächlich ist

Ein KI Agent ist Software, die ein Sprachmodell nutzt, um in einem Loop zu entscheiden und zu handeln, statt nur einmal zu antworten. Das Modell ist das Gehirn, aber ein Gehirn ohne Hände kann nichts tun, also gibst du ihm Tools: Funktionen, die es aufrufen kann, um eine Datei zu lesen, eine Datenbank abzufragen, im Web zu suchen oder eine API zu treffen. Der Agent läuft in einem Loop: Das Modell bekommt das Ziel und die Liste verfügbarer Tools, es antwortet entweder oder bittet, ein Tool aufzurufen, dein Code führt dieses Tool aus und gibt das Ergebnis zurück, und das Modell nutzt das Ergebnis, um seinen nächsten Schritt zu entscheiden. Dieser Loop ist die ganze Idee. "Agentic AI" ist der breitere Begriff für so gebaute Systeme; ein "KI Agent" ist ein solches System. Für die präzisen Definitionen siehe die Glossar-Einträge zu AI Agent, Agentic AI, Tool Calling und dem Agent Harness.

- Modell: der Reasoning-Kern, der entscheidet, was zu tun ist (ein LLM, das Tool Calling unterstützt).
- Tools: Funktionen, die das Modell aufrufen kann, um auf die Welt zu wirken, jede mit Name, Beschreibung und Input-Schema.
- Loop: Modell entscheidet, dein Code führt das gewählte Tool aus, das Ergebnis geht zurück, wiederholen, bis fertig.
- Siehe das Glossar: AI Agent, Agentic AI, Tool Calling, Agent Harness für die formalen Definitionen.

## Der Build-Loop, Schritt für Schritt

Jeder Agent, vom zehnzeiligen Skript bis Claude Code, läuft denselben Loop. Du schickst dem Modell die bisherige Konversation plus die Tool-Definitionen. Das Modell antwortet auf eine von zwei Arten: mit einer finalen Antwort (es ist fertig) oder mit der Bitte, ein oder mehrere Tools aufzurufen. Wenn es ein Tool will, führt dein Code dieses Tool aus, fängt den Output ab, hängt ihn als Tool-Ergebnis an die Konversation an und schickt alles zurück. Das Modell liest das Ergebnis und entscheidet erneut. Du loopst weiter, bis das Modell eine finale Antwort liefert oder du ein Sicherheitslimit an Iterationen erreichst. Die beiden nicht verhandelbaren Leitplanken sind eine maximale Anzahl Runden, damit ein verwirrter Agent nicht ewig loopt, und die Validierung von Tool-Inputs, denn das Modell bittet dich, echten Code mit selbst gewählten Argumenten auszuführen.

- Schick Ziel, Konversationsverlauf und Tool-Definitionen ans Modell.
- Gibt das Modell eine finale Antwort zurück, stoppe und gib sie zurück.
- Bittet es um ein Tool, validiere den Input, führe das Tool aus, hänge das Ergebnis an und loope.
- Begrenze immer die Anzahl Iterationen und validiere Tool-Argumente, bevor du ausführst.

## Ein minimaler Agent, den du bauen kannst

Hier ist der kleinste Agent, der etwas Echtes tut: ein Modell mit einem Tool (ein Rechner), das den Tool-Calling-Loop von Hand gegen die Anthropic Messages API läuft. Das Muster ist für jeden Anbieter identisch, der Tool Calling unterstützt. Das Modell bekommt die Frage und die Tool-Definition; wenn es mit stop_reason "tool_use" antwortet, führen wir das Tool aus, schicken ein tool_result zurück und loopen, bis es eine reine Textantwort gibt. Lies ihn einmal, und der Zauber verschwindet: Ein Agent ist ein Loop, ein Modell und ein Dictionary von Funktionen.

```python
# pip install anthropic
# A minimal agent: one tool, the tool-calling loop by hand.
import anthropic

client = anthropic.Anthropic()  # reads ANTHROPIC_API_KEY from the env

# 1) Define the tools: a name, a description, and an input schema.
tools = [
    {
        "name": "calculator",
        "description": "Evaluate a basic arithmetic expression.",
        "input_schema": {
            "type": "object",
            "properties": {"expression": {"type": "string"}},
            "required": ["expression"],
        },
    }
]

# 2) Map tool names to the real functions that run them.
def calculator(expression: str) -> str:
    # Real code: validate hard. A toy eval is fine only for a demo.
    allowed = set("0123456789+-*/(). ")
    if not set(expression) <= allowed:
        return "error: invalid characters"
    return str(eval(expression))  # demo only; never eval untrusted input in prod

TOOLS = {"calculator": calculator}

# 3) The loop.
def run_agent(goal: str, max_turns: int = 8) -> str:
    messages = [{"role": "user", "content": goal}]
    for _ in range(max_turns):
        resp = client.messages.create(
            model="claude-sonnet-4-5",
            max_tokens=1024,
            tools=tools,
            messages=messages,
        )
        if resp.stop_reason != "tool_use":
            return "".join(b.text for b in resp.content if b.type == "text")
        messages.append({"role": "assistant", "content": resp.content})
        results = []
        for block in resp.content:
            if block.type == "tool_use":
                out = TOOLS[block.name](**block.input)
                results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": out,
                })
        messages.append({"role": "user", "content": results})
    return "stopped: hit the turn limit"

print(run_agent("What is 4321 * 1234, then add 99?"))
```
Ein kompletter minimaler Agent in Python: ein Tool, der Modell-plus-Tool-Calling-Loop von Hand. Dieselbe Form funktioniert mit jedem Tool-Calling-Modell.

Das ist wirklich alles, was ein Agent ist. Um ihn nützlich zu machen, fügst du mehr Tools hinzu (eine Datei lesen, deine API aufrufen, eine Datenbank abfragen), gibst jedem eine präzise Beschreibung, damit das Modell weiss, wann es es nutzt, und härtest den Ausführungspfad. Das eval im Rechner ist nur für die Demo; führe nie vom Modell gewählten Code oder Ausdrücke ohne strenge Validierung oder eine Sandbox aus.

## Nutze ein Framework, sobald du den Loop verstehst

Den Loop einmal von Hand zu bauen ist der beste Weg, Agenten zu verstehen, aber in Production greifst du zu einem Framework, das Loop, Retries, Streaming, Sessions und Permissions für dich übernimmt. 2026 sind die zwei direktesten Wege das Claude Agent SDK, das denselben Agent-Loop, dasselbe Tool-Set und Context Management bietet, die Claude Code antreiben (installiere @anthropic-ai/claude-agent-sdk für TypeScript oder claude-agent-sdk für Python), und das OpenAI Agents SDK, ein leichtgewichtiges Python- und TypeScript-Framework, das jede Funktion mit automatischer Schema-Generierung in ein Tool verwandelt (pip install openai-agents). Beide geben dir Tool Calling, mehrstufige Loops, Human-in-the-Loop-Checkpoints, Subagents und erstklassige MCP-Unterstützung out of the box. Das Prinzip ist dasselbe, das du gerade gebaut hast; das SDK entfernt nur die Plumbing.

- Claude Agent SDK: derselbe Loop und dieselben Tools, die Claude Code laufen lassen, programmierbar in Python und TypeScript, mit eingebautem MCP und Subagents.
- OpenAI Agents SDK: ein leichtgewichtiges Multi-Agent-Framework, das jede Funktion in ein validiertes Tool verwandelt (pip install openai-agents).
- Beide übernehmen Loop, Retries, Streaming, Sessions und Permissions, die du sonst von Hand schreiben würdest.
- Verbinde externe Tools über MCP statt über bespoke Glue; siehe Was ist ein MCP Server.

## Die Stufen der Autonomie

Nicht jeder Agent sollte voll autonom sein, und die richtige Stufe zu wählen ist eine Design-Entscheidung, kein Default. Denk an eine Leiter. Ganz unten schlägt das Modell nur vor, und ein Mensch macht alles. Eine Sprosse höher entwirft es, und ein Mensch gibt jede Aktion frei. Höher handelt es autonom bei risikoarmen Schritten, pausiert aber bei allem Sensiblen zur Freigabe (ein Human-in-the-Loop-Checkpoint). Ganz oben läuft es einen ganzen Workflow unbeaufsichtigt. Die richtige Stufe hängt von den Kosten eines Fehlers ab: Je mehr ein Fehler wehtut, desto mehr menschliche Aufsicht behältst du. Die meisten zuverlässigen Production-Agenten sitzen in der Mitte, voll autonom bei sicheren, umkehrbaren Aktionen und gegated beim Rest. Der Kurs Automation und Agentic Systems behandelt das als die 5 Stufen der LLM-Autonomie.

- Nur vorschlagen: Der Agent schlägt vor, ein Mensch macht alles. Geringstes Risiko, geringste Hebelwirkung.
- Entwerfen und freigeben: Der Agent bereitet die Aktion vor, ein Mensch bestätigt, bevor sie läuft.
- Autonom mit Checkpoints: Er handelt bei sicheren Schritten und pausiert bei riskanten zur Freigabe.
- Voll unbeaufsichtigt: Er läuft den ganzen Workflow allein; reserviere das für risikoarme, umkehrbare Aufgaben.

## Deinen Agent production-fähig machen

Ein Demo-Agent und ein Production-Agent unterscheiden sich in allem rund um den Loop. Das Modell und die Tools sind der einfache Teil; Zuverlässigkeit ist die Arbeit. Validiere jeden Tool-Input, denn das Modell wählt die Argumente. Führe alles, was Code ausführt oder die Aussenwelt berührt, in einer Sandbox mit Timeouts und Resource-Limits aus, nie auf einer Maschine, die dir wichtig ist. Logge jeden Schritt (das Ziel, jeden Tool-Aufruf, jedes Ergebnis), damit du siehst, was der Agent getan hat, und ihn debuggen kannst, wenn es schiefgeht. Begrenze Iterationen und Kosten, damit ein verwirrter Agent nicht ewig loopt oder eine Rechnung hochtreibt. Und behalte einen Menschen im Loop für irreversible oder sensible Aktionen. Das sind dieselben Lektionen, die die Founder-Builds auf die harte Tour gelernt haben: CallAssistant gab seinem Voice-Agent eng definierte Tools, weil es am Telefon kein "bist du sicher?" gibt, und CodeCourier führte untrusted Code nur in einer Wegwerf-Sandbox aus.

- Validiere Tool-Inputs und führe Code-ausführende Tools in einer Sandbox mit Timeouts und Limits aus.
- Logge das Ziel, jeden Tool-Aufruf und jedes Ergebnis, damit der Agent beobachtbar und debugbar ist.
- Begrenze Iterationen und Ausgaben, damit ein durchgehender Loop dich nicht Zeit oder Geld kostet.
- Gate irreversible oder sensible Aktionen hinter einem Human-in-the-Loop-Freigabeschritt.
- Lerne aus echten Builds: CallAssistant (enge Tools) und CodeCourier (Sandboxing) auf der Builds-Seite.

## Schritte

### 1. Wähle ein Tool-Calling-Modell

Wähle ein Modell, das Tool Calling unterstützt (zum Beispiel ein Claude- oder GPT-Tier), und hol dir einen API-Key. Der Agent-Loop ist über alle Anbieter, die Tools unterstützen, identisch.

### 2. Definiere deine Tools

Für jede Aktion, die der Agent braucht, schreib eine Funktion und eine Tool-Definition mit Name, klarer Beschreibung und Input-Schema. Die Beschreibung ist das, was das Modell liest, um zu entscheiden, wann es sie aufruft.

### 3. Schreib den Loop

Schick Ziel, Konversation und Tool-Definitionen ans Modell. Gibt es eine finale Antwort, stoppe. Bittet es um ein Tool, validiere den Input, führe das Tool aus, hänge das Ergebnis an und schick alles zurück.

### 4. Füge Leitplanken hinzu

Begrenze die Anzahl Iterationen, validiere jedes Tool-Argument und führe jedes Code-ausführende Tool in einer Sandbox mit Timeouts aus. Logge jeden Schritt, damit du siehst, was der Agent getan hat.

### 5. Wähle eine Autonomie-Stufe

Entscheide, welche Aktionen der Agent unbeaufsichtigt ausführen darf und welche menschliche Freigabe brauchen, basierend auf den Kosten eines Fehlers. Gate irreversible oder sensible Aktionen hinter einem Checkpoint.

### 6. Geh für Production zu einem SDK über

Sobald der Loop klar ist, übernimm das Claude Agent SDK oder das OpenAI Agents SDK, um Retries, Streaming, Sessions, Permissions und MCP-Unterstützung zu bekommen, ohne die Plumbing selbst zu schreiben.

## Häufige Fragen

### Was ist ein KI Agent?

Ein KI Agent ist ein Sprachmodell, eingepackt in einen Loop, der Tools aufrufen, die Ergebnisse lesen und entscheiden kann, was als Nächstes zu tun ist, und das wiederholt, bis es ein Ziel erreicht. Das Modell ist das Gehirn, die Tools sind seine Hände, und der Loop ist das, was es handeln statt nur einmal antworten lässt.

### Wie baue ich einen KI Agent von Grund auf?

Wähle ein Modell, das Tool Calling unterstützt, definiere deine Tools als Funktionen mit Name, Beschreibung und Input-Schema, dann schreib einen Loop: Schick Ziel und Tools ans Modell, führe jedes angeforderte Tool aus, gib das Ergebnis zurück und wiederhole, bis es eine finale Antwort gibt. Füge ein Runden-Limit und Input-Validierung als Leitplanken hinzu.

### Brauche ich ein Framework wie LangChain, um einen Agent zu bauen?

Nein. Ein Agent ist ein Loop um ein Tool-Calling-Modell, und du kannst einen funktionierenden in ein paar Dutzend Zeilen bauen. Frameworks wie das Claude Agent SDK oder das OpenAI Agents SDK lohnen sich, sobald du den Loop verstehst, weil sie Retries, Streaming, Sessions, Permissions und MCP für dich übernehmen, nicht weil die Kernidee schwer ist.

### Was ist der Unterschied zwischen einem KI Agent und einem Chatbot?

Ein Chatbot beantwortet eine Nachricht und stoppt. Ein Agent läuft einen Loop: Er kann Tools aufrufen, um auf die Welt zu wirken, die Ergebnisse lesen und mehrere Schritte auf ein Ziel hin gehen, bevor er antwortet. Das Vorhandensein von Tools und einem Entscheidungs-Loop ist es, was etwas zu einem Agent statt einem Chatbot macht.

### Wie mache ich einen KI Agent sicher für Production?

Validiere jeden Tool-Input, weil das Modell die Argumente wählt, führe jedes Code-ausführende Tool in einer Sandbox mit Timeouts und Resource-Limits aus, begrenze Iterationen und Ausgaben, logge jeden Schritt, damit der Agent beobachtbar ist, und behalte einen Menschen im Loop für irreversible oder sensible Aktionen.

### Wie viele Tools sollte ein KI Agent haben?

So wenige, wie die Aufgabe braucht. Jedes Tool erhöht den Kontext und die Chance, dass das Modell das falsche wählt, also schlägt eine Handvoll scharfer, gut beschriebener Tools einen grossen Haufen. Gib jedem Tool eine präzise Beschreibung, denn diese Beschreibung ist, wie das Modell entscheidet, wann es es nutzt.
