enterprise_ai.subagents
Source : sdks/python/src/enterprise_ai/subagents/__init__.py. Retour à l'index de la référence du SDK Python.
Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.
Classe SubagentSpawner
Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
Attributs :
| Nom | Type | Requis | Description |
|---|---|---|---|
children | list[Any] | oui | Enfants lancés jusqu'ici : réponses du serveur pour spawn, résultats pour spawn_local. |
client | oui | Client de la plateforme utilisé pour les enfants distants, None pour un usage local seulement. | |
depth | oui | Profondeur de l'exécution courante, 0 pour la racine. | |
max_depth | oui | Niveau le plus profond qu'un enfant peut atteindre. | |
max_subagents | oui | Nombre maximal d'enfants de cette exécution. | |
run_id | oui | Exécution parente sur le serveur, None pour des enfants locaux. |
Constructeur SubagentSpawner
SubagentSpawner(client: Any = None, run_id: str | None = None, depth: int = 0, max_depth: int = 1, max_subagents: int = 3) -> None
Lanceur d'une exécution avec ses limites de profondeur et de nombre ; aucun enfant au départ.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
client | Any | None | non | Client parent. |
run_id | str | None | None | non | Exécution parente sur le serveur, nécessaire à spawn. |
depth | int | 0 | non | Profondeur de l'exécution courante, 0 pour la racine (0 par défaut). |
max_depth | int | 1 | non | Niveau le plus profond qu'un enfant peut atteindre (1 par défaut) ; au-delà, PolicyDenied subagent_depth_exceeded est levée. |
max_subagents | int | 3 | non | Nombre maximal d'enfants de cette exécution (3 par défaut) ; au-delà, BudgetExhausted subagent_limit est levée. |
SubagentSpawner.child
child() -> SubagentSpawner
Lanceur pour le niveau des petits-enfants (profondeur + 1), avec les mêmes limites.
Cet élément ne prend aucun paramètre.
Retour : SubagentSpawner. Un SubagentSpawner : Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
SubagentSpawner.from_manifest
from_manifest(manifest: dict[str, Any], **kwargs: Any) -> SubagentSpawner
Construit un lanceur avec les limites spec.autonomy.max_depth (1 par défaut) et max_subagents (3 par défaut) d'un Agent Manifest.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
manifest | dict[str, Any] | oui | Agent Manifest du parent, sous forme de dict. | |
**kwargs | Any | non | Autres arguments du constructeur : client, run_id, depth. |
Retour : SubagentSpawner. Un SubagentSpawner : Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
SubagentSpawner.spawn
spawn(agent: str, input: Any = None, **extra: Any) -> Any
Lancer un run de sous-agent. Lance un run enfant depuis un parent pending ou running (sinon 409 run_not_running) et renvoie son Execution Contract. Demande tenant_admin, developer ou agent et le scope agents:run. Contrôles, dans l'ordre : le Kill Switch Registry ; la profondeur selon autonomy.max_depth (1 par défaut, 409 subagent_depth_exceeded) ; le nombre d'enfants selon autonomy.max_subagents (3 par défaut, 409 subagent_count_exceeded) ; l'agent enfant selon la liste subagents du manifeste parent (403 subagent_not_allowed) ; la délégation du parent. Le budget de l'enfant ne peut dépasser ce qu'il reste au parent, l'enfant rejoint la session du parent et un parent en cours enregistre une étape subagent.
Route : /v1/runs/{run_id}/subagents (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
agent | str | oui | Agent enfant, nom ou agent:<nom>. Par défaut : l'agent du run parent. | |
input | Any | None | non | Entrée de l'exécution enfant, facultative. |
**extra | Any | non | Champs supplémentaires fusionnés dans le corps de la requête. |
Retour : Any. Réponse JSON décodée de l'opération « Lancer un run de sous-agent ».
Erreurs levées : ValueError, les erreurs typées du transport (Erreurs).
SubagentSpawner.spawn_local
spawn_local(agent: Any, task: Any, **run_kwargs: Any) -> Any
Exécute un :class:~enterprise_ai.agent.Agent enfant dans le processus avec depth + 1.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
agent | Any | oui | Agent local ; son subagents reçoit un lanceur d'un niveau plus profond avant son exécution. | |
task | Any | oui | Tâche transmise à agent.run. | |
**run_kwargs | Any | non | Arguments supplémentaires de agent.run. |
Retour : Any. Ce que renvoie agent.run.
Modèle SubagentResult
Résultat d'une exécution enfant.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
name | str | oui | Nom de l'agent enfant (nom distant, ou name de l'agent ou de l'appelable local). |
run_id | str | None | oui | Exécution d'un enfant distant, None pour un enfant local. |
state | str | oui | État final en minuscules, par exemple completed, succeeded, failed ou timed_out. |
output | Any | non | Sortie de l'opération (transcription, références d'images...). |
error | str | None | non | Message d'erreur d'un enfant en échec ou expiré, None sinon. |
Classe SubagentManager
Lance des enfants en parallèle, les surveille et injecte leurs résultats dans le tour du parent.
SubagentSpawner
Attributs :
| Nom | Type | Requis | Description |
|---|---|---|---|
max_parallel | oui | Nombre maximal d'enfants exécutés en même temps. | |
poll_interval | oui | Secondes entre deux lectures d'une exécution enfant distante. | |
results | list[SubagentResult] | oui | Chaque SubagentResult collecté par run_parallel, dans l'ordre. |
timeout | oui | Attente maximale en secondes d'un enfant distant. |
Constructeur SubagentManager
SubagentManager(max_parallel: int = 4, poll_interval: float = 1.0, timeout: float = 3600.0, **kwargs: Any) -> None
Construit un lanceur capable d'exécuter des enfants en parallèle ; les limites viennent des arguments de SubagentSpawner.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
max_parallel | int | 4 | non | Nombre maximal d'enfants exécutés en même temps (4 par défaut). |
poll_interval | float | 1.0 | non | Secondes entre deux lectures d'une exécution enfant distante (1 par défaut). |
timeout | float | 3600.0 | non | Attente maximale en secondes d'un enfant distant (3600 par défaut) ; au-delà, le résultat est timed_out. |
**kwargs | Any | non | Arguments de SubagentSpawner : client, run_id, depth, max_depth, max_subagents. |
SubagentManager.inject_results
inject_results(messages: list[dict[str, Any]]) -> int
Ajoute les résultats pas encore annoncés sous forme d'un seul message utilisateur. Renvoie le nombre de résultats ajoutés.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
messages | list[dict[str, Any]] | oui | Liste des messages du tour parent, complétée sur place par un message user Subagent results:. |
Retour : int. Nombre de résultats annoncés, 0 si aucun n'était en attente (aucun message ajouté).
SubagentManager.run_parallel
run_parallel(tasks: list[tuple[Any, Any]]) -> list[SubagentResult]
Exécute [(agent, input), ...] en parallèle ; agent est un nom (distant) ou un agent ou appelable local.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
tasks | list[tuple[Any, Any]] | oui | Paires (agent, input) ; les limites sont vérifiées pour chaque enfant avant tout démarrage. |
Retour : list[SubagentResult]. Une liste de SubagentResult : le résultat de chaque exécution enfant, dans l'ordre des tâches.
Erreurs levées : ValueError.