Modèle / jeu de données
strands-agents/harness-sdk avatar
strands-agents/harness-sdk

Strands Agents harness-sdk : un monorepo pour les harness d'agents Python et TypeScript

Créez un harnais d’agents et contrôlez-le de bout en bout. SDK open source pour les agents d'IA de production en Python et TypeScript - n'importe quel modèle, n'importe quel cloud.

7 241 étoiles1 137 forksPythonApache-2.0

En bref

De quoi s’agit-il ?
Le dépôt contient deux SDK, une CLI et un site de documentation pour construire et exécuter des agents IA avec une boucle d'agent pilotée par modèle.
À qui s’adresse-t-il ?
Les sources du site de documentation se trouvent dans le même monorepo, ce qui permet de soumettre des pull requests de documentation en même temps que des modifications de code.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 3 jours.
En quel langage est-il écrit ?
Principalement Python, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Un monorepo, deux SDK et un site de documentation

Strands Agents est organisé en monorepo. Le répertoire strands-py/ contient le SDK Python avec la boucle d'agent, les fournisseurs de modèles et les outils, publié sur PyPI sous le nom strands-agents. Le répertoire strands-ts/ contient le SDK TypeScript avec les mêmes éléments de base, publié sur npm sous le nom @strands-agents/sdk. Le dépôt comprend aussi strandly/, une CLI développeur pour les builds locaux et l'outillage d'espace de travail ; site/, la source Astro/Starlight du site strandsagents.com ; et team/, où vivent les documents de gouvernance et de processus transverses aux SDK, notamment les principes, décisions, directives pour PR et compatibilité, et propositions designs/.

Boucle d'agent pilotée par modèle et abstraction des fournisseurs

Le README décrit le SDK comme piloté par modèle : on construit un harness d'agent et on le contrôle de bout en bout. La boucle d'agent intègre la gestion du contexte, les limites d'exécution et l'observabilité avant même d'écrire une configuration. Amazon Bedrock, Anthropic, OpenAI et Gemini sont pris en charge en priorité, avec de nombreux autres fournisseurs et des fournisseurs personnalisés listés dans la documentation. Les deux SDK utilisent Amazon Bedrock par défaut, donc un démarrage rapide nécessite des identifiants AWS et un accès au modèle Claude Sonnet. Le README indique que changer de backend plus tard ne modifie pas votre code.

Hooks, garde-fous et motifs intégrés

Le README met l'accent sur le contrôle et la sécurité. La boucle d'agent trace chaque décision par défaut. Les hooks peuvent intercepter n'importe quelle étape pour la journaliser, la valider ou la rediriger. Les garde-fous attrapent les erreurs avant qu'elles ne s'exécutent, et les gestionnaires d'orientation permettent aux agents de se corriger plutôt que d'échouer silencieusement. MCP, streaming, motifs multi-agents et sortie structurée sont listés comme intégrés. Le README du SDK TypeScript est cité pour les outils typés Zod, la sortie structurée et les motifs multi-agents.

Commandes de démarrage rapide et exigences d'environnement

Le SDK Python nécessite Python 3.10 ou plus récent. Le README montre pip install strands-agents strands-agents-tools puis un objet Agent avec un outil calculator qui répond à une question comme Quelle est la racine carrée de 1764. Le SDK TypeScript nécessite Node.js 20 ou plus récent. La commande d'installation est npm install @strands-agents/sdk, et l'exemple crée un Agent et appelle invoke avec une question. Les deux exemples utilisent Amazon Bedrock par défaut, donc configurer un autre fournisseur comme Anthropic, OpenAI, Gemini ou Ollama demande de suivre le guide de démarrage rapide.

Emplacement de la documentation et ressources liées

Le site de documentation fait partie de ce dépôt sous site/. Le README renvoie vers un guide utilisateur, un guide de démarrage rapide, une page sur la boucle d'agent, des exemples, des références API pour Python et TypeScript, et un guide de production et de déploiement. Il pointe aussi vers des dépôts séparés pour samples et tools, ainsi qu'un répertoire MCP Server dans le monorepo. Le README précise que les pull requests de documentation sont bienvenues en plus des modifications de code.

Configuration de développement par paquet

Les opérations Git telles que les commits, les branches et les pull requests se font depuis la racine du dépôt, mais chaque paquet a sa propre chaîne d'outils. Pour Python, cd strands-py puis pip install hatch, hatch test pour les tests unitaires et hatch fmt pour le formatage et le lint. Pour TypeScript, npm ci depuis la racine du dépôt, puis npm run build et npm test. Pour le site de documentation, cd site, npm install, et npm run dev démarre un serveur local à http://localhost:4321/.

Licence, sécurité et métadonnées du dépôt

Le README identifie le projet comme sous licence Apache License 2.0 et pointe vers LICENSE.APACHE. Les métadonnées du dépôt listent également l'identifiant SPDX comme Apache-2.0. L'extrait de licence fourni pour cet article ne contient pas le texte de la licence, donc les conditions d'octroi spécifiques, les clauses de non-responsabilité et les obligations de support ne peuvent pas être vérifiées à partir de cet extrait. Le README renvoie à CONTRIBUTING.md pour signaler des problèmes de sécurité. La section Contributing liste le signalement de bugs et de fonctionnalités, la configuration de développement, la contribution via des pull requests, le code de conduite et le signalement de problèmes de sécurité. Les métadonnées GitHub montrent 6 801 étoiles, 1 010 forks et 651 problèmes ouverts ; le dépôt n'est pas archivé.

Conclusion éditoriale

Les sources du site de documentation se trouvent dans le même monorepo, ce qui permet de soumettre des pull requests de documentation en même temps que des modifications de code.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté