Ein lokaler Coding-Agent mit apfel
Eine Reihe über einen Coding-Agenten in Swift, dessen Sprachmodell vollständig auf dem eigenen Mac läuft — von apfel-CLI bis zur Anbindung an Xcode 27.
Jeder Apple-Silicon-Mac mit macOS 26 (Tahoe) bringt ein Foundation Model mit, das bisher nur Siri und ein paar Systemfunktionen nutzen. apfel öffnet dieses Modell als CLI und als OpenAI-kompatiblen Server. Diese Reihe baut darauf einen Coding-Agenten in Swift: Plan/Act/Observe-Loop, Tool-Calling, MCP-Anbindung, Hummingbird-Server, Anbindung an Xcode 27 über den lokalen Provider-Slot. Kein API-Key, kein Cloud-Endpunkt, keine Token-Abrechnung — aber auch kein Cloud-Tempo: zwei kritische Interludien (Art. 6 und Art. 11) ordnen ein, was das kleine on-device-Modell trägt und welche Plattform-Abhängigkeit der lokale Weg erkauft. Code lebt offen auf Codeberg, pro Artikel ein Tag zum Mitziehen. Dreizehn Artikel plus Prolog.
- 0
Das Modell ist schon da — Prolog zum lokalen Coding-Agenten
Eine Reihe nimmt das Foundation Model in den Blick, das jeder Apple-Silicon-Mac mit macOS 26 mitbringt — und baut darauf einen Coding-Agenten in Swift, der lokal läuft.2. Jun 2026 - 1
apfel von der Kommandozeile
Wir installieren apfel, gehen die drei Modi (Prompt, Serve, Chat) durch, sehen wo das on-device-Modell trägt und wo es wackelt — Artikel 1 der Reihe „Ein lokaler Coding-Agent mit apfel".3. Jun 2026 - 2
Der Serve-Modus und das OpenAI-Protokoll
Wir starten apfel als lokalen OpenAI-kompatiblen Server, gehen alle Endpoints durch und sehen, wo das Protokoll von OpenAI abweicht — Artikel 2 der Reihe „Ein lokaler Coding-Agent mit apfel".3. Jun 2026 - 3
Der Swift-Client: erste Verbindung zum Modell
Wir legen ein Swift-Package an, bauen einen async HTTP-Client gegen apfel --serve und verarbeiten SSE-Streaming Token für Token — Artikel 3 der Reihe „Ein lokaler Coding-Agent mit apfel".4. Jun 2026 - 4
Tool-Calling verstehen: vom Schema zum Round-Trip
Wir bringen dem Agenten bei, Werkzeuge zu rufen — Tool-Definition im OpenAI-Schema, der Round-Trip aus Aufruf, Ausführung und Fortsetzung, und eine Tool-Abstraktion in Swift. Artikel 4 der Reihe „Ein lokaler Coding-Agent mit apfel".7. Jun 2026 - 5
Die ersten echten Werkzeuge: Dateisystem und Shell
Wir bauen die ersten Werkzeuge, mit denen der Agent etwas verändert, und sichern sie ab — Pfad-Sandbox, Bestätigungs-Gate, Diff vor dem Schreiben und Defense-in-Depth für die Shell. Artikel 5 der Reihe „Ein lokaler Coding-Agent mit apfel".7. Jun 2026 - 6
Der lokale Coding-Agent im Eval
Ein reproduzierbares Eval mit 15 Aufgaben in fünf Kategorien misst, wo das lokale Foundation Model als Coding-Agent überzeugt und wo es kippt. Mit Cloud-Stichprobe und einer eigenen Messung dessen, was das Modell über seinen eigenen Erfolg behauptet. Artikel 6 der Reihe „Ein lokaler Coding-Agent mit apfel".8. Jun 2026 - 7
Editieren, das funktioniert: Constrained Output statt Tool-Raten
Der naive Datei-Edit scheitert am kleinen Modell. Wir bauen den Agenten um diese Schwäche herum, mit Constrained Output und einem zweistufigen Edit-Workflow, und messen, wie viel sich zurückholen lässt. Artikel 7 der Reihe „Ein lokaler Coding-Agent mit apfel".8. Jun 2026 - 8
Die Agent-Schleife mit Done-Prüfung
Der naive Agent-Loop endet, wenn das Modell schweigt, und das ist nur eine Selbsteinschätzung. Wir bauen einen Loop, dessen Abbruch eine maschinelle Prüfung ist, mit Iterationslimit und Kontext-Budget als Schutzgrenzen. Artikel 8 der Reihe „Ein lokaler Coding-Agent mit apfel".9. Jun 2026 - 9
Die interaktive Terminal-Sitzung
Aus dem One-Shot-Kommando wird eine interaktive REPL-Sitzung. Der Schlüssel zur Testbarkeit ist die strikte Trennung von Render-Logik und Terminal-I/O. Artikel 9 der Reihe „Ein lokaler Coding-Agent mit apfel".10. Jun 2026 - 10
Werkzeuge, die der Agent nicht schreibt: MCP
MCP verschiebt das Schreiben von Werkzeugen aus dem Agenten zu eigenen Servern. Wir bauen einen kleinen MCP-Server, hängen ihn an apfel und messen, was MCP löst und was nicht. Artikel 10 der Reihe „Ein lokaler Coding-Agent mit apfel".11. Jun 2026 - 11
Der Agent im Browser
Der Agent bekommt eine dritte Oberfläche. Hinter einem Hummingbird-Server streamt er seine Arbeit per Server-Sent-Events in den Browser, samt Bestätigung per Klick. Derselbe Kern wie im Terminal, nur eine andere Senke. Artikel 11 der Reihe „Ein lokaler Coding-Agent mit apfel".12. Jun 2026 - 12
Souveränität auf geliehenem Fundament
Der lokale Agent läuft ohne Key und ohne Cloud. Doch worauf ruht diese Unabhängigkeit? Zwei Veröffentlichungen derselben Woche, ein Cloud-Handoff von Anthropic und Apples MLX-Stack, ziehen die Frage scharf. Eine nüchterne Einordnung. Artikel 12 der Reihe „Ein lokaler Coding-Agent mit apfel".12. Jun 2026 - 13
Wo sonst die Cloud sitzt
Im Finale setzen wir den lokalen Agenten dorthin, wo in Xcode sonst Claude oder ChatGPT sitzen. Apple hat den lokalen Provider-Slot auf der WWDC26 gezeigt, wir haben macOS 27 und Xcode 27 gezielt installiert, um es zu verproben. Wie weit kommt das geliehene kleine Modell dort? Artikel 13 der Reihe „Ein lokaler Coding-Agent mit apfel".20. Jun 2026