Histoire d'Anthropic et Vision

45 minFondamental

Objectifs

  • Comprendre la fondation d'Anthropic et sa mission
  • Connaitre l'approche Constitutional AI
  • Situer Claude dans l'histoire de l'IA generative

En 30 ans dans l'IA, j'ai vu l'evolution depuis les reseaux de neurones simples jusqu'aux LLMs d'aujourd'hui. Anthropic represente un tournant majeur : une entreprise fondee non pas pour aller le plus vite, mais pour aller de la maniere la plus sure. Cette philosophie change tout dans la facon de concevoir des architectures IA.

Les Fondateurs

Anthropic a ete fondee en 2021 par Dario Amodei (CEO, ex-VP Research chez OpenAI) et Daniela Amodei (President, ex-VP Operations chez OpenAI). Ils ont quitte OpenAI avec une conviction : l'IA avancee necessite une approche safety-first fondamentalement differente.

L'equipe fondatrice comprend plusieurs chercheurs de pointe en ML, convaincus que la course a la puissance sans garde-fous represente un risque existentiel.

Chronologie d'Anthropic

Timeline Anthropic & Claude
2021  ─────  Fondation d'Anthropic (San Francisco)
  β”‚          Dario & Daniela Amodei + equipe ex-OpenAI
  β”‚          Premiere levee : $124M (Jaan Tallinn, etc.)
  β”‚
2022  ─────  Publication du papier "Constitutional AI"
  β”‚          Concept revolutionnaire : IA qui s'auto-evalue
  β”‚          Levee Series B : $580M
  β”‚
2023  ─────  Claude 1.0 (Mars) - Premier modele public
  β”‚          Claude 2.0 (Juillet) - 100K contexte
  β”‚          Claude 2.1 (Nov) - 200K contexte, tool use
  β”‚          Investissement Google : $300M
  β”‚          Investissement Amazon : $4B
  β”‚
2024  ─────  Claude 3 (Mars) - Opus/Sonnet/Haiku
  β”‚          Claude 3.5 Sonnet (Juin) - SOTA coding
  β”‚          Claude 3.5 Haiku (Oct) - Ultra-rapide
  β”‚          MCP (Model Context Protocol) lance
  β”‚
2025  ─────  Claude 4.0, puis Sonnet 4.5, Haiku 4.5
  β”‚          Claude Code CLI - Agents pour developpeurs
  β”‚          Extended Thinking - Raisonnement visible
  β”‚
2026  ─────  Opus 4.6 - Le plus capable a ce jour
             1M tokens contexte, agents autonomes

Mission et Philosophie

La mission d'Anthropic : "The responsible development and maintenance of advanced AI for the long-term benefit of humanity."

Constitutional AI (CAI)

Constitutional AI est l'innovation cle d'Anthropic. Au lieu d'utiliser uniquement du feedback humain (RLHF), Claude est entraine avec des principes constitutionnels : un ensemble de regles ethiques et comportementales que le modele utilise pour s'auto-evaluer et s'auto-corriger. C'est comme donner une "constitution" a une IA.

Financement massif

Anthropic a leve plus de $7 milliards aupres d'investisseurs majeurs : Google ($2B+), Amazon ($4B), Spark Capital, et d'autres. Ce financement permet une recherche independante sur la securite de l'IA a long terme.

Approche Safety-First d'Anthropic
  APPROCHE TRADITIONNELLE          APPROCHE ANTHROPIC
  ─────────────────────          ──────────────────────
  1. Construire le modele         1. Definir les principes
  2. Tester la puissance          2. Entrainer avec contraintes
  3. Ajouter safety apres         3. Safety integree (CAI)
  4. Deployer                     4. Tester securite
  5. Patcher les problemes        5. Deployer prudemment
                                  6. Monitorer continuellement

  Risque: Safety = afterthought   Safety = fondation

Pourquoi c'est important pour un architecte

En tant qu'architecte IA, comprendre la philosophie d'Anthropic vous aide a :

  • Concevoir des systemes responsables - Integrer la securite des le design
  • Anticiper les comportements - Claude refuse certaines demandes par design
  • Choisir le bon provider - Anthropic vs OpenAI vs Google selon vos contraintes
  • Communiquer avec les stakeholders - Expliquer les choix de securite IA

Quiz - Histoire d'Anthropic

1. Qui a fonde Anthropic ?

Dario et Daniela Amodei, ex-OpenAI
Sam Altman et Greg Brockman
Sundar Pichai et Jeff Dean
Yann LeCun et Mark Zuckerberg

2. Quelle est l'innovation cle d'Anthropic pour la securite IA ?

Reinforcement Learning from Human Feedback (RLHF)
Constitutional AI (CAI)
Generative Adversarial Networks (GAN)
Transfer Learning

3. En quelle annee Claude 3 (Opus/Sonnet/Haiku) a-t-il ete lance ?

2023
2024
2025
2022

4. Combien Anthropic a-t-il leve au total (approximativement) ?

$500 millions
$2 milliards
Plus de $7 milliards
$100 millions

L'ecosysteme Claude

45 minFondamental

Objectifs

  • Connaitre tous les produits et services Claude
  • Comprendre les differents canaux d'acces
  • Choisir le bon produit selon le cas d'usage

Vue d'ensemble de l'ecosysteme

Ecosysteme Claude - Tous les points d'acces
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚      ANTHROPIC CLOUD         β”‚
                    β”‚    (Modeles Claude)           β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚          β”‚           β”‚           β”‚          β”‚
   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β” β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β” β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β” β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β” β”Œβ”€β”€β–Όβ”€β”€β”€β”€β”€β”
   β”‚Claude  β”‚ β”‚  API   β”‚ β”‚Claude  β”‚ β”‚  AWS   β”‚ β”‚Google  β”‚
   β”‚ .ai    β”‚ β”‚Directe β”‚ β”‚ Code   β”‚ β”‚Bedrock β”‚ β”‚Vertex  β”‚
   β”‚(Web)   β”‚ β”‚(HTTP)  β”‚ β”‚(CLI)   β”‚ β”‚        β”‚ β”‚  AI    β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   Utilisateur Developpeur Developpeur Enterprise Enterprise
   final       API         CLI/Agent  AWS native GCP native

Les produits en detail

ProduitCibleAccesCas d'usage
Claude.aiTousWeb/MobileConversations, artefacts, projets, analyse documents
API AnthropicDeveloppeursHTTP RESTIntegration dans applications, chatbots, pipelines
Claude CodeDeveloppeursCLI TerminalCoding, refactoring, agents, exploration codebase
AWS BedrockEnterpriseAWS SDKIntegration AWS native, compliance, VPC
Google Vertex AIEnterpriseGCP SDKIntegration GCP native, BigQuery, GKE
Claude TeamsEquipesWebCollaboration, projets partages, admin
Claude EnterpriseGrandes Org.Web+APISSO, RBAC, audit, data retention, 500K contexte

Claude.ai - Les offres

FeatureFreePro ($20/mois)Teams ($30/mois)Enterprise
ModelesSonnetTous (Opus inclus)TousTous
UsageLimite5x plusPrioriteIllimite
ProjetsOuiOuiPartagesOrganisation
ArtefactsOuiOuiOuiOui
SSO/RBACNonNonBasiqueComplet
Admin ConsoleNonNonOuiAvance

Choisir le bon canal d'acces

Prototype rapide? Claude.ai ou API directe. Production AWS? Bedrock. Production GCP? Vertex AI. Developpement quotidien? Claude Code CLI. Equipe? Claude Teams. Le canal d'acces depend de votre infrastructure existante et de vos contraintes de compliance.

Quiz - Ecosysteme Claude

1. Quel produit est le mieux adapte pour integrer Claude dans une application web personnalisee ?

Claude.ai
API Anthropic (Messages API)
Claude Code CLI
Claude Teams

2. Pour une entreprise deja sur AWS avec des contraintes de compliance, quel acces privilegier ?

API Anthropic directe
AWS Bedrock
Claude.ai Enterprise
Google Vertex AI

3. Quel outil CLI permet d'utiliser Claude comme agent de developpement ?

Claude.ai
Anthropic SDK
Claude Code
Claude Teams

Les Modeles Claude - Familles et Versions

60 minIntermediaire

Objectifs

  • Comprendre chaque modele et ses forces
  • Savoir quel modele utiliser selon le cas
  • Connaitre l'evolution des versions

Famille de modeles actuelle (2026)

ModeleModel IDInput/1MOutput/1MContexteForces
Opus 4.6claude-opus-4-6$5.00$25.001M tokensRaisonnement complexe, agents autonomes, code avance
Sonnet 4.5claude-sonnet-4-5-20250929$3.00$15.001M tokensEquilibre performance/cout, coding quotidien
Haiku 4.5claude-haiku-4-5-20251001$1.00$5.00200K tokensUltra-rapide, classification, routing, economique

La regle d'or que j'enseigne depuis des annees : toujours commencer avec le modele le moins cher qui fait le travail. Haiku pour le routing et la classification, Sonnet pour 80% des taches, Opus uniquement quand la complexite l'exige. C'est cette discipline qui separe un architecte junior d'un senior.

Arbre de decision : quel modele choisir ?

Decision Tree - Choix du Modele
                    Quelle est votre tache ?
                           β”‚
         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚                 β”‚                 β”‚
    Simple/Rapide    Standard/Code      Complexe/Agent
         β”‚                 β”‚                 β”‚
    β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”
    β”‚ HAIKU   β”‚      β”‚ SONNET  β”‚      β”‚  OPUS   β”‚
    β”‚  4.5    β”‚      β”‚  4.5    β”‚      β”‚  4.6    β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    $1/$5            $3/$15           $5/$25
    200K ctx         1M ctx           1M ctx

    - Classification  - Coding        - Raisonnement
    - Extraction      - Analyse       - Agents multi-step
    - Routing         - Generation    - Code complexe
    - Reformatage     - Summarization - Recherche
    - Triage          - Q&A           - Planification

Evolution des versions

Evolution Claude : Generations
Gen 1 (2023)    Gen 2 (2023)    Gen 3 (2024)       Gen 4 (2025-26)
──────────      ──────────      ──────────────     ────────────────
Claude 1.0  β†’   Claude 2.0  β†’   Claude 3 Opus  β†’   Claude 4.x
                Claude 2.1      Claude 3 Sonnet     Sonnet 4.5
                                Claude 3 Haiku      Haiku 4.5
                                Claude 3.5 Sonnet   Opus 4.6

Context:        Context:        Context:            Context:
~9K tokens      100-200K        200K                200K-1M

Capacites:      Capacites:      Capacites:          Capacites:
Basique         Tool Use        Vision              Extended Thinking
                200K context    Benchmark SOTA      Agents autonomes
                                MCP                 Adaptive Thinking
Python
import anthropic

client = anthropic.Anthropic()

# Utiliser Opus pour du raisonnement complexe
response_opus = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=4096,
    messages=[{"role": "user", "content": "Analyse cette architecture..."}]
)

# Utiliser Sonnet pour du coding standard
response_sonnet = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=2048,
    messages=[{"role": "user", "content": "Ecris une fonction Python..."}]
)

# Utiliser Haiku pour de la classification rapide
response_haiku = client.messages.create(
    model="claude-haiku-4-5-20251001",
    max_tokens=100,
    messages=[{"role": "user", "content": "Classifie: positif/negatif/neutre"}]
)

Quiz - Modeles Claude

1. Quel modele a le meilleur rapport qualite/prix pour le coding quotidien ?

Opus 4.6
Sonnet 4.5
Haiku 4.5

2. Quelle est la fenetre de contexte d'Opus 4.6 ?

200K tokens
500K tokens
1M tokens
128K tokens

3. Pour un systeme de routing/classification haute frequence, quel modele choisir ?

Opus 4.6 (meilleure qualite)
Sonnet 4.5 (bon equilibre)
Haiku 4.5 (rapide et economique)

Architecture Transformer et Specificites Claude

60 minIntermediaire

Objectifs

  • Comprendre les bases de l'architecture Transformer
  • Connaitre les specificites de Claude (Constitutional AI, RLHF)
  • Identifier les differences entre Claude et ses concurrents

Vous n'avez pas besoin d'etre un chercheur en ML pour etre un bon architecte IA. Mais comprendre les mecanismes fondamentaux - tokenization, attention, contexte - vous permet de prendre de meilleures decisions de design. C'est comme un architecte de batiments qui comprend la resistance des materiaux sans etre ingenieur structures.

Architecture Transformer simplifiee

Pipeline Transformer (simplifie)
  "Bonjour Claude"
        β”‚
        β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚TOKENIZER β”‚  "Bonjour" β†’ [15339]  "Claude" β†’ [21012]
  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
       β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚EMBEDDINGSβ”‚  [15339] β†’ [0.23, -0.45, 0.67, ...]  (vecteur 4096D)
  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
       β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  ATTENTION LAYERS     β”‚  x 80+ couches
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
  β”‚  β”‚ Self-Attention  β”‚  β”‚  Chaque token "regarde" tous les autres
  β”‚  β”‚ Q Γ— K^T / √d   β”‚  β”‚  Comprend le contexte et les relations
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
  β”‚  β”‚ Feed-Forward    β”‚  β”‚  Transformations non-lineaires
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ OUTPUT HEAD  β”‚  Probabilites sur le vocabulaire
  β”‚ softmax      β”‚  β†’ Token le plus probable
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β–Ό
  "Bonjour ! Comment puis-je vous aider ?"

Self-Attention : la cle de la comprehension

Le mecanisme d'attention permet a chaque token de "regarder" tous les autres tokens de la sequence. C'est ainsi que Claude comprend que dans "Le chat mange la souris", le sujet de "mange" est "chat" et l'objet est "souris". Plus la fenetre de contexte est grande, plus Claude peut "regarder" loin.

Specificites de Claude

AspectClaude (Anthropic)GPT (OpenAI)Gemini (Google)
Training SafetyConstitutional AI (RLAIF)RLHF classiqueRLHF + filtres
ApprocheSafety-first, principesCapability-firstIntegration-first
ComportementLiteral, precis, honneteFlexible, creatifFactuel, multimodal
Contexte max1M tokens128K tokens2M tokens
ForcesCoding, instructions, XMLEcosysteme, pluginsMultimodal, integration

Tokenization

Un token est l'unite de base que Claude traite. En anglais, 1 token β‰ˆ 4 caracteres ou β‰ˆ 0.75 mot. En francais, c'est environ 1 token β‰ˆ 3 caracteres car les accents et la grammaire consomment plus de tokens. Le mot "architecture" = 3 tokens, "Bonjour" = 1-2 tokens.

Quiz

1. Quel mecanisme permet a Claude de comprendre le contexte ?

Self-Attention
Backpropagation
Gradient Descent

2. Qu'est-ce que Constitutional AI ?

Un framework juridique pour l'IA
Un entrainement ou l'IA s'auto-evalue selon des principes
Un filtre de contenu post-generation

Fenetre de Contexte et Gestion des Tokens

60 minIntermediaire

Objectifs

  • Comprendre ce qu'est un token et comment les compter
  • Maitriser la fenetre de contexte et ses implications
  • Appliquer des strategies d'optimisation

Qu'est-ce qu'un token ?

Un token est la plus petite unite de texte que Claude traite. Ce n'est ni un caractere, ni un mot, mais un morceau de texte appris durant l'entrainement.

Estimations rapides

  • 1 mot anglais β‰ˆ 1.3 tokens
  • 1 mot francais β‰ˆ 1.5 tokens
  • 1 page (~500 mots) β‰ˆ 750 tokens
  • 1 ligne de code β‰ˆ 10-15 tokens

Fenetres de contexte

  • Haiku 4.5 : 200K tokens β‰ˆ 500 pages
  • Sonnet 4.5 : 1M tokens β‰ˆ 2500 pages
  • Opus 4.6 : 1M tokens β‰ˆ 2500 pages
Composition de la fenetre de contexte
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚              FENETRE DE CONTEXTE (1M)             β”‚
  β”‚                                                   β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                β”‚
  β”‚  β”‚ System Prompt β”‚ ~500-2000 tokens              β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”            β”‚
  β”‚  β”‚ Historique de conversation       β”‚            β”‚
  β”‚  β”‚ User msg 1 + Assistant msg 1    β”‚            β”‚
  β”‚  β”‚ User msg 2 + Assistant msg 2    β”‚ Variable   β”‚
  β”‚  β”‚ ...                              β”‚            β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜            β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”            β”‚
  β”‚  β”‚ Contexte RAG / Documents         β”‚ Variable   β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜            β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                β”‚
  β”‚  β”‚ Dernier msg  β”‚ Question actuelle              β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                β”‚
  β”‚  β”‚ Reponse      β”‚ ← max_tokens limite ceci      β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                β”‚
  β”‚                                                   β”‚
  β”‚  Total = input_tokens + output_tokens ≀ contexte β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Attention aux couts et a la latence

Plus le contexte est long, plus c'est cher (facturation au token) et plus la latence augmente. Un appel avec 100K tokens d'input coutera 100x plus qu'un appel avec 1K tokens. Optimisez toujours la taille du contexte.

Strategies d'optimisation

  1. Prompts concis - Eliminer les mots inutiles, aller droit au but
  2. Summarization - Resumer les conversations longues periodiquement
  3. Prompt Caching - Cacher les system prompts longs (90% reduction)
  4. Chunking intelligent - Decouper les documents et n'envoyer que les parties pertinentes
  5. Model routing - Haiku pour les taches simples, Opus seulement quand necessaire

Quiz

1. Combien de pages de texte peut contenir 1M tokens ?

100 pages
500 pages
Environ 2500 pages

2. Quelle technique reduit le cout des tokens input de 90% ?

Model routing
Prompt Caching
Batching

Comparaison Claude vs GPT vs Gemini

45 minFondamental

Objectifs

  • Positionner Claude par rapport a la concurrence
  • Identifier les forces et faiblesses de chaque provider
  • Savoir recommander le bon modele selon le contexte

Posture d'architecte

En tant qu'architecte, votre role est de choisir le bon outil pour le bon usage. Il n'y a pas de "meilleur" modele absolu. Chaque provider a ses forces. La vraie competence est de savoir quand utiliser lequel.

Comparaison detaillee

CritereClaude (Anthropic)GPT-4o (OpenAI)Gemini Ultra (Google)
Contexte1M tokens128K tokens2M tokens
CodingExcellent (SWE-bench SOTA)Tres bonBon
RaisonnementExcellentExcellentTres bon
SafetyLeader (Constitutional AI)Bon (RLHF)Bon
MultimodalImages, PDFImages, Audio, VideoNatif multi-modal
EcosystemeAPI, MCP, Claude CodePlugins, GPTs, AssistantsGoogle Cloud integration
XML/StructureExcellentBonCorrect
InstructionsTres literal, precisFlexible, creatifVariable
Forces relatives (radar simplifie)
                     Safety
                       5
                       β”‚
            Coding 5 ──┼── 5 Raisonnement
                      /β”‚\
                     / β”‚ \
                    /  β”‚  \
          Speed 5 ──  β”‚  β”œβ”€ 5 Contexte
                    \  β”‚  /
                     \ β”‚ /
                      \β”‚/
              Cost 5 ──┼── 5 Multimodal
                       β”‚
                    Ecosysteme
                       5

  Claude:  Safetyβ˜…β˜…β˜…β˜…β˜… Codingβ˜…β˜…β˜…β˜…β˜… Contexteβ˜…β˜…β˜…β˜…β˜†
  GPT-4o:  Ecosysβ˜…β˜…β˜…β˜…β˜… Multimodβ˜…β˜…β˜…β˜…β˜… Creatifβ˜…β˜…β˜…β˜…β˜…
  Gemini:  Contexteβ˜…β˜…β˜…β˜…β˜… Integrationβ˜…β˜…β˜…β˜…β˜† Speedβ˜…β˜…β˜…β˜…β˜†

Quand choisir Claude ?

  • Coding et developpement - SOTA sur SWE-bench, excellent suivi d'instructions
  • Long context - Analyse de documents volumineux (1M tokens)
  • Safety-critical - Applications ou la securite IA est primordiale
  • Prompts structures - Excellent avec XML, JSON, formats stricts
  • Agents - Extended thinking + tool use = agents fiables

Quiz

1. Quel est l'avantage principal de Claude pour le coding ?

Il est le moins cher
SOTA sur SWE-bench et suivi precis des instructions
Il supporte plus de langages

2. Quel provider a la plus grande fenetre de contexte ?

Claude (1M)
Gemini (2M)
GPT (128K)

Tarification et Optimisation des Couts

60 minIntermediaire

Objectifs

  • Comprendre le modele de tarification Claude
  • Calculer les couts d'un projet IA
  • Appliquer les strategies d'optimisation

Le FinOps IA est LA competence #1 que les entreprises recherchent en 2026. J'ai vu des projets passer de $50K/mois a $5K/mois simplement en appliquant model routing + prompt caching + batching. Savoir reduire les couts de 80% sans perdre en qualite, c'est ce qui fait un bon architecte IA.

Grille tarifaire complete

ModeleInput / 1M tokensOutput / 1M tokensCache InputBatch (-50%)
Opus 4.6$5.00$25.00$0.50 (90%↓)$2.50 / $12.50
Sonnet 4.5$3.00$15.00$0.30 (90%↓)$1.50 / $7.50
Haiku 4.5$1.00$5.00$0.10 (90%↓)$0.50 / $2.50

Calcul pratique

Python
# Calculateur de couts Claude
def calculate_cost(model, input_tokens, output_tokens, cached_input=0):
    pricing = {
        "opus":   {"input": 5.00,  "output": 25.00, "cache": 0.50},
        "sonnet": {"input": 3.00,  "output": 15.00, "cache": 0.30},
        "haiku":  {"input": 1.00,  "output": 5.00,  "cache": 0.10},
    }
    p = pricing[model]
    fresh_input = input_tokens - cached_input
    cost = (fresh_input / 1_000_000 * p["input"] +
            cached_input / 1_000_000 * p["cache"] +
            output_tokens / 1_000_000 * p["output"])
    return round(cost, 6)

# Exemple : chatbot Sonnet, 1000 tokens in, 500 out
print(calculate_cost("sonnet", 1000, 500))  # $0.0105

# Avec caching (800 tokens caches sur 1000)
print(calculate_cost("sonnet", 1000, 500, cached_input=800))  # $0.00084

4 strategies d'optimisation

1. Model Routing

Haiku pour simple (-66%), Sonnet pour standard, Opus pour complexe. Economie: 40-60%

2. Prompt Caching

Cacher system prompts et contexte RAG. Economie: jusqu'a 90% sur l'input

3. Batching

Message Batches API pour non-urgent. Economie: 50% sur tout

4. Prompt Compression

Reduire la taille des prompts, summarizer les conversations. Economie: 20-40%

Quiz

1. Quel est le cout output de Sonnet 4.5 par million de tokens ?

$3.00
$15.00
$25.00

2. Combien de reduction offre le prompt caching sur l'input ?

50%
90%
25%

3. Quelle strategie est la plus efficace pour un chatbot a fort volume ?

Model routing + Prompt caching combines
Utiliser Opus pour tout
Batching uniquement

Quiz Complet - Ecosysteme Claude

30 minEvaluation

Objectifs

  • Valider les acquis du Module 1.1
  • 20 questions couvrant les 7 lecons precedentes

Examen Module 1.1 - Comprendre Claude & Anthropic

1. En quelle annee Anthropic a-t-il ete fonde ?

2021
2020
2022
2019

2. Quel est le model ID correct de Sonnet 4.5 ?

claude-4-sonnet
claude-sonnet-4-5-20250929
claude-sonnet-4.5
sonnet-4-5

3. Quel service permet d'utiliser Claude dans l'ecosysteme AWS ?

AWS SageMaker
AWS Bedrock
AWS Lambda
AWS Comprehend

4. Combien coute l'input par 1M tokens pour Haiku 4.5 ?

$0.50
$1.00
$3.00
$5.00

5. Quel mecanisme permet au Transformer de comprendre le contexte ?

Convolution
Recurrence
Self-Attention
Pooling

6. Constitutional AI utilise quel type de feedback ?

RLHF uniquement
RLAIF (AI Feedback base sur des principes)
Supervised Learning uniquement
GAN-based feedback

7. Quelle est la fenetre de contexte de Haiku 4.5 ?

1M tokens
500K tokens
200K tokens
128K tokens

8. Quel modele Claude est le plus adapte pour un agent autonome complexe ?

Opus 4.6
Sonnet 4.5
Haiku 4.5

9. Quelle reduction offre le Message Batches API ?

25%
50%
75%
90%

10. Quelle est la principale force de Gemini par rapport a Claude ?

Meilleur coding
Meilleure safety
Fenetre de contexte plus grande (2M) et multimodal natif
Moins cher

Premier Appel API - Messages API

60 minIntermediaire

Objectifs

  • Configurer sa cle API et le SDK Python
  • Faire son premier appel a l'API Claude
  • Comprendre la structure de la requete et de la reponse

Le moment ou vous faites votre premier appel API, c'est le moment ou vous passez d'utilisateur a architecte. A partir de maintenant, vous controlez Claude programmatiquement. Chaque parametre, chaque token, chaque decision est entre vos mains.

Etape 1 : Installation du SDK

Terminal
# Python SDK
pip install anthropic

# TypeScript SDK
npm install @anthropic-ai/sdk

# Configurer la cle API (variable d'environnement)
export ANTHROPIC_API_KEY="sk-ant-api03-votre-cle-ici"

Securite de la cle API

Ne JAMAIS mettre la cle API directement dans le code source. Toujours utiliser des variables d'environnement ou un gestionnaire de secrets (AWS Secrets Manager, HashiCorp Vault, etc.).

Etape 2 : Premier appel Python

Python
import anthropic

# Le SDK lit automatiquement ANTHROPIC_API_KEY
client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Bonjour Claude ! Explique-moi ce qu'est une API en 3 phrases."}
    ]
)

# Acceder au texte de la reponse
print(message.content[0].text)

# Voir l'usage des tokens
print(f"Input: {message.usage.input_tokens} tokens")
print(f"Output: {message.usage.output_tokens} tokens")

Etape 3 : Equivalent TypeScript

TypeScript
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();

const message = await client.messages.create({
  model: "claude-sonnet-4-5-20250929",
  max_tokens: 1024,
  messages: [
    { role: "user", content: "Bonjour Claude !" }
  ]
});

console.log(message.content[0].text);

Structure de la reponse

JSON - Reponse API
{
  "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Une API (Application Programming Interface) est..."
    }
  ],
  "model": "claude-sonnet-4-5-20250929",
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 25,
    "output_tokens": 150
  }
}
ChampDescription
idIdentifiant unique du message
contentTableau de blocs de contenu (text, tool_use, etc.)
stop_reasonend_turn, max_tokens, stop_sequence, tool_use
usageNombre de tokens consommes (input + output)

Quiz

1. Quelle variable d'environnement contient la cle API ?

ANTHROPIC_API_KEY
CLAUDE_API_KEY
API_KEY

2. Quel champ de la reponse contient le texte genere ?

message.text
message.content[0].text
message.response

System Prompts et Configuration

60 minIntermediaire

Objectifs

  • Maitriser le parametre system prompt
  • Configurer temperature, max_tokens, stop_sequences
  • Creer des system prompts efficaces

Le system prompt est le levier le plus puissant que vous avez. Un bon system prompt transforme Claude d'un assistant generique en un expert specialise. C'est l'equivalent du brief que vous donnez a un consultant : plus il est precis, meilleur sera le resultat.

Anatomie d'un appel complet

Python
message = client.messages.create(
    model="claude-sonnet-4-5-20250929",   # Modele a utiliser
    max_tokens=2048,                       # Max tokens en sortie
    temperature=0.7,                       # Creativite (0=deterministe, 1=creatif)
    system="Tu es un architecte logiciel senior avec 20 ans d'experience. "
           "Tu reponds de maniere structuree avec des exemples concrets. "
           "Tu utilises des diagrammes ASCII quand c'est utile.",
    stop_sequences=["---END---"],          # Arret sur cette sequence
    messages=[
        {"role": "user", "content": "Compare monolithe vs microservices"}
    ]
)

Parametres en detail

ParametreDefautDescriptionConseil
temperature1.0Controle l'aleatoire (0-1)0 pour factuel, 0.7 pour creatif
max_tokensrequisLimite de tokens en sortieToujours definir pour controler le cout
top_p-Nucleus samplingUtiliser temperature OU top_p, pas les deux
top_k-Top-K samplingRarement necessaire
stop_sequences[]Sequences qui arretent la generationUtile pour controler le format

Bon vs Mauvais system prompt

Mauvais

"Sois un assistant utile."

Trop vague, aucune direction, pas de format, pas de contraintes.

Bon

"Tu es un architecte cloud senior. Reponds en francais. Structure tes reponses avec: 1) Resume executif (2 phrases) 2) Details techniques 3) Recommandation. Utilise des exemples AWS. Ne depasse pas 500 mots."

Quiz

1. Quelle temperature utiliser pour une extraction de donnees factuelle ?

0 (deterministe)
0.5
1.0 (maximum)

2. Quel est le role du system prompt ?

Definir le modele a utiliser
Definir le role, les contraintes et le comportement de Claude
Limiter le nombre de tokens

Streaming et Reponses en Temps Reel

45 minIntermediaire

Objectifs

  • Implementer le streaming avec le SDK Python
  • Comprendre les events Server-Sent Events (SSE)
  • Ameliorer l'experience utilisateur avec le temps reel

Pourquoi le streaming ?

Sans streaming, l'utilisateur attend que la reponse COMPLETE soit generee (parfois 10-30 secondes). Avec le streaming, il voit les premiers mots en quelques millisecondes. C'est la difference entre une UX mediocre et une UX professionnelle.

Python - Streaming
import anthropic

client = anthropic.Anthropic()

# Methode 1 : Context manager (recommande)
with client.messages.stream(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Ecris un guide d'architecture"}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

# Acces au message final
final = stream.get_final_message()
print(f"\nTokens: {final.usage.input_tokens} in, {final.usage.output_tokens} out")

Events SSE (Server-Sent Events)

EventDescriptionContenu
message_startDebut du messageMetadata, model, usage
content_block_startDebut d'un blocType (text, tool_use)
content_block_deltaChunk de texteLe texte incremental
content_block_stopFin d'un bloc-
message_deltaUpdate du messagestop_reason, usage
message_stopFin du message-

Streaming en production

En production, utilisez le streaming pour tous les endpoints utilisateur-facing. Reservez les appels non-streaming pour le batching et les pipelines internes ou la latence n'est pas critique.

Quiz

1. Quel est l'avantage principal du streaming ?

L'utilisateur voit la reponse immediatement sans attendre
La reponse est de meilleure qualite
Ca coute moins cher

Gestion des Erreurs et Rate Limits

45 minIntermediaire

Objectifs

  • Gerer les erreurs HTTP de l'API Claude
  • Implementer un retry avec backoff exponentiel
  • Comprendre et respecter les rate limits

Codes d'erreur HTTP

CodeTypeCauseAction
400Bad RequestParametres invalidesVerifier la requete
401UnauthorizedCle API invalideVerifier ANTHROPIC_API_KEY
403ForbiddenPermission refuseeVerifier les droits
429Rate LimitTrop de requetesRetry avec backoff
500Server ErrorErreur AnthropicRetry apres delai
529OverloadedAPI surchargeeRetry avec backoff

Pattern de retry robuste

Python
import anthropic
import time
import random

def call_claude(messages, model="claude-sonnet-4-5-20250929", max_retries=5):
    client = anthropic.Anthropic()

    for attempt in range(max_retries):
        try:
            return client.messages.create(
                model=model,
                max_tokens=1024,
                messages=messages
            )
        except anthropic.RateLimitError as e:
            # Backoff exponentiel + jitter
            wait = (2 ** attempt) + random.uniform(0, 1)
            print(f"Rate limited. Retry dans {wait:.1f}s...")
            time.sleep(wait)
        except anthropic.APIStatusError as e:
            if e.status_code >= 500:  # Erreur serveur
                wait = 2 ** attempt
                print(f"Erreur serveur {e.status_code}. Retry dans {wait}s...")
                time.sleep(wait)
            else:
                raise  # Erreur client (400, 401, 403) = pas de retry

    raise Exception(f"Echec apres {max_retries} tentatives")

Regle d'or

Ne JAMAIS ignorer les rate limits. Toujours implementer un retry avec backoff exponentiel et jitter. Les erreurs 4xx (sauf 429) ne doivent PAS etre retentees - ce sont des erreurs de votre code.

Quiz

1. Quel code HTTP signifie "rate limit depasse" ?

400
500
429

2. Faut-il retenter une erreur 401 (Unauthorized) ?

Oui, avec backoff
Non, c'est une erreur de configuration

Vision et Multimodal

60 minAvance

Objectifs

  • Envoyer des images a Claude via l'API
  • Analyser des diagrammes et documents visuels
  • Connaitre les limites du multimodal

Envoyer une image (base64)

Python
import anthropic
import base64

client = anthropic.Anthropic()

# Lire et encoder l'image
with open("architecture-diagram.png", "rb") as f:
    image_data = base64.standard_b64encode(f.read()).decode("utf-8")

message = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=2048,
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "image",
                "source": {
                    "type": "base64",
                    "media_type": "image/png",
                    "data": image_data
                }
            },
            {
                "type": "text",
                "text": "Analyse ce diagramme d'architecture. Identifie les composants, les flux de donnees, et les points faibles potentiels."
            }
        ]
    }]
)
print(message.content[0].text)

Envoyer une image via URL

Python
message = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "image",
                "source": {
                    "type": "url",
                    "url": "https://example.com/diagram.png"
                }
            },
            {"type": "text", "text": "Que montre cette image ?"}
        ]
    }]
)

Capacites et limites

AspectDetail
FormatsJPEG, PNG, GIF, WebP
Taille max20 MB par image
Max images100 images par requete
PDFSupporte (converti en images internement)
Use casesAnalyse diagrammes, OCR, description UI, audit visuel, charts

Cas d'usage architecte

La vision Claude est extremement utile pour : analyser des diagrammes d'architecture existants, auditer des screenshots d'interfaces, lire des schemas de bases de donnees, comprendre des diagrammes de flux. C'est comme avoir un pair-reviewer qui peut "voir" vos designs.

Quiz

1. Quelle est la taille maximale par image envoyee a Claude ?

5 MB
20 MB
100 MB

Batching et Messages API Avancee

60 minAvance

Objectifs

  • Gerer les conversations multi-turn
  • Utiliser le Message Batches API pour le traitement en lot
  • Optimiser les workflows asynchrones

Conversations multi-turn

Python
# L'historique est gere manuellement via le tableau messages
conversation = []

def chat(user_message):
    conversation.append({"role": "user", "content": user_message})

    response = client.messages.create(
        model="claude-sonnet-4-5-20250929",
        max_tokens=1024,
        system="Tu es un architecte cloud expert.",
        messages=conversation
    )

    assistant_msg = response.content[0].text
    conversation.append({"role": "assistant", "content": assistant_msg})
    return assistant_msg

# Utilisation
print(chat("Qu'est-ce que Kubernetes ?"))
print(chat("Comment le deployer sur AWS ?"))  # Claude a le contexte precedent
print(chat("Et les couts ?"))  # Claude a tout le contexte

Message Batches API (50% reduction)

Python
# Creer un batch de requetes (traitement asynchrone, 50% moins cher)
batch = client.messages.batches.create(
    requests=[
        {
            "custom_id": "analysis-doc-1",
            "params": {
                "model": "claude-sonnet-4-5-20250929",
                "max_tokens": 2048,
                "messages": [{"role": "user", "content": "Analyse ce document: ..."}]
            }
        },
        {
            "custom_id": "analysis-doc-2",
            "params": {
                "model": "claude-sonnet-4-5-20250929",
                "max_tokens": 2048,
                "messages": [{"role": "user", "content": "Analyse ce document: ..."}]
            }
        }
    ]
)

# Verifier le statut
status = client.messages.batches.retrieve(batch.id)
print(f"Statut: {status.processing_status}")  # in_progress, ended

# Recuperer les resultats quand termine
if status.processing_status == "ended":
    for result in client.messages.batches.results(batch.id):
        print(f"{result.custom_id}: {result.result.message.content[0].text[:100]}")

Quand utiliser le batching ?

Parfait pour : migration de contenu, analyse de documents en masse, evaluation de prompts, generation de donnees d'entrainement, traitement ETL. Tout ce qui n'a pas besoin d'etre temps reel.

Quiz

1. Comment Claude gere-t-il l'historique de conversation ?

Il le memorise automatiquement entre les appels
On doit renvoyer tout l'historique dans le tableau messages
Via un session ID

2. Quelle reduction offre le Message Batches API ?

25%
50%
90%

Lab Pratique : Chatbot API Complet

60 minPratique

Objectifs

  • Creer un chatbot fonctionnel en console
  • Integrer streaming, erreurs, et vision

Lab - Chatbot Claude Complet

Etape 1 : Setup

Creer un fichier chatbot.py. Installer le SDK : pip install anthropic. Configurer ANTHROPIC_API_KEY.

Etape 2 : Chatbot de base avec historique

Python - chatbot.py
import anthropic

client = anthropic.Anthropic()
conversation = []

SYSTEM = """Tu es un architecte logiciel senior.
Tu reponds de maniere structuree et concise.
Tu donnes des exemples pratiques quand c'est pertinent."""

print("Chatbot Claude (tapez 'quit' pour quitter)")
print("-" * 50)

while True:
    user_input = input("\nVous: ")
    if user_input.lower() == "quit":
        break

    conversation.append({"role": "user", "content": user_input})

    try:
        print("\nClaude: ", end="")
        with client.messages.stream(
            model="claude-sonnet-4-5-20250929",
            max_tokens=1024,
            system=SYSTEM,
            messages=conversation
        ) as stream:
            full_response = ""
            for text in stream.text_stream:
                print(text, end="", flush=True)
                full_response += text

        conversation.append({"role": "assistant", "content": full_response})
        final = stream.get_final_message()
        print(f"\n[{final.usage.input_tokens}+{final.usage.output_tokens} tokens]")

    except anthropic.RateLimitError:
        print("\n[Rate limited - attendez quelques secondes]")
    except anthropic.APIError as e:
        print(f"\n[Erreur API: {e}]")

Etape 3 : Tester

Lancez le chatbot et testez avec des questions d'architecture : "Compare REST vs gRPC", "Explique CQRS", "Design un systeme de notification".

Etape 4 : Ameliorations (bonus)

  • Ajouter la sauvegarde de conversation en JSON
  • Ajouter le support d'envoi d'images
  • Ajouter un switch de modele (/haiku, /sonnet, /opus)
  • Ajouter un compteur de cout cumule

Quiz - API Claude

30 minEvaluation

Objectifs

  • Valider les acquis du Module 1.2 - API Claude

Examen Module 1.2 - API Claude

1. Quel SDK Python installer pour utiliser l'API Claude ?

pip install anthropic
pip install claude
pip install anthropic-ai

2. Quel parametre controle la creativite de la reponse ?

max_tokens
temperature
top_k

3. Comment Claude gere-t-il la memoire entre les appels API ?

Session automatique cote serveur
L'historique complet doit etre renvoy dans messages[]
Via un cookie de session

4. Quelle methode Python permet le streaming ?

client.messages.create(stream=True)
client.messages.stream()
client.stream.messages()

5. Quel format d'image Claude ne supporte PAS ?

PNG
JPEG
SVG
WebP

6. Combien de reduction offre le batching par rapport aux appels normaux ?

25%
50%
90%

7. Quelle erreur HTTP ne doit PAS etre retentee ?

429 Rate Limit
500 Server Error
401 Unauthorized

Principes Fondamentaux du Prompting

60 minFondamental

Objectifs

  • Maitriser les 5 principes du prompt engineering
  • Construire des prompts structures et efficaces
  • Eviter les erreurs courantes

Le prompt engineering n'est PAS du "magic wording". C'est de l'ingenierie : methodique, testable, reproductible. Traitez vos prompts comme du code - versionnes, testes, revues. Les meilleurs architectes que je connais passent plus de temps a affiner leurs prompts qu'a ecrire du code.

Les 5 principes fondamentaux

Le Prompt Parfait = R.C.T.F.C
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚           LE PROMPT PARFAIT             β”‚
  β”‚                                         β”‚
  β”‚  R - ROLE      : Qui est Claude ?       β”‚
  β”‚  C - CONTEXTE  : Quelle situation ?     β”‚
  β”‚  T - TACHE     : Que faire exactement ? β”‚
  β”‚  F - FORMAT    : Quelle forme ?         β”‚
  β”‚  C - CONTRAINTES: Quelles limites ?     β”‚
  β”‚                                         β”‚
  β”‚  Bonus: EXEMPLES pour guider            β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Comparaison : Mauvais vs Bon prompt

Mauvais prompt

Prompt
"Parle-moi des microservices"

Pas de role, pas de contexte, pas de format. Reponse generique et longue.

Bon prompt

Prompt
"Tu es un architecte senior.
Contexte: Migration monolithe Java.
Tache: Liste les 5 risques principaux.
Format: Tableau avec colonnes:
Risque | Probabilite | Impact | Mitigation
Max 200 mots."

Role, contexte, tache, format, contrainte. Reponse precise et utile.

Quiz

1. Quel est le principe RCTFC ?

Role, Contexte, Tache, Format, Contraintes
Read, Compute, Transform, Filter, Cache
Request, Configure, Test, Fix, Commit

Techniques Avancees : Few-Shot et Chain-of-Thought

60 minAvance

Objectifs

  • Maitriser zero-shot, one-shot, few-shot
  • Appliquer Chain-of-Thought et self-consistency
  • Choisir la bonne technique selon la tache

Zero-Shot vs Few-Shot

Zero-Shot (pas d'exemple)
"Classifie le sentiment de ce texte : 'Super produit, je recommande !'"
Few-Shot (avec exemples)
"Classifie le sentiment :

Texte: 'Excellent service !' β†’ Positif
Texte: 'Tres decevant' β†’ Negatif
Texte: 'Correct, sans plus' β†’ Neutre

Texte: 'Super produit, je recommande !' β†’"

Chain-of-Thought (CoT)

Chain-of-Thought
"Analyse cette architecture et identifie les problemes.
Reflechis etape par etape :

1. Identifie chaque composant
2. Trace les flux de donnees
3. Verifie la scalabilite de chaque composant
4. Identifie les single points of failure
5. Evalue la resilience
6. Formule tes recommandations

Architecture : [description]"

Quand utiliser quoi ?

TechniqueUse casePrecisionCout
Zero-shotTaches simples, generiquesMoyenneBas
Few-shotClassification, format strictHauteMoyen
CoTRaisonnement, math, logiqueTres hauteEleve

Quiz

1. Combien d'exemples un prompt few-shot contient-il typiquement ?

0
2 a 5
Plus de 20

2. Chain-of-Thought est particulierement utile pour :

La classification simple
Le raisonnement complexe et la logique
La generation de texte creatif

Structuration XML et Formatage

45 minIntermediaire

Objectifs

  • Utiliser les balises XML pour structurer les prompts
  • Forcer des formats de sortie (JSON, Markdown, etc.)

Le superpower secret de Claude

Claude est particulierement performant avec les balises XML. C'est un avantage competitif par rapport a GPT. Utilisez les balises pour structurer vos prompts complexes - Claude les comprend et les respecte nativement.

Template XML pour prompts complexes

Prompt avec XML
<context>
Vous analysez un systeme e-commerce avec 1M utilisateurs.
Le systeme actuel est un monolithe Java deploye sur un seul serveur.
</context>

<task>
Identifiez les 3 principaux risques architecturaux et proposez des solutions.
</task>

<format>
Repondez en JSON strict avec cette structure :
[
  {
    "risk_name": "string",
    "severity": 1-5,
    "description": "string (max 50 mots)",
    "mitigation": "string (max 50 mots)"
  }
]
</format>

<constraints>
- Maximum 3 risques
- Severity 5 = critique, 1 = mineur
- JSON valide uniquement, pas de texte autour
</constraints>

Forcer le format JSON

Python
import json

message = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    system="Tu es un assistant qui repond UNIQUEMENT en JSON valide. Pas de texte, pas de markdown, juste du JSON.",
    messages=[{"role": "user", "content": prompt_xml}]
)

# Parser la reponse JSON
data = json.loads(message.content[0].text)
for risk in data:
    print(f"[{risk['severity']}/5] {risk['risk_name']}: {risk['mitigation']}")

Quiz

1. Pourquoi Claude est-il bon avec les balises XML ?

Il est entraine pour bien comprendre et respecter les structures XML
XML est le seul format qu'il comprend
C'est un bug dans son training

System Prompts Architecturaux

60 minAvance

Objectifs

  • Construire des system prompts enterprise-grade
  • Implementer des guardrails dans le prompt
  • Appliquer le context engineering

Template complet de system prompt

System Prompt - Agent d'Architecture
Tu es ArchBot, un assistant architecte logiciel senior avec 25 ans d'experience.

ROLE:
- Tu analyses les architectures systeme
- Tu identifies les risques et proposes des ameliorations
- Tu connais les patterns: microservices, event-driven, CQRS, saga

REGLES:
1. Toujours structurer ta reponse avec des sections claires
2. Utiliser des diagrammes ASCII quand pertinent
3. Quantifier quand possible (latence, throughput, cout)
4. Citer les trade-offs de chaque recommandation
5. Ne pas inventer de chiffres - dire "a estimer" si incertain

FORMAT DE SORTIE:
## Analyse
[Description du probleme]

## Architecture Proposee
[Diagramme + description]

## Trade-offs
| Option | Avantages | Inconvenients |

## Recommandation
[Recommandation finale justifiee]

GUARDRAILS:
- Ne pas recommander de technologies sans justification
- Toujours considerer la scalabilite et le cout
- Signaler les single points of failure
- Ne jamais conseiller de stocker des secrets en clair

Context Engineering

Le context engineering va au-dela du prompt : c'est l'art de choisir quelles informations inclure dans le contexte (system prompt + messages + RAG) pour obtenir le meilleur resultat. Trop de contexte = bruit. Pas assez = hallucinations. Le bon architecte trouve l'equilibre.

Quiz

1. Qu'est-ce qu'un guardrail dans un system prompt ?

Une limitation technique du modele
Une regle explicite qui empeche certains comportements indesirables
Un parametre de l'API

Claude 4.x : Litteralite et Nouvelles Regles

45 minIntermediaire

Objectifs

  • Comprendre les changements comportementaux Claude 4.x
  • Adapter ses prompts pour la nouvelle generation

Changements cles Claude 4.x vs 3.x

AspectClaude 3.xClaude 4.x
LitteraliteInterprete, infereSuit a la lettre
RefusRefuse parfois sans raisonMoins de faux refus
FormatPrend des libertesRespecte strictement
InstructionsGuidelinesInstructions exactes
CodingBonSOTA (SWE-bench)
Extended ThinkingNon disponibleRaisonnement visible

Attention a la litteralite

Claude 4.x suit vos instructions a la lettre. Si votre prompt est ambigu, le resultat sera ambigu. Si vous dites "liste 5 elements", il en listera exactement 5. Si vous oubliez de preciser la langue, il peut repondre en anglais. Soyez precis.

Conseils de migration 3.x vers 4.x

  • Supprimez les "hacks" - Plus besoin de "please" ou "it's very important" pour obtenir un bon resultat
  • Soyez explicite - Chaque contrainte doit etre ecrite clairement
  • Testez vos prompts - Le comportement peut changer, validez vos outputs
  • Simplifiez - Claude 4.x comprend mieux, vous pouvez etre plus direct

Quiz

1. Quel est le changement principal de Claude 4.x ?

Il suit les instructions de maniere plus literale et precise
Il est plus creatif et prend plus de libertes
Il refuse plus souvent les demandes

Prompt Caching et Optimisation

60 minAvance

Objectifs

  • Comprendre le mecanisme de prompt caching
  • Implementer le caching dans l'API
  • Calculer les economies realisees

Comment fonctionne le Prompt Caching

Avec vs Sans Prompt Caching
SANS CACHE:                          AVEC CACHE:
Requete 1: [System 2000tok + Q 100]  Requete 1: [System 2000tok CACHED + Q 100]
Cout: 2100 * prix_input              Cout: 2000*0.1*prix + 100*prix

Requete 2: [System 2000tok + Q 150]  Requete 2: [System 2000tok CACHED + Q 150]
Cout: 2150 * prix_input              Cout: 2000*0.1*prix + 150*prix

Apres 100 requetes:                  Apres 100 requetes:
~210K tokens factures plein tarif    ~200K cached (90%↓) + ~12.5K plein tarif

ECONOMIE : jusqu'a 90% sur l'input cache!
Python - Prompt Caching
import anthropic

client = anthropic.Anthropic()

# System prompt avec cache_control
message = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": """Tu es un architecte expert. Voici la documentation complete
du systeme (5000 mots)... [LONG CONTEXTE ICI]...""",
            "cache_control": {"type": "ephemeral"}  # Active le cache
        }
    ],
    messages=[{"role": "user", "content": "Quelle est l'architecture actuelle ?"}]
)

# Verifier l'utilisation du cache
print(f"Cache creation: {message.usage.cache_creation_input_tokens}")
print(f"Cache read: {message.usage.cache_read_input_tokens}")
print(f"Non-cached input: {message.usage.input_tokens}")

Pricing du cache

TypePrixDescription
Cache Write125% du prix normalPremier appel (mise en cache)
Cache Read10% du prix normalAppels suivants (90% economie)
TTL5 minutesDuree de vie du cache

Strategies de caching

1. Cacher les system prompts longs (toujours identiques). 2. Cacher le contexte RAG entre les questions d'un meme utilisateur. 3. Cacher les exemples few-shot. Rentable des 2 requetes avec le meme prefixe.

Quiz

1. Quelle reduction le prompt caching offre-t-il sur l'input ?

50%
90%
25%

2. Combien de temps le cache reste-t-il actif ?

1 heure
5 minutes
24 heures

Lab : Optimiser un Pipeline de Prompts

60 minPratique

Objectifs

  • Prendre un prompt basique et l'optimiser iterativement
  • Mesurer l'impact de chaque technique

Lab - Optimisation de Pipeline

Etape 1 : Prompt de base

Commencez avec un prompt simple : "Analyse ce code et trouve les bugs." Mesurez la qualite (1-5), la latence et le cout.

Etape 2 : Ajouter Chain-of-Thought

Ajoutez "Reflechis etape par etape". Mesurez a nouveau. Qualite amelioree ?

Etape 3 : Ajouter des exemples (Few-Shot)

Ajoutez 2-3 exemples de bugs et corrections. Mesurez la precision.

Etape 4 : Structurer avec XML

Reorganisez avec des balises XML. Comparez le format de sortie.

Etape 5 : Implementer le caching

Ajoutez cache_control sur le system prompt. Mesurez la reduction de cout.

Etape 6 : Comparer les resultats

VersionQualite (1-5)LatenceCout/requete
Baseline_______________
+ CoT_______________
+ Few-Shot_______________
+ XML_______________
+ Caching_______________

Examen Final - Phase 1

45 minEvaluation

Objectifs

  • Valider tous les acquis de la Phase 1
  • Partie theorique : 15 QCM
  • Partie pratique : exercice de code

Partie 1 : QCM Final (15 questions)

1. Qui a fonde Anthropic et pourquoi ?

Dario & Daniela Amodei, pour developper l'IA de maniere responsable
Sam Altman, pour concurrencer Google
Elon Musk, pour l'IA open source

2. Quel modele utiliser pour un agent autonome complexe ?

Opus 4.6
Sonnet 4.5
Haiku 4.5

3. Quelle est la commande pour installer le SDK Python ?

pip install anthropic
pip install claude-sdk
npm install anthropic

4. Comment acceder au texte de la reponse API ?

response.text
message.content[0].text
message.output

5. Quelle temperature pour une extraction de donnees ?

0
0.5
1.0

6. Le prompt caching reduit l'input de combien ?

50%
90%
25%

7. Quel est le framework RCTFC ?

Role, Contexte, Tache, Format, Contraintes
REST, Cache, Token, Filter, Compress

8. Quelle technique de prompting pour le raisonnement complexe ?

Zero-shot
Chain-of-Thought
Few-shot simple

9. Claude 4.x est plus _____ que Claude 3.x

Literal et precis
Creatif et flexible
Lent et cher

10. Quelle reduction offre le Message Batches API ?

50%
90%
25%

Partie 2 : Exercice Pratique

Exercice Final

Mission

Creez un script Python qui :

  1. Utilise un system prompt d'architecte avec cache_control
  2. Fait un appel en streaming a Sonnet 4.5
  3. Gere les erreurs avec retry et backoff exponentiel
  4. Affiche le texte en temps reel
  5. Affiche les tokens consommes et le cout estime

Criteres de validation :

  • Code fonctionnel et executant sans erreur
  • Streaming implemente correctement
  • Gestion d'erreurs robuste
  • Prompt caching utilise
  • Calcul de cout correct

Felicitations ! Si vous avez termine cette Phase 1, vous maitrisez maintenant les fondamentaux de Claude et Anthropic. Vous savez utiliser l'API, structurer vos prompts, optimiser les couts. Vous etes pret pour la Phase 2 ou nous plongerons dans le Tool Use, MCP, Claude Code et l'Extended Thinking. C'est la que l'architecte en vous va vraiment s'epanouir.