STRATÉGIE
IA — Claude, apfel, ollama, Vision
ulk repose sur Claude, mais délègue les micro-tâches répétitives à un LLM local quand c'est possible.
Moins de tokens, moins de latence, vie privée préservée. Voici la stratégie complète.
Référence : framework/agents/_shared/local-llm-protocol.md ·
Agent audit : framework/agents/audit/05-vision.md
★ Vue d'ensemble
Trois layers, un principe : déléguer ce qui peut l'être à un LLM local, garder Claude pour le raisonnement.
01 Claude (Anthropic)
défaut
Tout ce qui demande du raisonnement, du contexte large, de la planification, de l'écriture
structurée — Claude. C'est l'IA principale. Modèles utilisés : opus pour
l'orchestration et l'analyse complexe, sonnet pour les tâches focalisées.
- Spec, todo, audit code, génération d'architecture
- Décisions stratégiques, dialogue avec l'utilisateur
- Capacité vision multimodale (lecture d'images / screenshots)
02 apfel
opt-in · macOS 26+
Apple Intelligence en local, via la CLI apfel. Pas de réseau, pas de coût.
Idéal pour les fichiers courts (<4K tokens) où la latence compte.
- Classification rapide
- Détection TODO / FIXME / secrets sur fichiers individuels
- Réponses courtes oui/non sur structure
brew install Arthur-Ficial/tap/apfel
03 ollama (gemma3:1b)
opt-in · multiplateforme
Google Gemma 3 1B servi via ollama. 128K de contexte — peut avaler un diff
complet. Tourne sur Linux, macOS, Windows.
- Diffs longs (commit messages, résumés)
- Scan de patterns sur multi-fichiers
- Quand apfel n'est pas dispo (Linux, macOS <26)
brew install ollama && ollama pull gemma3:1b
Quand utiliser quoi ?
Les agents godspeed (00) et 2b3 (08) sont les seuls à invoquer le LLM local —
les autres restent sur Claude. Si aucun LLM local n'est dispo, fallback Claude transparent.
| Tâche | Critère | Choix |
| Détecter TODO/FIXME/secrets dans un fichier | Fichier < 200 lignes | apfel si dispo, sinon ollama, sinon Claude |
| Générer un commit message | Diff peut être long | ollama (128K ctx) — sinon Claude |
| Classification rapide (oui/non) | Réponse courte attendue | apfel prioritaire |
| Audit complet de code, génération de spec | Raisonnement complexe | Claude (toujours) |
| Lire un screenshot, une maquette | Multimodal | Claude vision (toujours) |
Vision — multimodal & agent d'audit
« Vision » couvre deux choses différentes dans ulk :
Capacité vision multimodale (Claude)
capacité native
Claude lit nativement les images. Les agents l'exploitent pour :
- Lire un screenshot d'erreur ou d'interface
- Extraire des composants depuis une maquette Figma exportée
- Vérifier le rendu d'un design (couleurs, alignement, typographie)
- Identifier des éléments graphiques dans un PDF, un mockup, une capture
Agents qui s'en servent : brique, visual-auditor,
agathe (mode garante), strange (reverse doc).
Agent Vision (05) — audit code
audit
Agent dédié à l'audit du codebase. Pas de rapport avec la vision multimodale — c'est un
choix de nom historique. Modes disponibles :
vision mode=audit — analyse qualité, architecture, sécurité vision mode=simplify — passe de simplification ciblée vision mode=full — audit + simplification chaînés
Voir : /agents/audit/05-vision
Quels agents délèguent au LLM local ?
Volontairement restreint à deux agents, pour éviter une cascade de délégations imprévisible.
- godspeed (00) — diagnostic projet. Utilise apfel/ollama pour classifier
rapidement les fichiers détectés (config, source, doc, généré). Évite de charger Claude
avec une lecture exhaustive du projet.
- 2b3 (08) — checkpoint fin de session. Utilise apfel/ollama pour scanner les
TODO/FIXME/secrets sur les fichiers modifiés (Phase 1.4) et générer le commit message
(Phase 5). Si aucun LLM local : fallback Claude transparent.
Tous les autres agents s'appuient directement sur Claude. La règle : déléguer le bruit, pas le sens.
Setup complet — 30 secondes
# macOS — apfel (Apple Intelligence local) + ollama (cross-platform)
brew install Arthur-Ficial/tap/apfel
brew install ollama && ollama pull gemma3:1b
# Linux / Windows — ollama uniquement
curl -fsSL https://ollama.com/install.sh | sh
ollama pull gemma3:1b
# Vérification
apfel -q "ok"
ollama list | grep gemma3
Sans configuration supplémentaire : godspeed et 2b3 détectent automatiquement la présence
de chaque LLM et choisissent le bon. Si aucun n'est dispo, Claude prend le relais.
Multi-LLM (v6) — Codex CLI · Gemini CLI · Mistral Vibe
Depuis v6, ulk est portable vers trois CLI IA alternatives via ulk export.
Six agents couvrent le cycle complet sur chaque plateforme.
Codex CLI OpenAI · gpt-4o / o3 Contexte via AGENTS.md (93 agents, 17 KB, limite 32 KiB).
ulk export --target codex
Limite : pas de Task tool natif (sous-agents). Worktree non supporté.
Gemini CLI Google · gemini-2.5-pro / flash Contexte GEMINI.md + 6 sous-agents dans .gemini/agents/.
ulk export --target gemini
Sous-agents parallèles supportés. MCP supportés. ask_user() remplace AskUserQuestion.
Mistral Vibe Mistral · medium-3-5 / small-3-1 6 configs TOML dans .vibe/agents/ (remote agents cloud Mistral).
ulk export --target mistral
Agents portés : bruce · godspeed · sargeras · 2b3 · task-runner · verify.
Protocole complet : framework/agents/_shared/multi-provider-protocol.md
Pourquoi cette stratégie hybride ?
💸 Coût
Les micro-tâches (commit messages, scan de fichiers) représentent ~30 % des appels
en checkpoint. Délégués localement, ils tombent à 0 token.
⚡ Latence
Un appel apfel local : ~200 ms. Un appel Claude : 1-3 s. Sur 14 fichiers à scanner,
la différence se compte en dizaines de secondes par session.
🔒 Vie privée
Le code modifié contient parfois des secrets, des données client, des configs sensibles.
Le scan local ne sort jamais de la machine.
♻ Résilience
Si l'API Anthropic est lente ou indisponible, la session continue. Les agents
utilisant le LLM local ne se bloquent pas.