Claude Agent SDK : Le Guide pour Créer Vos Propres Agents IA en 2026
Découvrez le Claude Agent SDK d'Anthropic pour créer des agents IA autonomes en Python et TypeScript. Architecture, exemples et cas d'usage concrets.
Le SDK qui démocratise les agents IA
Anthropic a franchi un cap majeur en rendant public le Claude Agent SDK — le même moteur qui fait tourner Claude Code, maintenant disponible pour tous les développeurs. En Python et TypeScript, vous pouvez désormais construire des agents IA autonomes qui lisent des fichiers, exécutent des commandes, naviguent sur le web et orchestrent des workflows complexes.
Ce n'est pas un framework d'IA de plus. C'est le moteur exact de Claude Code, avec la même boucle agentique, les mêmes outils intégrés et la même gestion du contexte. La différence ? Vous contrôlez tout.
Qu'est-ce que le Claude Agent SDK ?
Définition
Le Claude Agent SDK est une bibliothèque open source qui expose la boucle agentique de Claude Code sous forme programmable. Au lieu d'interagir via le terminal, vous créez des agents personnalisés qui s'exécutent dans vos propres applications.
Ce que ça change
| Avant (sans SDK) | Après (avec SDK) |
|---|---|
| Appels API simples question/réponse | Agents autonomes multi-étapes |
| Vous gérez manuellement la boucle | La boucle agentique est intégrée |
| Outils à implémenter vous-même | Outils built-in (fichiers, bash, web) |
| Gestion du contexte manuelle | Context window optimisé automatiquement |
| Pas de sous-agents | Sous-agents natifs avec délégation |
Architecture
Le SDK repose sur trois composants fondamentaux :
Installation et premier agent
Python
# Installation
pip install claude-agent-sdk
# Vérification
python -c "from claude_agent_sdk import Agent; print('SDK installé')"TypeScript
# Installation
npm install @anthropic-ai/claude-agent-sdk
# Vérification
npx ts-node -e "import { Agent } from '@anthropic-ai/claude-agent-sdk'; console.log('SDK installé')"Votre premier agent en Python
from claude_agent_sdk import Agent
# Créer un agent avec un prompt système
agent = Agent(
model="claude-opus-4-6",
system_prompt="""Tu es un agent de review de code.
Pour chaque fichier, vérifie :
1. Les bonnes pratiques de sécurité
2. La qualité du code
3. Les performances
Génère un rapport structuré."""
)
# Lancer l'agent sur une tâche
result = agent.run(
"Analyse tous les fichiers Python dans ./src et génère un rapport de qualité"
)
print(result.output)Cet agent va autonomement :
./srcLe tout sans que vous ayez à coder la boucle — le SDK gère l'orchestration.
Les outils intégrés
Outils de fichiers
L'agent peut lire, écrire et rechercher dans le système de fichiers :
agent = Agent(
model="claude-sonnet-4-6",
tools=["read", "write", "glob", "grep"],
system_prompt="Tu es un agent de refactoring TypeScript."
)
result = agent.run(
"Trouve tous les fichiers .ts qui utilisent 'any' comme type et remplace par des types appropriés"
)Exécution de commandes
L'agent peut exécuter des commandes bash avec des garde-fous :
agent = Agent(
model="claude-sonnet-4-6",
tools=["bash", "read", "write"],
permissions={
"allow": ["Bash(npm test)", "Bash(npm run lint)"],
"deny": ["Bash(rm *)", "Bash(sudo *)"]
}
)
result = agent.run("Lance les tests, corrige les échecs, puis relance jusqu'à ce que tout passe")Intégration MCP
Connectez votre agent à des services externes via MCP :
agent = Agent(
model="claude-opus-4-6",
mcp_servers={
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {"GITHUB_TOKEN": "ghp_xxx"}
},
"slack": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-slack"],
"env": {"SLACK_TOKEN": "xoxb-xxx"}
}
}
)
result = agent.run(
"Vérifie les PRs ouvertes sur GitHub, résume les changements et poste un récapitulatif sur Slack #dev"
)Sous-agents et délégation
L'une des fonctionnalités les plus puissantes du SDK est la capacité de créer des sous-agents spécialisés, exactement comme les [Agent Teams de Claude Code](/blog/claude-code-agent-teams).
from claude_agent_sdk import Agent
# Agent orchestrateur
orchestrator = Agent(
model="claude-opus-4-6",
system_prompt="""Tu es un chef de projet technique.
Tu délègues les tâches à des agents spécialisés.""",
sub_agents={
"reviewer": Agent(
model="claude-sonnet-4-6",
system_prompt="Tu fais de la review de code approfondie."
),
"tester": Agent(
model="claude-sonnet-4-6",
system_prompt="Tu écris et exécutes des tests unitaires."
),
"documenter": Agent(
model="claude-haiku-4-5",
system_prompt="Tu génères la documentation technique."
)
}
)
result = orchestrator.run(
"Pour le module auth/ : fais une review, écris les tests manquants et mets à jour la doc"
)L'orchestrateur va automatiquement :
reviewertesterdocumenter5 cas d'usage concrets
1. Agent de CI/CD intelligent
ci_agent = Agent(
model="claude-sonnet-4-6",
system_prompt="""Tu surveilles le pipeline CI/CD.
Quand un build échoue :
1. Analyse les logs d'erreur
2. Identifie la cause racine
3. Propose un fix
4. Si le fix est simple, applique-le directement"""
)
# Intégration avec votre pipeline
ci_agent.run(f"Le build #42 a échoué. Voici les logs : ...")2. Agent de migration de framework
migration_agent = Agent(
model="claude-opus-4-6",
system_prompt="""Tu migres des projets de React class components
vers des functional components avec hooks.
Préserve le comportement exact. Ajoute des tests si absents."""
)
migration_agent.run("Migre tous les class components dans ./src/components/")3. Agent de support client
support_agent = Agent(
model="claude-sonnet-4-6",
tools=["read"],
system_prompt="""Tu es un agent de support technique.
Tu as accès à la documentation dans ./docs/ et aux FAQ dans ./faq/.
Réponds aux questions en citant les sources pertinentes."""
)4. Agent de veille sécurité
security_agent = Agent(
model="claude-sonnet-4-6",
tools=["bash", "read", "grep"],
system_prompt="""Tu audites la sécurité du code.
Vérifie les dépendances (npm audit), les secrets exposés,
les vulnérabilités OWASP Top 10."""
)
security_agent.run("Audit de sécurité complet du projet")Pour plus de détails sur la sécurité des assistants IA, consultez notre article sur les [risques de sécurité en 2026](/blog/securite-assistants-ia-code-2026).
5. Agent de documentation automatique
doc_agent = Agent(
model="claude-haiku-4-5",
tools=["read", "write", "glob"],
system_prompt="""Tu génères de la documentation technique.
Pour chaque module : description, API publique, exemples d'usage.
Format: Markdown avec table des matières."""
)
doc_agent.run("Génère la documentation pour tous les modules dans ./src/lib/")Mode headless et déploiement
Le SDK est conçu pour tourner en mode headless — sans interaction humaine. C'est idéal pour les déploiements en production :
from claude_agent_sdk import Agent
agent = Agent(
model="claude-sonnet-4-6",
headless=True,
max_tokens=100000,
timeout=300,
permissions={"allow": ["Read(*)", "Grep(*)"]}
)
# Intégration dans une API Flask/FastAPI
@app.post("/analyze")
async def analyze_code(request):
result = agent.run(f"Analyse ce code : {request.code}")
return {"analysis": result.output}Pour comprendre le mode headless en détail, consultez notre article sur [Claude Code Remote Control](/blog/claude-code-remote-control).
Bonnes pratiques
1. Choisir le bon modèle par tâche
| Tâche | Modèle recommandé | Raison |
|---|---|---|
| Orchestration complexe | Opus 4.6 | Raisonnement avancé |
| Code review, tests | Sonnet 4.6 | Bon ratio vitesse/qualité |
| Documentation, formatage | Haiku 4.5 | Rapide et économique |
| Analyse de sécurité | Opus 4.6 | Précision critique |
2. Limiter les permissions
Appliquez toujours le principe du moindre privilège :
# Trop permissif
agent = Agent(tools=["bash", "read", "write"])
# Permissions minimales recommandées
agent = Agent(
tools=["read", "grep"],
permissions={"deny": ["Bash(rm *)", "Write(.env*)"]}
)3. Structurer les prompts système
Un bon prompt système pour un agent suit cette structure :
system_prompt = """
## Rôle
Tu es [rôle spécifique].
## Objectif
[Ce que l'agent doit accomplir]
## Contraintes
- [Règle 1]
- [Règle 2]
## Format de sortie
[Structure attendue du résultat]
"""4. Gérer les erreurs
from claude_agent_sdk import Agent, AgentError
try:
result = agent.run("Tâche complexe")
if result.success:
print(result.output)
else:
print(f"L'agent n'a pas pu compléter : {result.error}")
except AgentError as e:
print(f"Erreur SDK : {e}")SDK vs Claude Code : quand utiliser quoi ?
| Scénario | Claude Code | Agent SDK |
|---|---|---|
| Développement quotidien | ✅ | ❌ |
| Automatisation CI/CD | Via headless | ✅ |
| Application métier custom | ❌ | ✅ |
| Prototypage rapide | ✅ | ❌ |
| Agents multi-tenant | ❌ | ✅ |
| Pipeline de données | ❌ | ✅ |
Règle simple : si vous êtes un développeur qui code, utilisez Claude Code. Si vous construisez un produit qui utilise l'IA, utilisez le SDK.
Conclusion
Le Claude Agent SDK représente un changement de paradigme. Pour la première fois, la puissance d'un assistant IA agentique comme Claude Code est accessible via une API programmatique. Les possibilités sont immenses — des agents de CI/CD intelligents aux assistants métier spécialisés.
L'écosystème est encore jeune, ce qui signifie que les développeurs qui s'y investissent maintenant auront un avantage de premier arrivé considérable. Le SDK est open source, bien documenté, et soutenu par Anthropic.
Pour maîtriser les fondamentaux de Claude Code avant de plonger dans le SDK, notre [formation complète](/) couvre tout : de l'[installation pour débutants](/blog/claude-code-pour-debutants) aux [Agent Teams](/blog/claude-code-agent-teams) en passant par le [MCP](/blog/mcp-model-context-protocol-claude-code) et l'[automatisation avancée](/blog/automatiser-dev-claude-code).
---
*Sources : Documentation officielle Claude Agent SDK (Anthropic), workshop AI Engineer Conference, GitHub anthropics/claude-agent-sdk-python.*
Envie de maîtriser Claude Code ?
Rejoignez notre formation complète et apprenez à utiliser Claude Code comme un pro.
Découvrir la formation