Kernaussagen
- Claude Code und Codex CLI auf einem Host—nie dasselbe Arbeitsverzeichnis;
git worktreehart trennen. - Drei Schichten: Config → worktree → tmux; ein MCP Server.
- Claude Code lange Sessions; Codex Skripte/OpenAI.
- 16GB «ein lang + ein kurz»; zwei lange Parallel → 24GB +
memory_pressure. - Abnahme:
tools/call≥95%, Gelb ≤2h, Kreuzschreiben 0.
1. Warum Dual-AI-Agent-Architektur auf dem Cloud-Mac?
Kvmboot-Tickets 2026: von «geht SSH?» zu «wie viele Agents pro Box?». Mac mieten (M4 mini 24GB) hält Maschinenkosten fix; Tokens skalieren mit Nutzung. Laptop zu = beide CLIs weg; auf dem Cloud-Mac bleibt nur der SSH-Client lokal.
Vorstufen: Claude Code Cloud-Mac, MCP-Placement; hier: zwei CLIs ohne gegenseitigen Schaden.
Docs: Claude Code · Codex · worktree.
tmux / worktree / MCP neu? Merksatz: 2 Agents = 2 Repo-Kopien + 2 Terminals + 1 MCP-Dienst. Unten: Verzeichnisse, Absolutpfade, messbare Abnahme.
2. Fünf Fehlermuster (häufigste Tickets)
«Dual Agents konfiguriert, läuft nicht»—zwei Treffer: Isolation neu, Features später.
- Gemeinsames Verzeichnis,
.git/index-Kampf: Claude aufmain, Codexcheckoutim selben Baum—Dateisystem-Race, kein Modellproblem. - MCP-Pfade auf dem Laptop: nach SSH zum Cloud-Mac scheitern beide Agenten unterschiedlich.
- tmux gemischt: Codex vermutet, Claude-Shell von Runde zuvor läuft noch.
- API-Keys / Quotas in einem HOME: falscher
export→ falsches Modell, falsche Rechnung. - Zwei Langläufer auf 16GB:
memory_pressuregelb → «MCP kaputt».
Lösung: Grenzen (Repo, Session, Config)—nicht «smarteres Modell».
3. Rollenmatrix
| Dimension | Claude Code | Codex CLI |
|---|---|---|
| Stärken | Lange Sessions, Multi-File-Refactor, Hooks, MCP Git | Kleine Tasks, Skript-Batches, OpenAI-Stack |
| Schwach | Parallele Writes im selben Verzeichnis | Codesign/Xcode allein |
| Typischer Slot | cc-main + feature worktree | codex-hotfix + hotfix worktree |
| Kosten | Token; Budget bei Langläufern | Token; Schleifen vermeiden |
Beide «ganzes Repo + große Edits» → doppelte Token, ein Durchsatz. Ein Langläufer, der andere für enge Tasks. AI-Stack · ECC.
4. Topologie (drei Schichten)
Anker für die Dual-AI-Agent-Architektur: zwei Ketten, ein MCP Server.
5. Isolations-Setup: Verzeichnis, worktree, tmux
5.1 Config-Schicht
Auf dem Cloud-Mac getrennte Config-Wurzeln (ein Unix-User ok, Start-env getrennt):
- Claude Code: z. B.
CLAUDE_CONFIG_DIR=/Users/agent/.claude-cc. - Codex CLI: Credentials /
config.tomlseparat—nicht in Claudesettings.json.
5.2 Repo-Schicht: worktree-Farm (Pflicht)
# On the cloud Mac — example paths
/opt/worktrees/my-app-cc-refactor # Claude Code only
/opt/worktrees/my-app-codex-hotfix # Codex CLI only
git worktree add /opt/worktrees/my-app-cc-refactor feature/refactor
git worktree add /opt/worktrees/my-app-codex-hotfix hotfix/config
Worktree-Kurzmiete—vor Start cd im tmux-Skript fixieren.
5.3 Session-Schicht: tmux 1 Agent = 1 Window
tmux new-session -s agents -n cc -c /opt/worktrees/my-app-cc-refactor
tmux new-window -t agents -n codex -c /opt/worktrees/my-app-codex-hotfix
tmux attach -t agents—Deckel zu nur lokal; Sessions auf dem Cloud-Mac laufen weiter. launchd-FAQ: eigenes worktree.
6. MCP: ein Server, zwei Clients
- MCP Git Server auf dem Cloud-Mac—
--repositoryParent oder Port pro worktree (dokumentieren). - Absolutpfade auf dem SSH-Host—MCP colocated.
- Verboten: Claude→VPS-MCP, Codex→lokales stdio.
Test: in jedem tmux-Fenster «letzte drei Commits»—tools/call + passender Branch pro worktree.
7. 16GB vs 24GB
Unified Memory unter Indexing/LS:
- 16GB: ein lang + ein kurz; zwei Xcode/Docker oft voll.
- 24GB: zwei interaktive Langläufer; Speicher/Swap.
Region/RTT in der Tagesmiete, dann memory_pressure stressen.
8. Cloud-Mac Dual-Agent Abnahme-Checkliste
48h Tagesmiete als Standard: Timeline = Prozess, Tabelle = Pass/Fail. Logs (maskiert) auf dem Host behalten.
| Metrik | Schwelle | Messung |
|---|---|---|
| tools/call | ≥ 95% | 48h: je Agent ≥20 MCP-Calls, korrekte Branch/Commits |
| memory_pressure | ≤ 2h | memory_pressure alle 5 Min, 16GB beobachten |
| worktree cross-write | = 0 | Kein cd zwischen A/B; git -C |
8.1 48-Stunden-Timeline
- 0–2h Setup: SSH; worktrees A/B; tmux-
cd; MCP-Absolutpfade. - 2–8h Isolation: nur A/B; Kreuz-
cd=0. - 8–16h MCP:
tools/call-Rate. - 16–32h Resilience: Deckel zu ≥8h, dann attach.
- 32–48h Decision: drei Metriken; nur Memory → 24GB oder 2×16GB; Pass → Monats-Mac mieten.
Pass: alle drei + RTT ok. Fail zuerst: Shared Dir, MCP nicht auf Cloud-Mac.
9. FAQ
9.1 Ein worktree für beide?
Nur strikt seriell—interaktiv parallel nie.
9.2 Zwei Cloud-Macs?
Zwei Langläufer + Xcode je: oft 2×16GB > 1×24GB; ein lang + kurz: meist 24GB.
9.3 Codex nur macOS?
Mit codesign/Xcode: derselbe Cloud-Mac wie Claude schlägt Linux+Mac-Split.
10. Fazit
Dual-AI-Agent-Architektur = kleines Multi-Tenant: worktree + tmux + ein MCP. Diagramm alignen, drei Metriken statt Bauchgefühl—dann RAM und Mac mieten festlegen.
Minimale Validierung
16GB Cloud-Mac + 48h Tagesmiete + 2 worktrees + 1 MCP Git.
Onboarding · M4 · Tarife