Aperçu
Le Claude Agent SDK prend en charge deux modes d’entrée distincts pour interagir avec les agents :- Mode Streaming Input (Par défaut et recommandé) - Une session persistante et interactive
- Single Message Input - Des requêtes ponctuelles qui utilisent l’état de la session et la reprise
Mode Streaming Input (Recommandé)
Le mode streaming input est la façon préférée d’utiliser le Claude Agent SDK. Il fournit un accès complet aux capacités de l’agent et permet des expériences riches et interactives. Il permet à l’agent de fonctionner comme un processus de longue durée qui accepte les entrées utilisateur, gère les interruptions, affiche les demandes de permission et gère la gestion de session.Fonctionnement
Avantages
Téléchargements d'images
Joignez des images directement aux messages pour l’analyse et la compréhension visuelles
Messages en file d'attente
Envoyez plusieurs messages qui se traitent séquentiellement, avec la possibilité d’interrompre
Intégration d'outils
Accès complet à tous les outils et serveurs MCP personnalisés pendant la session
Retours en temps réel
Voyez les réponses au fur et à mesure qu’elles sont générées, pas seulement les résultats finaux
Persistance du contexte
Maintenez le contexte de la conversation sur plusieurs tours naturellement
Exemple d’implémentation
Dans le SDK TypeScript, si votre générateur de messages lève une exception, par exemple lorsqu’un fichier qu’il lit est manquant, le flux se termine par une erreur qui lit « Claude Code process aborted by user » au lieu de l’erreur d’origine, donc vérifiez d’abord le code à l’intérieur de votre générateur lorsque vous voyez ce message. L’erreur peut également être précédée par une longue ligne minifiée du code source du SDK groupé, donc lisez jusqu’à la fin de la sortie pour le texte d’erreur.Dans le SDK Python, une exception du générateur est enregistrée au niveau du débogage et la session s’arrête sans lever, donc si une session de streaming se bloque sans sortie, activez la journalisation du débogage et vérifiez votre générateur.
Entrée de message unique
L’entrée de message unique est plus simple mais plus limitée.Quand utiliser l’entrée de message unique
Utilisez l’entrée de message unique quand :- Vous avez besoin d’une réponse ponctuelle
- Vous n’avez pas besoin de pièces jointes d’images ou de méthodes de contrôle en milieu de session
- Vous devez opérer dans un environnement sans état, comme une fonction lambda
Limitations
Si une requête se termine par un résultat d’erreur, tel queerror_max_turns, un appel unique query() lève une erreur qui inclut le texte d’échec après avoir cédé le message de résultat final, donc enveloppez la boucle dans un bloc try si votre code doit continuer. Consultez Gérer le résultat pour les sous-types de résultat.