À retenir
- Claude Code et Codex CLI sur un hôte—jamais le même répertoire de travail ;
git worktreeobligatoire. - Trois couches : config → worktree → tmux ; un seul MCP Server.
- Claude Code sessions longues ; Codex scripts / OpenAI.
- 16GB « un long + un court » ; deux longs → 24GB +
memory_pressure. - Acceptation :
tools/call≥95%, jaune ≤2h, écritures croisées 0.
1. Pourquoi une architecture double agent IA sur Mac cloud ?
En 2026, les tickets kvmboot sur le Mac cloud passent de « SSH possible ? » à « combien d'agents sur une machine ? ». Louer un Mac mini M4 24 Go fixe le coût machine ; les tokens restent variables. Le portable fermé coupe tout ; sur le Mac cloud, il ne sert que de télécommande SSH.
Enchaînement : Claude Code sur Mac cloud, déploiement MCP ; ici : deux CLI sans se nuire.
Références : Claude Code · Codex · worktree.
tmux / worktree / MCP ? Une phrase : 2 agents = 2 copies de dépôt + 2 terminaux + 1 service MCP. Ci-dessous : répertoires, chemins absolus, acceptation mesurable.
2. Cinq modes d'échec (tickets les plus fréquents)
« Double agent configuré mais cassé »—deux cases : refaire l'isolation avant les features.
- Répertoire partagé,
.git/indexen conflit : Claude surmain, Codexcheckoutsur le même arbre—course FS, pas le modèle. - Chemins MCP sur le portable : après SSH vers le Mac cloud, échecs différents par agent.
- tmux mélangé : vous croyez Codex, c'est le shell Claude restant.
- Clés API / quotas dans un HOME : mauvais
export→ mauvais modèle, mauvaise facture. - Deux longues sessions sur 16 Go :
memory_pressurejaune → « MCP mort » à tort.
La solution : des frontières (dépôt, session, config)—pas un modèle plus intelligent.
3. Matrice des rôles
| Axe | Claude Code | Codex CLI |
|---|---|---|
| Forces | Longues sessions, refactor multi-fichiers, Hooks, MCP Git | Petites tâches, scripts batch, stack OpenAI |
| Éviter | Écritures parallèles même répertoire | Codesign/Xcode seul |
| Slot type | cc-main + worktree feature | codex-hotfix + worktree hotfix |
| Coût | Tokens ; budget longues sessions | Tokens ; boucles scripts |
Les deux refont tout le dépôt → double tokens, un débit. Un agent long, l'autre pour tâches étroites. Stack AI · ECC.
4. Topologie triple couche
Ancre visuelle de l'architecture double agent IA : deux chaînes, un MCP Server.
5. Isolation setup : répertoire, worktree, tmux
5.1 Couche config
Sur le Mac cloud, racines de config séparées (même user Unix ok, env de démarrage distinct) :
- Claude Code : ex.
CLAUDE_CONFIG_DIR=/Users/agent/.claude-cc. - Codex CLI : identifiants /
config.tomlà part—pas danssettings.jsonClaude.
5.2 Couche dépôt : ferme worktree (non négociable)
# 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 bail court—cd fixé dans le script tmux.
5.3 Couche session : 1 agent = 1 fenêtre tmux
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—capot fermé = client local seulement ; sessions sur le Mac cloud continuent. FAQ launchd : worktree dédié.
6. MCP : un Server, deux Clients
- MCP Git Server sur le Mac cloud—parent worktree ou port par worktree (documenter).
- Chemins absolus sur l'hôte SSH—MCP colocalisé.
- Interdit : Claude→MCP VPS, Codex→stdio local.
Test : dans chaque fenêtre « trois derniers commits »—tools/call + branche du worktree.
7. 16 Go vs 24 Go
Mémoire unifiée Apple Silicon + indexation/LS :
- 16 Go : un long + un court ; deux Xcode/Docker saturent vite.
- 24 Go : deux longues interactives ; pression mémoire.
Région / RTT en bail 48h, puis stress memory_pressure.
8. Checklist d'acceptation double agent Mac cloud
Bail 48 h reproductible : timeline = processus, tableau = pass/fail. Logs masqués sur l'hôte.
| Indicateur | Seuil | Mesure |
|---|---|---|
| tools/call | ≥ 95% | 48h : ≥20 appels MCP par agent, branche/commits corrects |
| memory_pressure | ≤ 2h | memory_pressure toutes les 5 min sur 16GB |
| worktree cross-write | = 0 | Pas de cd croisé A/B ; audit git -C |
8.1 Timeline 48 h
- 0–2h Setup : SSH ; worktrees A/B ; tmux ; MCP absolu.
- 2–8h Isolation : A/B seuls ;
cdcroisé = 0. - 8–16h MCP : taux
tools/call. - 16–32h Resilience : capot ≥8h puis attach.
- 32–48h Decision : 3 métriques ; mémoire seule → 24 Go ou 2×16 Go ; pass → louer un Mac au mois.
Pass : 3 métriques + RTT ok. Fail d'abord : répertoire partagé, MCP hors Mac cloud.
9. FAQ
9.1 Un worktree partagé ?
Sériel strict uniquement—jamais en parallèle interactif.
9.2 Deux Mac cloud ?
Deux longues + Xcode chacune : souvent 2×16 Go > 1×24 Go ; une longue + courte : 24 Go suffit.
9.3 Codex sur macOS ?
Avec codesign/Xcode : même Mac cloud que Claude évite le split Linux+Mac.
10. Conclusion
Architecture double agent IA = petit multi-tenant : worktree + tmux + MCP unique. Diagramme + 3 métriques—puis louer un Mac et la RAM.