2026 dreht sich ein AI-Agent nicht mehr um die Frage „GPT, Gemini oder Claude“. Entscheidend ist, wie Modelle strukturierte Function-Calling-Anfragen ausgeben, wie JSON Schema Argumente begrenzt und wie MCP Werkzeuge und Kontext in die Laufzeit steckt. Erst diese Schichten ergeben einen auditierbaren, versionierbaren, austauschbaren Stack.
Der Text richtet sich an Teams, die Chatbots zu ausführenden Agenten machen: Verantwortlichkeiten, eine volle Werkzeugschleife und die Grenze für Build-Tools auf einem Cloud-Mac. Kosten: Claude / GPT / Gemini über OpenRouter; Isolation: virtuelle Dateisysteme; Sitzungsübergreifender Zustand: Agent-Memory-Vergleich.
Den Stack zerlegen: Das Modell ist nicht das Produkt
Wer den Agenten nur als „sprechendes Modell“ sieht, verpasst drei tragende Schichten:
- Inferenz-Engine: GPT, Gemini, Claude — planen, Tools wählen, Beobachtungen deuten.
- Aufrufvertrag: Function Calling (Tool Use) plus JSON Schema — was aufrufbar ist und welche Form Argumente haben.
- Laufzeit-Steckplätze: Model Context Protocol (MCP) hängt Dateisysteme, Repos, Browser und interne APIs standardisiert an den Host.
Konsens 2025–2026: Modelle dürfen wechseln, Verträge und Steckplätze sollen stabil bleiben. Geschäftscode nicht an proprietäre SDK-Namen binden, sondern um Tool-Liste, Schema und Ausführungssandbox bauen.
Rollen von GPT, Gemini und Claude
Alle drei können Tools aufrufen. Unterschiede liegen vor allem in Stil, multimodalen Einstiegen, Langkontext und Vorsicht bei riskanten Calls — nicht darin, ob Function Calling existiert.
- GPT: reife Tool-Loop-Dokumente; OpenAI Function Calling und großes Responses-/Chat-Completions-Ökosystem — oft Standard-Orchestrator oder Gateway-Backend.
- Gemini: stark multimodal und langkontextuell; offizielles Function Calling passt zu Agenten, die Docs, Screenshots und Repo-Bäume zugleich laden.
- Claude: solides Tool Use in Code-/Computer-Szenarien; Anthropic Tool Use passt zu riskanten Codeänderungen, wenn Übergriffe eher abgelehnt werden sollen.
In Produktion heißt das meist Routing statt Modellglaube: starke Inferenz zum Planen, günstige Modelle für Massenerxtraktion, konservative Stufe plus Bestätigung für sensible Writes. Kosten: Mehrmodell-Vergleich.
Function Calling: die legale Schnittstelle zur Welt
Function Calling heißt nicht „das Modell führt die Funktion aus“, sondern es sendet eine strukturierte Absicht, und der Host entscheidet über die Ausführung.
- Modell: Tool-Name, Argumente, Weiterplanen aus Beobachtungen.
- Host: Auth, Limits, Validierung, echtes I/O, Ergebnisse in die Nachrichtenliste.
Feldnamen unterscheiden sich (tools / function / input_schema), die Schleife nicht: Tools deklarieren → Tool-Call → ausführen → Tool-Result → erneut schließen. Keine Shell-Strings als „Tool“: das umgeht Schema und schiebt Injection auf den Prompt.
Technische Untergrenze
- Stabile Namen, eine Nebenwirkungsklasse pro Tool.
- Lesen und Schreiben trennen; Writes standardmäßig mit Bestätigung oder Sandbox.
call_idan Ergebnissen für Audit und Retry behalten.
JSON Schema: das Typsystem der Werkzeuge
JSON Schema ist im Agent-Stack Compile-Time-Typen plus Laufzeitprüfung. Fehlende Pflichtfelder, falsche Enums, Extra-Properties müssen vor der Fachlogik scheitern; das Modell sieht den Validierungsfehler und versucht neu.
Versionieren Sie parameters / input_schema als echtes Schema (JSON Schema), nicht als Promptzeile „bitte repo und branch übergeben“.
Was ins Schema gehört
type,required,additionalProperties: falsegegen halluzinierte Felder.- Pfade, URLs, Enums über
pattern/enum— kein Freitext als ID. - Große Logs/Diffs nicht als Argumente; Datei im Workspace, Pfad zurück, analog zu VFS-On-Demand-Reads.
- Version im Schema oder Suffix (
deploy_v2), damit Alt und Neu keinen unscharfen Vertrag teilen.
Validieren nach Modellausgabe, vor echten Nebenwirkungen. „Bitte JSON“ im Systemprompt ist keine Produktionskontrolle.
MCP: universeller Steckplatz für Tools und Kontext
MCP löst oberhalb von Function Calling Entdeckung und Transport: Tools müssen nicht hart im App-Code stehen; ein MCP-Server listet tools, resources, prompts. Hosts (Claude Code, IDE-Agenten, eigene Orchestratoren) verbinden viele Server über ein Protokoll.
Gegenüber einem Plugin-SDK pro Anbieter:
- Steckbare Tools: Git, Browser, Tickets als eigene Server; der Host hält Verbindungen und Policy.
- Adressierbarer Kontext: Ressourcen-URIs vermeiden ganze Dateien im Prompt.
- Modellentkopplung: derselbe MCP-Katalog speist GPT-, Gemini- oder Claude-Function-Calling.
MCP-Tools trotzdem auf Function-Calling-Deklarationen mit JSON Schema mappen und Pfad-Allowlists am Host. MCP ist der Standardstecker, nicht die Sicherheitsgrenze; Sandbox, Secrets und Audit bleiben beim Host.
Eine volle Schleife: von der Absicht zum Ergebnis
Beispiel: „Fix-PR aus einem fehlgeschlagenen iOS-Build-Log.“ Typische Reihenfolge:
- Nutzerabsicht; Host injiziert Policy (keine Zertifikate, keine Produktionsschlüssel).
- Modell liest die Tool-Liste (statisch oder MCP
list_tools). fetch_ci_log-Call, Argumente durch JSON Schema.- Executor holt Logs in Sandbox oder auf einem Cloud-Mac; Überlänge landet im VFS.
- Ergebnis zurück; Modell kann
apply_patchmit Bestätigung oder Read-only-Diff. - Fakten wie „Profil zuletzt abgelaufen“ ins Memory, nicht ins Schema. Siehe Memory-Optionen.
Fehler sollten strukturiert sein (Validierung, Rechte, Timeout), sonst werden Retries zum Raten.
Vergleich und Auswahl
| Schicht | Zuständig | Nicht zuständig | Typisch 2026 |
|---|---|---|---|
| GPT / Gemini / Claude | Planen, Toolwahl, Beobachtungen erklären | Echtes I/O, Autorisierung | Nach Aufgabe routen, Tauschfähig bleiben |
| Function Calling | Absicht als Tool-Request mit ID | Fachliches Rechtemodell | Vendor Tool Use, ein Host-Adapter |
| JSON Schema | Argumentform, Pflicht, Enums | Laufzeit-Nebenwirkungen | Versioniertes Schema, prüfen vor Execute |
| MCP | Tools/Ressourcen entdecken, Transport | Sandbox und Secret Store ersetzen | Ein Server pro System + Host-Policy |
Produktion: Validierung, Rechte, Rückfall
Vor Go-live mindestens vier Tore:
- Adversariale Schema-Tests: fehlende/extra Felder, falsche Enums — Host lehnt ab, Modell korrigiert anhand des Fehlers.
- Unberechtigte Tools: unbekannte Namen, veraltete MCP-Server, gefälschte
call_idmüssen scheitern. - Nebenwirkungsisolation: Build, Signatur, Deploy getrennt vom Chat; Agenten haben standardmäßig keine Produktionscredentials.
- Observability: Tool-Name, Schema-Version, Latenz, Erfolg / Validierungsfehler / Auth-Fehler loggen.
OWASP führt Überautorisierung und Prompt Injection als Kernrisiken. „Das Modell wollte es, also lief es“ ist keine Policy. Anker: OWASP LLM Top 10.
Die Toolchain auf einem Cloud-Mac
Bei iOS / Cross-Platform tauchen in MCP oft xcodebuild, Simulatoren und zertifikatsnahe Tools auf. Die sind an macOS und Apples Toolchain gebunden und gehören nicht in eine generische Linux-Funktionssandbox.
Praktische Trennung:
- Chat und Planung: GPT / Gemini / Claude irgendwo in der Cloud.
- Repo-I/O: VFS oder MCP-Filesystem mit Pfad-Allowlist.
- Echte Builds und Geräte: kontrollierter MCP-Server oder CI auf einem Zilmac-Cloud-Mac, Secrets bleiben auf dem Build-Host.
Der Modellstack darf wechseln; Schemas und MCP-Kataloge bleiben; Apple-Nebenwirkungen landen in recycelbaren Cloud-Mac-Sitzungen statt auf dem Laptop.
FAQ
Duplizieren Function Calling und MCP einander?
Nein. Function Calling ist, wie das Modell eine Tool-Anfrage ausgibt. MCP ist, wie der Host Tools und Ressourcen entdeckt und verbindet. Jedes MCP-Tool wird trotzdem zur Function-Calling-Deklaration.
Müssen wir alle drei Modellfamilien anbinden?
Nein. Erst Verträge und MCP bei einem Anbieter stabilisieren, dann ein zweites Modell über dieselben Schemas routen. Drei Anbieter „zum Evaluieren“ vergrößern nur die unvalidierte Tool-Fläche.
Reicht JSON Schema nur im Systemprompt?
Nicht als einzige Kontrolle. Prompts helfen beim Füllen; illegale Argumente muss ein Host-Validator ablehnen. Sonst trifft Injection oder Drift den Backend direkt.
Wie vermeiden wir Lock-in an eine Vendor-API?
Intern Tool-Name + JSON Schema + Ausführungsergebnis. GPT / Gemini / Claude sind Adapter. MCP-Server zeigen dem Host einen Katalog; Billing und Failover liegen am Gateway.
Modelle sind tauschbar — der Build-Host nicht vage
Wenn GPT, Gemini und Claude denselben Function-Calling- und MCP-Vertrag teilen, blockiert iOS weiter an Apples Toolchain. Ein Zilmac-Cloud-Mac eignet sich als kontrollierter Executor: Der Agent dispatcht unter Schema; Signatur und xcodebuild laufen auf isoliertem macOS.
Ein auditierbarer Build-Steckplatz ohne eigene Mac-Hardware. — Cloud-Mac-Tarife ansehen