Qu’est-ce que la multimodalité ?
Un modèle multimodal peut traiter :
Prompt: "Voici un screenshot de mon erreur. Explique le problème."
[Image attachée]
Gain : Pas besoin de copier-coller des stack traces de 50 lignes.
Prompt: "Voici le design Figma en image. Génère le CSS correspondant."
[Image du design]
Gain : De l’image au CSS en un prompt.
Prompt: "Ce diagramme AWS est-il correct ? Que manque-t-il ?"
[Image CloudWatch/Draw.io]
Gain : Validation d’architecture par l’IA.
Prompt: "La page s'affiche mal, voici le screenshot et le CSS."
[Screenshot + CSS]
| Limite | Description |
|---|---|
| Coût en tokens | Les images consomment beaucoup de tokens |
| Précision | L’IA peut mal interpréter une image |
| Hallucination visuelle | Inventer des détails qui n’existent pas |
| Résolution | Images trop petites = détails perdus |
Conseil : Utilisez la multimodalité pour des tâches spécifiques, pas par défaut.
Le pattern clé : Playwright peut générer des “snapshots textuels” du DOM.
# PAS ça (lourd)
screenshot = page.screenshot() # 50KB+ en base64
# Mais ça (léger)
snapshot = page.accessibility.snapshot()
# Retourne une représentation textuelle du DOM
Exemple de snapshot textuel :
- Button "Login" [focused]
- TextBox "Email" [empty]
- TextBox "Password" [empty]
- Link "Forgot password?"
- Heading "Welcome"
Avantages :
Dans OpenCode :
[TOOL] playwright_snapshot()
# Pas de screenshot PNG !
# Retourne une representation textuelle
Scénarios réels (HN 2024-2025) :
| Profil | Coût mensuel |
|---|---|
| Casuel | $10-20 |
| Développeur actif | $40-100 |
| Power user | $100-700 |
| Extrême | $2,000-24,000 |
Story réaliste : Un développeur a eu une facture de $2,400/mois avant d’optimiser.
| Modèle | Coût/1M tokens | Usage |
|---|---|---|
| Gemini Flash | ~$0.07 | Tâches simples, brainstorming |
| DeepSeek | ~$0.10-0.50 | Math, coding avancé |
| GLM-4 | ~$0.15 | Alternative chinoise |
| Claude Haiku | ~$0.25 | Tâches rapides |
| Modèle | Coût/1M tokens | Usage |
|---|---|---|
| Claude Sonnet | $3 / $15 | Architecturedécisions |
| GPT-4o | $2.50 / $10 | Code complexe |
| Claude Opus | $15 / $75 | Review final |
# Dans OpenCode, configurer le routage
routing:
brainstorm:
model: gemini-flash
max_tokens: 1000
code_generation:
model: claude-sonnet
final_review:
model: claude-opus
| Technique | Économie | Description |
|---|---|---|
| AGENTS.md | 30-50% | Contexte permanent, pas répété |
| Prompt compression | 50-80% | LLMLingua supprime le bruit |
| Semantic caching | 40-60% | Cache des requêtes similaires |
| Context rotation | Variable | Ralph Loop avec rotation |
LLMLingua et outils similaires :
from llmlingua import PromptCompressor
compressor = PromptCompressor()
compressed = compressor.compress_prompt(long_prompt)
# Réduction de 50-80%
Le TP fil rouge continue : comparer les modèles.
Voir 6_tp_multimodal.md →