Loading...
    • Guide du développeur
    • Référence API
    • MCP
    • Ressources
    • Notes de version
    Search...
    ⌘K
    Premiers pas
    Introduction à ClaudeDémarrage rapide
    Modèles et tarification
    Aperçu des modèlesChoisir un modèleNouveautés dans Claude 4.6Guide de migrationDépréciation des modèlesTarification
    Créer avec Claude
    Aperçu des fonctionnalitésUtiliser l'API MessagesGérer les raisons d'arrêtMeilleures pratiques de prompting
    Gestion du contexte
    Fenêtres de contexteCompactionÉdition du contexte
    Capacités
    Mise en cache des promptsRéflexion étendueRéflexion adaptativeEffortStreaming de messagesTraitement par lotsCitationsSupport multilingueComptage des tokensEmbeddingsVisionSupport PDFAPI FilesRésultats de rechercheSorties structurées
    Outils
    AperçuComment implémenter l'utilisation d'outilsStreaming d'outils granulaireOutil BashOutil d'exécution de codeAppel d'outils programmatiqueOutil Computer useOutil Éditeur de texteOutil Web fetchOutil Web searchOutil MémoireOutil Tool search
    Compétences d'agent
    AperçuDémarrage rapideMeilleures pratiquesCompétences pour l'entrepriseUtiliser les compétences avec l'API
    SDK Agent
    AperçuDémarrage rapideSDK TypeScriptTypeScript V2 (aperçu)SDK PythonGuide de migration
    MCP dans l'API
    Connecteur MCPServeurs MCP distants
    Claude sur les plateformes tierces
    Amazon BedrockMicrosoft FoundryVertex AI
    Ingénierie des prompts
    AperçuGénérateur de promptsUtiliser les modèles de promptsAméliorateur de promptsÊtre clair et directUtiliser des exemples (prompting multi-coups)Laisser Claude réfléchir (CoT)Utiliser les balises XMLDonner un rôle à Claude (prompts système)Enchaîner les prompts complexesConseils pour le contexte longConseils pour la réflexion étendue
    Tester et évaluer
    Définir les critères de succèsDévelopper des cas de testUtiliser l'outil d'évaluationRéduire la latence
    Renforcer les garde-fous
    Réduire les hallucinationsAugmenter la cohérence des résultatsAtténuer les jailbreaksRefus en streamingRéduire les fuites de promptsGarder Claude dans le rôle
    Administration et surveillance
    Aperçu de l'API AdminRésidence des donnéesEspaces de travailAPI d'utilisation et de coûtsAPI Claude Code AnalyticsRétention zéro des données
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    SDK Agent

    Démarrage rapide

    Commencez avec le SDK Agent Python ou TypeScript pour créer des agents IA qui fonctionnent de manière autonome

    Utilisez le SDK Agent pour créer un agent IA qui lit votre code, trouve les bugs et les corrige, tout sans intervention manuelle.

    Ce que vous allez faire :

    1. Configurer un projet avec le SDK Agent
    2. Créer un fichier avec du code bugué
    3. Exécuter un agent qui trouve et corrige automatiquement les bugs

    Prérequis

    • Node.js 18+ ou Python 3.10+
    • Un compte Anthropic (inscrivez-vous ici)

    Configuration

    1. 1

      Créer un dossier de projet

      Créez un nouveau répertoire pour ce démarrage rapide :

      mkdir my-agent && cd my-agent

      Pour vos propres projets, vous pouvez exécuter le SDK à partir de n'importe quel dossier ; il aura accès aux fichiers de ce répertoire et de ses sous-répertoires par défaut.

    2. 2

      Installer le SDK

      Installez le package du SDK Agent pour votre langage :

    3. 3

      Définir votre clé API

      Obtenez une clé API à partir de la Console Claude, puis créez un fichier .env dans votre répertoire de projet :

      ANTHROPIC_API_KEY=your-api-key

      Le SDK supporte également l'authentification via des fournisseurs d'API tiers :

      • Amazon Bedrock : définissez la variable d'environnement CLAUDE_CODE_USE_BEDROCK=1 et configurez les identifiants AWS
      • Google Vertex AI : définissez la variable d'environnement CLAUDE_CODE_USE_VERTEX=1 et configurez les identifiants Google Cloud
      • Microsoft Azure : définissez la variable d'environnement CLAUDE_CODE_USE_FOUNDRY=1 et configurez les identifiants Azure

      Consultez les guides de configuration pour Bedrock, Vertex AI, ou Azure AI Foundry pour plus de détails.

      Sauf approbation préalable, Anthropic n'autorise pas les développeurs tiers à proposer la connexion claude.ai ou les limites de débit pour leurs produits, y compris les agents construits sur le SDK Agent Claude. Veuillez utiliser les méthodes d'authentification par clé API décrites dans ce document à la place.

    Créer un fichier bugué

    Ce démarrage rapide vous guide dans la création d'un agent capable de trouver et corriger les bugs dans le code. D'abord, vous avez besoin d'un fichier avec quelques bugs intentionnels pour que l'agent les corrige. Créez utils.py dans le répertoire my-agent et collez le code suivant :

    def calculate_average(numbers):
        total = 0
        for num in numbers:
            total += num
        return total / len(numbers)
    
    def get_user_name(user):
        return user["name"].upper()

    Ce code a deux bugs :

    1. calculate_average([]) plante avec une division par zéro
    2. get_user_name(None) plante avec une TypeError

    Créer un agent qui trouve et corrige les bugs

    Créez agent.py si vous utilisez le SDK Python, ou agent.ts pour TypeScript :

    import asyncio
    from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ResultMessage
    
    async def main():
        # Agentic loop: streams messages as Claude works
        async for message in query(
            prompt="Review utils.py for bugs that would cause crashes. Fix any issues you find.",
            options=ClaudeAgentOptions(
                allowed_tools=["Read", "Edit", "Glob"],  # Tools Claude can use
                permission_mode="acceptEdits"            # Auto-approve file edits
            )
        ):
            # Print human-readable output
            if isinstance(message, AssistantMessage):
                for block in message.content:
                    if hasattr(block, "text"):
                        print(block.text)              # Claude's reasoning
                    elif hasattr(block, "name"):
                        print(f"Tool: {block.name}")   # Tool being called
            elif isinstance(message, ResultMessage):
                print(f"Done: {message.subtype}")      # Final result
    
    asyncio.run(main())

    Ce code a trois parties principales :

    1. query : le point d'entrée principal qui crée la boucle agentique. Il retourne un itérateur asynchrone, donc vous utilisez async for pour diffuser les messages au fur et à mesure que Claude travaille. Consultez l'API complète dans la référence du SDK Python ou TypeScript.

    2. prompt : ce que vous voulez que Claude fasse. Claude détermine les outils à utiliser en fonction de la tâche.

    3. options : configuration de l'agent. Cet exemple utilise allowedTools pour restreindre Claude à Read, Edit et Glob, et permissionMode: "acceptEdits" pour approuver automatiquement les modifications de fichiers. D'autres options incluent systemPrompt, mcpServers, et plus. Consultez toutes les options pour Python ou TypeScript.

    La boucle async for continue de s'exécuter alors que Claude réfléchit, appelle des outils, observe les résultats et décide de la prochaine action. Chaque itération produit un message : le raisonnement de Claude, un appel d'outil, un résultat d'outil, ou le résultat final. Le SDK gère l'orchestration (exécution des outils, gestion du contexte, tentatives) afin que vous consommiez simplement le flux. La boucle se termine lorsque Claude termine la tâche ou rencontre une erreur.

    La gestion des messages à l'intérieur de la boucle filtre pour obtenir une sortie lisible par l'homme. Sans filtrage, vous verriez des objets de message bruts incluant l'initialisation du système et l'état interne, ce qui est utile pour le débogage mais bruyant autrement.

    Cet exemple utilise la diffusion en continu pour afficher la progression en temps réel. Si vous n'avez pas besoin d'une sortie en direct (par exemple, pour les tâches en arrière-plan ou les pipelines CI), vous pouvez collecter tous les messages à la fois. Consultez Streaming vs. single-turn mode pour plus de détails.

    Exécuter votre agent

    Votre agent est prêt. Exécutez-le avec la commande suivante :

    Après l'exécution, vérifiez utils.py. Vous verrez du code défensif gérant les listes vides et les utilisateurs nuls. Votre agent a autonomement :

    1. Lire utils.py pour comprendre le code
    2. Analysé la logique et identifié les cas limites qui causeraient un plantage
    3. Édité le fichier pour ajouter une gestion d'erreur appropriée

    C'est ce qui rend le SDK Agent différent : Claude exécute les outils directement au lieu de vous demander de les implémenter.

    Si vous voyez « API key not found », assurez-vous d'avoir défini la variable d'environnement ANTHROPIC_API_KEY dans votre fichier .env ou votre environnement shell. Consultez le guide de dépannage complet pour plus d'aide.

    Essayer d'autres invites

    Maintenant que votre agent est configuré, essayez quelques invites différentes :

    • "Add docstrings to all functions in utils.py"
    • "Add type hints to all functions in utils.py"
    • "Create a README.md documenting the functions in utils.py"

    Personnaliser votre agent

    Vous pouvez modifier le comportement de votre agent en changeant les options. Voici quelques exemples :

    Ajouter la capacité de recherche Web :

    options=ClaudeAgentOptions(
        allowed_tools=["Read", "Edit", "Glob", "WebSearch"],
        permission_mode="acceptEdits"
    )

    Donner à Claude une invite système personnalisée :

    options=ClaudeAgentOptions(
        allowed_tools=["Read", "Edit", "Glob"],
        permission_mode="acceptEdits",
        system_prompt="You are a senior Python developer. Always follow PEP 8 style guidelines."
    )

    Exécuter des commandes dans le terminal :

    options=ClaudeAgentOptions(
        allowed_tools=["Read", "Edit", "Glob", "Bash"],
        permission_mode="acceptEdits"
    )

    Avec Bash activé, essayez : "Write unit tests for utils.py, run them, and fix any failures"

    Concepts clés

    Les outils contrôlent ce que votre agent peut faire :

    OutilsCe que l'agent peut faire
    Read, Glob, GrepAnalyse en lecture seule
    Read, Edit, GlobAnalyser et modifier le code
    Read, Edit, Bash, Glob, GrepAutomatisation complète

    Les modes de permission contrôlent le niveau de surveillance humaine que vous souhaitez :

    ModeComportementCas d'usage
    acceptEditsApprouve automatiquement les modifications de fichiers, demande d'autres actionsFlux de travail de développement de confiance
    bypassPermissionsS'exécute sans invitesPipelines CI/CD, automatisation
    defaultNécessite un rappel canUseTool pour gérer l'approbationFlux d'approbation personnalisés

    L'exemple ci-dessus utilise le mode acceptEdits, qui approuve automatiquement les opérations de fichiers afin que l'agent puisse s'exécuter sans invites interactives. Si vous souhaitez inviter les utilisateurs à approuver, utilisez le mode default et fournissez un rappel canUseTool qui collecte l'entrée de l'utilisateur. Pour plus de contrôle, consultez Permissions.

    Étapes suivantes

    Maintenant que vous avez créé votre premier agent, apprenez à étendre ses capacités et à l'adapter à votre cas d'usage :

    • Permissions : contrôlez ce que votre agent peut faire et quand il a besoin d'approbation
    • Hooks : exécutez du code personnalisé avant ou après les appels d'outils
    • Sessions : créez des agents multi-tours qui maintiennent le contexte
    • Serveurs MCP : connectez-vous à des bases de données, navigateurs, API et autres systèmes externes
    • Hosting : déployez les agents sur Docker, le cloud et CI/CD
    • Agents d'exemple : consultez les exemples complets : assistant e-mail, agent de recherche, et plus

    Was this page helpful?

    • Prérequis
    • Configuration
    • Créer un fichier bugué
    • Créer un agent qui trouve et corrige les bugs
    • Exécuter votre agent
    • Essayer d'autres invites
    • Personnaliser votre agent
    • Concepts clés
    • Étapes suivantes