Aller au contenu principal

enterprise_ai.subagents

Source : sdks/python/src/enterprise_ai/subagents/__init__.py. Retour à l'index de la référence du SDK Python.

remarque

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 :

NomTypeRequisDescription
childrenlist[Any]ouiEnfants lancés jusqu'ici : réponses du serveur pour spawn, résultats pour spawn_local.
clientouiClient de la plateforme utilisé pour les enfants distants, None pour un usage local seulement.
depthouiProfondeur de l'exécution courante, 0 pour la racine.
max_depthouiNiveau le plus profond qu'un enfant peut atteindre.
max_subagentsouiNombre maximal d'enfants de cette exécution.
run_idouiExé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.

NomTypeDéfautRequisDescription
clientAnyNonenonClient parent.
run_idstr | NoneNonenonExécution parente sur le serveur, nécessaire à spawn.
depthint0nonProfondeur de l'exécution courante, 0 pour la racine (0 par défaut).
max_depthint1nonNiveau le plus profond qu'un enfant peut atteindre (1 par défaut) ; au-delà, PolicyDenied subagent_depth_exceeded est levée.
max_subagentsint3nonNombre 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.

NomTypeDéfautRequisDescription
manifestdict[str, Any]ouiAgent Manifest du parent, sous forme de dict.
**kwargsAnynonAutres 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).

NomTypeDéfautRequisDescription
agentstrouiAgent enfant, nom ou agent:<nom>. Par défaut : l'agent du run parent.
inputAnyNonenonEntrée de l'exécution enfant, facultative.
**extraAnynonChamps 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.

NomTypeDéfautRequisDescription
agentAnyouiAgent local ; son subagents reçoit un lanceur d'un niveau plus profond avant son exécution.
taskAnyouiTâche transmise à agent.run.
**run_kwargsAnynonArguments supplémentaires de agent.run.

Retour : Any. Ce que renvoie agent.run.

Modèle SubagentResult​

Résultat d'une exécution enfant.

Champs :

NomTypeRequisDescription
namestrouiNom de l'agent enfant (nom distant, ou name de l'agent ou de l'appelable local).
run_idstr | NoneouiExécution d'un enfant distant, None pour un enfant local.
statestrouiÉtat final en minuscules, par exemple completed, succeeded, failed ou timed_out.
outputAnynonSortie de l'opération (transcription, références d'images...).
errorstr | NonenonMessage 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 :

NomTypeRequisDescription
max_parallelouiNombre maximal d'enfants exécutés en même temps.
poll_intervalouiSecondes entre deux lectures d'une exécution enfant distante.
resultslist[SubagentResult]ouiChaque SubagentResult collecté par run_parallel, dans l'ordre.
timeoutouiAttente 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.

NomTypeDéfautRequisDescription
max_parallelint4nonNombre maximal d'enfants exécutés en même temps (4 par défaut).
poll_intervalfloat1.0nonSecondes entre deux lectures d'une exécution enfant distante (1 par défaut).
timeoutfloat3600.0nonAttente maximale en secondes d'un enfant distant (3600 par défaut) ; au-delà, le résultat est timed_out.
**kwargsAnynonArguments 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.

NomTypeDéfautRequisDescription
messageslist[dict[str, Any]]ouiListe 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.

NomTypeDéfautRequisDescription
taskslist[tuple[Any, Any]]ouiPaires (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.