Skip to content

05 — AI engineer

05 — Devenir un AI engineer avec Opencode

Objectif : utiliser Opencode non seulement pour écrire du code, mais pour développer des systèmes et des fonctionnalités d’IA — du choix des modèles à l’évaluation, en passant par les serveurs MCP et les skills.

1. Deux façons d’utiliser l’IA en ingénierie

Usage Description
Coder avec l’IA Opencode écrit votre application classique (fait depuis le chapitre 01)
Développer de l’IA Vous construisez des produits qui intègrent des LLM : chatbots, RAG, agents, pipelines de données

Ce chapitre couvre les deux, avec un accent sur la seconde — la spécialité de l’ai-engineer.

2. Choisir ses modèles selon la tâche

Tous les modèles ne se valent pas pour toutes les tâches. Dans opencode.json, configurez des modèles par rôle :

{
"$schema": "https://opencode.ai/config.json",
"model": "anthropic/claude-sonnet-4-6",
"small_model": "anthropic/claude-haiku-4-5",
"agent": {
"plan": {
"model": "anthropic/claude-haiku-4-5"
},
"build": {
"model": "anthropic/claude-sonnet-4-6"
},
"ai-engineer": {
"model": "anthropic/claude-opus-4-6"
}
}
}

Règles de bon sens :

  • Modèle rapide/économique pour explorer, planifier, titrer, résumer.
  • Modèle puissant pour implémenter des changements complexes.
  • Modèle maximal pour l’architecture IA, les problèmes durs, l’audit.
  • La température : basse (0.1) pour l’analyse, haute (0.7+) pour le brainstorming.
flowchart TD
T[Tâche ?] -->|explorer, planifier, résumer| R[petit modèle rapide<br/>ex. claude-haiku]
T -->|implémenter du code| P[modèle puissant<br/>ex. claude-sonnet]
T -->|problème d'IA difficile, audit| M[modèle maximal<br/>ex. claude-opus]
T -->|brainstorming, créativité| C[température haute > 0.7]
R --> C
P --> C
M --> C
style R fill:#ecfeff,stroke:#0891b2,color:#164e63
style P fill:#eef2ff,stroke:#4f46e5,color:#312e81
style M fill:#fff7ed,stroke:#ea580c,color:#7c2d12
style C fill:#f5f3ff,stroke:#7c3aed,color:#4c1d95

Liste des modèles disponibles :

Terminal window
opencode models

3. Les skills — des compétences réutilisables

Un skill est un SKILL.md contenant des instructions que l’agent charge à la demande quand la tâche correspond. C’est un « mode d’emploi » pour des workflows complexes.

Emplacements

.opencode/skills/<nom>/SKILL.md ← projet
~/.config/opencode/skills/<nom>/SKILL.md ← global

Structure

---
name: test-driven-dev
description: Use when writing code with tests. Guides the red-green-refactor loop.
---
# Test-Driven Development
Follow the red-green-refactor cycle:
1. RED: write a failing test for the behavior first.
2. GREEN: write the minimal code to make it pass.
3. REFACTOR: clean up while keeping tests green.
...

Règles de validation

  • name et description obligatoires.
  • name : minuscules, tirets simples, 1-64 caractères (^[a-z0-9]+(-[a-z0-9]+)*$).
  • description : 1-1024 caractères, écrite à la 3e personne, avec les mots-clés déclencheurs en avant.
  • Le fichier s’appelle SKILL.md exactement, dans un dossier au nom du skill.

Exemple fourni

Le skill exemples/.opencode/skills/test-driven-dev/SKILL.md applique le cycle rouge-vert-refactor à chaque développement.

Terminal window
cp -r exemples/.opencode/skills/ .opencode/skills/

4. Les serveurs MCP — donner des super-pouvoirs à l’IA

MCP (Model Context Protocol) connecte Opencode à des outils externes : navigateur, base de données, GitHub, etc. C’est ainsi qu’un AI engineer teste réellement ses modèles, navigue dans la doc et interagit avec le monde.

Configuration dans opencode.json :

{
"mcp": {
"playwright": {
"type": "local",
"command": ["npx", "-y", "@playwright/mcp"],
"enabled": true
},
"github": {
"type": "remote",
"url": "https://api.githubcopilot.com/mcp/",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:GITHUB_TOKEN}"
}
}
}
}
  • type : local (commande) ou remote (URL).
  • command est un tableau de chaînes, jamais une seule chaîne.
  • {env:VAR} permet d’interpoler des variables d’environnement dans les en-têtes.

Exemples d’usage en ingénierie IA :

  • Playwright : tester visuellement une interface de chatbot, vérifier le rendu.
  • GitHub MCP : créer des issues, commenter des PR depuis une session.
  • Serveurs métier : interroger votre API, votre base, votre CI.

5. Le workflow d’un AI engineer (bonnes pratiques)

Concevoir avec un prompt système propre

Demandez à Opencode de vous aider à rédiger le prompt système d’un agent que vous développez :

Aide-moi à écrire un prompt système pour un agent de support client :
- ton clair et empathique
- refuse poliment ce qui est hors périmètre
- escalade vers un humain si l'utilisateur est frustré
- ne jamais inventer de prix ou de politiques

Évaluer, ne pas deviner

L’ingénierie IA sérieuse s’évalue. Demandez à Opencode de construire un jeu d’évaluation :

Crée un jeu de 20 prompts de test variés pour évaluer notre assistant,
avec pour chacun : entrée, sortie attendue, critères de réussite.
Génère aussi un script qui lance l'évaluation et calcule un score.

Tester les cas limites

Les LLM échouent de façon différente des logiciels classiques : hallucinations, injections de prompt, fuite de contexte, sorties hors format. Votre agent security-auditor (chapitre 03) devrait aussi auditer ces surfaces.

6. Ingénierie de données et de prompts

  • RAG : demandez à Opencode de structurer l’indexation, le chunking, l’embeddings et la recherche de votre base de connaissances.
flowchart LR
S[Sources<br/>docs, wikis] --> C[Découpage en chunks]
C --> E[Embeddings]
E --> V[(Base vectorielle)]
Q[Question utilisateur] --> EQ[Embeddings de la requête]
EQ --> R[Recherche de similarité]
V --> R
R --> CTX[Contexte pertinent]
CTX --> L[LLM génération]
Q --> L
L --> A[Réponse sourcée]
style S fill:#ecfeff,stroke:#0891b2,color:#164e63
style V fill:#eef2ff,stroke:#4f46e5,color:#312e81
style L fill:#fff7ed,stroke:#ea580c,color:#7c2d12
style A fill:#f0fdf4,stroke:#16a34a,color:#14532d
  • Fine-tuning : aidez-vous d’Opencode pour préparer des datasets propres (nettoyage, dédup, format).
  • Pipelines : laissez l’agent générer les tests d’intégration entre les étapes (ingestion → embedding → retrieval → génération).

Le tout dans des incréments testés, conformément à la méthode d’ingénieur.

Récapitulatif

  1. Modèles par rôle : rapide pour planifier, puissant pour implémenter.
  2. Skills = workflows réutilisables déclenchés à la demande.
  3. MCP = connecter Opencode à vos outils (navigateur, GitHub, API).
  4. Évaluation systématique des sorties de vos systèmes d’IA.

Passez au chapitre 06 — Sécurité pour verrouiller vos agents.