Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable répond à un problème précis : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Ce guide part des objets réels — OpenAI Agents SDK, Handoff, Agent.as_tool, Runner, guardrails — et cherche une décision vérifiable, pas une formule générique.
Le problème concret : OpenAI Agents SDK face à Handoff
Le point de départ n’est pas une fonctionnalité, mais une frontière de décision observable.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c11 part de OpenAI Agents SDK et traite Handoff comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Agent.as_tool de produire un résultat observable avant que Runner puisse déclencher l’effet attendu autour de guardrails. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme OpenAI Agents SDK en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver. Pour tester Handoff, la fixture handoffs-vs-agents-as-tools-controle-c11 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à Agent.as_tool. L’exploitation surveille alors la transition entre Agent.as_tool et Runner, tandis que la sécurité vérifie que guardrails ne reçoit ni autorité implicite ni donnée excédentaire.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c12 part de Handoff et traite Agent.as_tool comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Runner de produire un résultat observable avant que guardrails puisse déclencher l’effet attendu autour de OpenAI Agents SDK. Si la vérification de guardrails échoue, le rollback restaure la configuration liée à OpenAI Agents SDK, rejoue handoffs-vs-agents-as-tools-controle-c12 et compare le nouvel état au témoin produit par Handoff. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à Agent.as_tool, à une condition concrète et à une preuve plutôt qu’à une formule générale. La décision finale reste bornée par Runner et OpenAI Agents SDK : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c12 est présenté comme limite ou hypothèse, jamais comme fait acquis.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c13 part de Agent.as_tool et traite Runner comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à guardrails de produire un résultat observable avant que OpenAI Agents SDK puisse déclencher l’effet attendu autour de Handoff. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme Agent.as_tool en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver. Pour tester Runner, la fixture handoffs-vs-agents-as-tools-controle-c13 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à guardrails. L’exploitation surveille alors la transition entre guardrails et OpenAI Agents SDK, tandis que la sécurité vérifie que Handoff ne reçoit ni autorité implicite ni donnée excédentaire.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c14 part de Runner et traite guardrails comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à OpenAI Agents SDK de produire un résultat observable avant que Handoff puisse déclencher l’effet attendu autour de Agent.as_tool. Si la vérification de Handoff échoue, le rollback restaure la configuration liée à Agent.as_tool, rejoue handoffs-vs-agents-as-tools-controle-c14 et compare le nouvel état au témoin produit par Runner. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à guardrails, à une condition concrète et à une preuve plutôt qu’à une formule générale. La décision finale reste bornée par OpenAI Agents SDK et Agent.as_tool : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c14 est présenté comme limite ou hypothèse, jamais comme fait acquis.

Frontières de confiance autour de Agent.as_tool
Un système exploitable commence par une question simple : qui décide, sur quelles preuves, et que peut-on annuler ?
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c21 part de Handoff et traite Agent.as_tool comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Runner de produire un résultat observable avant que guardrails puisse déclencher l’effet attendu autour de OpenAI Agents SDK. La décision finale reste bornée par Runner et OpenAI Agents SDK : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c21 est présenté comme limite ou hypothèse, jamais comme fait acquis. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme Handoff en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver. Pour tester Agent.as_tool, la fixture handoffs-vs-agents-as-tools-controle-c21 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à Runner.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c22 part de Agent.as_tool et traite Runner comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à guardrails de produire un résultat observable avant que OpenAI Agents SDK puisse déclencher l’effet attendu autour de Handoff. L’exploitation surveille alors la transition entre guardrails et OpenAI Agents SDK, tandis que la sécurité vérifie que Handoff ne reçoit ni autorité implicite ni donnée excédentaire. Si la vérification de OpenAI Agents SDK échoue, le rollback restaure la configuration liée à Handoff, rejoue handoffs-vs-agents-as-tools-controle-c22 et compare le nouvel état au témoin produit par Agent.as_tool. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à Runner, à une condition concrète et à une preuve plutôt qu’à une formule générale.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c23 part de Runner et traite guardrails comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à OpenAI Agents SDK de produire un résultat observable avant que Handoff puisse déclencher l’effet attendu autour de Agent.as_tool. La décision finale reste bornée par OpenAI Agents SDK et Agent.as_tool : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c23 est présenté comme limite ou hypothèse, jamais comme fait acquis. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme Runner en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver. Pour tester guardrails, la fixture handoffs-vs-agents-as-tools-controle-c23 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à OpenAI Agents SDK.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c24 part de guardrails et traite OpenAI Agents SDK comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Handoff de produire un résultat observable avant que Agent.as_tool puisse déclencher l’effet attendu autour de Runner. L’exploitation surveille alors la transition entre Handoff et Agent.as_tool, tandis que la sécurité vérifie que Runner ne reçoit ni autorité implicite ni donnée excédentaire. Si la vérification de Agent.as_tool échoue, le rollback restaure la configuration liée à Runner, rejoue handoffs-vs-agents-as-tools-controle-c24 et compare le nouvel état au témoin produit par guardrails. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à OpenAI Agents SDK, à une condition concrète et à une preuve plutôt qu’à une formule générale.

Comparer OpenAI Agents SDK et Handoff sur des critères communs
La difficulté réelle apparaît lorsque le comportement nominal rencontre les droits, les erreurs et la production.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c31 part de Agent.as_tool et traite Runner comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à guardrails de produire un résultat observable avant que OpenAI Agents SDK puisse déclencher l’effet attendu autour de Handoff. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à Runner, à une condition concrète et à une preuve plutôt qu’à une formule générale. La décision finale reste bornée par guardrails et Handoff : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c31 est présenté comme limite ou hypothèse, jamais comme fait acquis. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme Agent.as_tool en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c32 part de Runner et traite guardrails comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à OpenAI Agents SDK de produire un résultat observable avant que Handoff puisse déclencher l’effet attendu autour de Agent.as_tool. Pour tester guardrails, la fixture handoffs-vs-agents-as-tools-controle-c32 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à OpenAI Agents SDK. L’exploitation surveille alors la transition entre OpenAI Agents SDK et Handoff, tandis que la sécurité vérifie que Agent.as_tool ne reçoit ni autorité implicite ni donnée excédentaire. Si la vérification de Handoff échoue, le rollback restaure la configuration liée à Agent.as_tool, rejoue handoffs-vs-agents-as-tools-controle-c32 et compare le nouvel état au témoin produit par Runner.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c33 part de guardrails et traite OpenAI Agents SDK comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Handoff de produire un résultat observable avant que Agent.as_tool puisse déclencher l’effet attendu autour de Runner. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à OpenAI Agents SDK, à une condition concrète et à une preuve plutôt qu’à une formule générale. La décision finale reste bornée par Handoff et Runner : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c33 est présenté comme limite ou hypothèse, jamais comme fait acquis. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme guardrails en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c34 part de OpenAI Agents SDK et traite Handoff comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Agent.as_tool de produire un résultat observable avant que Runner puisse déclencher l’effet attendu autour de guardrails. Pour tester Handoff, la fixture handoffs-vs-agents-as-tools-controle-c34 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à Agent.as_tool. L’exploitation surveille alors la transition entre Agent.as_tool et Runner, tandis que la sécurité vérifie que guardrails ne reçoit ni autorité implicite ni donnée excédentaire. Si la vérification de Runner échoue, le rollback restaure la configuration liée à guardrails, rejoue handoffs-vs-agents-as-tools-controle-c34 et compare le nouvel état au témoin produit par OpenAI Agents SDK.

Cas où le choix opposé devient rationnel
Le bon design sépare ce que le modèle propose de ce que l’application autorise et vérifie.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c41 part de Runner et traite guardrails comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à OpenAI Agents SDK de produire un résultat observable avant que Handoff puisse déclencher l’effet attendu autour de Agent.as_tool. Si la vérification de Handoff échoue, le rollback restaure la configuration liée à Agent.as_tool, rejoue handoffs-vs-agents-as-tools-controle-c41 et compare le nouvel état au témoin produit par Runner. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à guardrails, à une condition concrète et à une preuve plutôt qu’à une formule générale. La décision finale reste bornée par OpenAI Agents SDK et Agent.as_tool : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c41 est présenté comme limite ou hypothèse, jamais comme fait acquis.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c42 part de guardrails et traite OpenAI Agents SDK comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Handoff de produire un résultat observable avant que Agent.as_tool puisse déclencher l’effet attendu autour de Runner. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme guardrails en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver. Pour tester OpenAI Agents SDK, la fixture handoffs-vs-agents-as-tools-controle-c42 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à Handoff. L’exploitation surveille alors la transition entre Handoff et Agent.as_tool, tandis que la sécurité vérifie que Runner ne reçoit ni autorité implicite ni donnée excédentaire.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c43 part de OpenAI Agents SDK et traite Handoff comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Agent.as_tool de produire un résultat observable avant que Runner puisse déclencher l’effet attendu autour de guardrails. Si la vérification de Runner échoue, le rollback restaure la configuration liée à guardrails, rejoue handoffs-vs-agents-as-tools-controle-c43 et compare le nouvel état au témoin produit par OpenAI Agents SDK. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à Handoff, à une condition concrète et à une preuve plutôt qu’à une formule générale. La décision finale reste bornée par Agent.as_tool et guardrails : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c43 est présenté comme limite ou hypothèse, jamais comme fait acquis.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c44 part de Handoff et traite Agent.as_tool comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Runner de produire un résultat observable avant que guardrails puisse déclencher l’effet attendu autour de OpenAI Agents SDK. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme Handoff en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver. Pour tester Agent.as_tool, la fixture handoffs-vs-agents-as-tools-controle-c44 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à Runner. L’exploitation surveille alors la transition entre Runner et guardrails, tandis que la sécurité vérifie que OpenAI Agents SDK ne reçoit ni autorité implicite ni donnée excédentaire.

Échecs plausibles, signaux et diagnostic
Le point de départ n’est pas une fonctionnalité, mais une frontière de décision observable.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c51 part de guardrails et traite OpenAI Agents SDK comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Handoff de produire un résultat observable avant que Agent.as_tool puisse déclencher l’effet attendu autour de Runner. L’exploitation surveille alors la transition entre Handoff et Agent.as_tool, tandis que la sécurité vérifie que Runner ne reçoit ni autorité implicite ni donnée excédentaire. Si la vérification de Agent.as_tool échoue, le rollback restaure la configuration liée à Runner, rejoue handoffs-vs-agents-as-tools-controle-c51 et compare le nouvel état au témoin produit par guardrails. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à OpenAI Agents SDK, à une condition concrète et à une preuve plutôt qu’à une formule générale.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c52 part de OpenAI Agents SDK et traite Handoff comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Agent.as_tool de produire un résultat observable avant que Runner puisse déclencher l’effet attendu autour de guardrails. La décision finale reste bornée par Agent.as_tool et guardrails : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c52 est présenté comme limite ou hypothèse, jamais comme fait acquis. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme OpenAI Agents SDK en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver. Pour tester Handoff, la fixture handoffs-vs-agents-as-tools-controle-c52 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à Agent.as_tool.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c53 part de Handoff et traite Agent.as_tool comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Runner de produire un résultat observable avant que guardrails puisse déclencher l’effet attendu autour de OpenAI Agents SDK. L’exploitation surveille alors la transition entre Runner et guardrails, tandis que la sécurité vérifie que OpenAI Agents SDK ne reçoit ni autorité implicite ni donnée excédentaire. Si la vérification de guardrails échoue, le rollback restaure la configuration liée à OpenAI Agents SDK, rejoue handoffs-vs-agents-as-tools-controle-c53 et compare le nouvel état au témoin produit par Handoff. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à Agent.as_tool, à une condition concrète et à une preuve plutôt qu’à une formule générale.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c54 part de Agent.as_tool et traite Runner comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à guardrails de produire un résultat observable avant que OpenAI Agents SDK puisse déclencher l’effet attendu autour de Handoff. La décision finale reste bornée par guardrails et Handoff : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c54 est présenté comme limite ou hypothèse, jamais comme fait acquis. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme Agent.as_tool en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver. Pour tester Runner, la fixture handoffs-vs-agents-as-tools-controle-c54 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à guardrails.

Déploiement progressif et retour arrière
Un système exploitable commence par une question simple : qui décide, sur quelles preuves, et que peut-on annuler ?
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c61 part de OpenAI Agents SDK et traite Handoff comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Agent.as_tool de produire un résultat observable avant que Runner puisse déclencher l’effet attendu autour de guardrails. Pour tester Handoff, la fixture handoffs-vs-agents-as-tools-controle-c61 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à Agent.as_tool. L’exploitation surveille alors la transition entre Agent.as_tool et Runner, tandis que la sécurité vérifie que guardrails ne reçoit ni autorité implicite ni donnée excédentaire. Si la vérification de Runner échoue, le rollback restaure la configuration liée à guardrails, rejoue handoffs-vs-agents-as-tools-controle-c61 et compare le nouvel état au témoin produit par OpenAI Agents SDK.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c62 part de Handoff et traite Agent.as_tool comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Runner de produire un résultat observable avant que guardrails puisse déclencher l’effet attendu autour de OpenAI Agents SDK. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à Agent.as_tool, à une condition concrète et à une preuve plutôt qu’à une formule générale. La décision finale reste bornée par Runner et OpenAI Agents SDK : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c62 est présenté comme limite ou hypothèse, jamais comme fait acquis. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme Handoff en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c63 part de Agent.as_tool et traite Runner comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à guardrails de produire un résultat observable avant que OpenAI Agents SDK puisse déclencher l’effet attendu autour de Handoff. Pour tester Runner, la fixture handoffs-vs-agents-as-tools-controle-c63 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à guardrails. L’exploitation surveille alors la transition entre guardrails et OpenAI Agents SDK, tandis que la sécurité vérifie que Handoff ne reçoit ni autorité implicite ni donnée excédentaire. Si la vérification de OpenAI Agents SDK échoue, le rollback restaure la configuration liée à Handoff, rejoue handoffs-vs-agents-as-tools-controle-c63 et compare le nouvel état au témoin produit par Agent.as_tool.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c64 part de Runner et traite guardrails comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à OpenAI Agents SDK de produire un résultat observable avant que Handoff puisse déclencher l’effet attendu autour de Agent.as_tool. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à guardrails, à une condition concrète et à une preuve plutôt qu’à une formule générale. La décision finale reste bornée par OpenAI Agents SDK et Agent.as_tool : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c64 est présenté comme limite ou hypothèse, jamais comme fait acquis. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme Runner en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver.

Critères de décision pour la production
La difficulté réelle apparaît lorsque le comportement nominal rencontre les droits, les erreurs et la production.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c71 part de Handoff et traite Agent.as_tool comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Runner de produire un résultat observable avant que guardrails puisse déclencher l’effet attendu autour de OpenAI Agents SDK. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme Handoff en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver. Pour tester Agent.as_tool, la fixture handoffs-vs-agents-as-tools-controle-c71 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à Runner. L’exploitation surveille alors la transition entre Runner et guardrails, tandis que la sécurité vérifie que OpenAI Agents SDK ne reçoit ni autorité implicite ni donnée excédentaire.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c72 part de Agent.as_tool et traite Runner comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à guardrails de produire un résultat observable avant que OpenAI Agents SDK puisse déclencher l’effet attendu autour de Handoff. Si la vérification de OpenAI Agents SDK échoue, le rollback restaure la configuration liée à Handoff, rejoue handoffs-vs-agents-as-tools-controle-c72 et compare le nouvel état au témoin produit par Agent.as_tool. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à Runner, à une condition concrète et à une preuve plutôt qu’à une formule générale. La décision finale reste bornée par guardrails et Handoff : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c72 est présenté comme limite ou hypothèse, jamais comme fait acquis.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c73 part de Runner et traite guardrails comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à OpenAI Agents SDK de produire un résultat observable avant que Handoff puisse déclencher l’effet attendu autour de Agent.as_tool. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme Runner en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver. Pour tester guardrails, la fixture handoffs-vs-agents-as-tools-controle-c73 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à OpenAI Agents SDK. L’exploitation surveille alors la transition entre OpenAI Agents SDK et Handoff, tandis que la sécurité vérifie que Agent.as_tool ne reçoit ni autorité implicite ni donnée excédentaire.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c74 part de guardrails et traite OpenAI Agents SDK comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Handoff de produire un résultat observable avant que Agent.as_tool puisse déclencher l’effet attendu autour de Runner. Si la vérification de Agent.as_tool échoue, le rollback restaure la configuration liée à Runner, rejoue handoffs-vs-agents-as-tools-controle-c74 et compare le nouvel état au témoin produit par guardrails. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à OpenAI Agents SDK, à une condition concrète et à une preuve plutôt qu’à une formule générale. La décision finale reste bornée par Handoff et Runner : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c74 est présenté comme limite ou hypothèse, jamais comme fait acquis.
Élément de preuve : OpenAI documente que run results expose final output, new items, agent identity, raw responses, guardrail results, state and usage diagnostics. Cette source est utilisée ici pour cadrer critères de décision pour la production, pas pour remplacer le test local. [S7]Contrôles à conserver après la mise en service
Le bon design sépare ce que le modèle propose de ce que l’application autorise et vérifie.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c81 part de Agent.as_tool et traite Runner comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à guardrails de produire un résultat observable avant que OpenAI Agents SDK puisse déclencher l’effet attendu autour de Handoff. La décision finale reste bornée par guardrails et Handoff : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c81 est présenté comme limite ou hypothèse, jamais comme fait acquis. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme Agent.as_tool en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver. Pour tester Runner, la fixture handoffs-vs-agents-as-tools-controle-c81 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à guardrails.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c82 part de Runner et traite guardrails comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à OpenAI Agents SDK de produire un résultat observable avant que Handoff puisse déclencher l’effet attendu autour de Agent.as_tool. L’exploitation surveille alors la transition entre OpenAI Agents SDK et Handoff, tandis que la sécurité vérifie que Agent.as_tool ne reçoit ni autorité implicite ni donnée excédentaire. Si la vérification de Handoff échoue, le rollback restaure la configuration liée à Agent.as_tool, rejoue handoffs-vs-agents-as-tools-controle-c82 et compare le nouvel état au témoin produit par Runner. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à guardrails, à une condition concrète et à une preuve plutôt qu’à une formule générale.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c83 part de guardrails et traite OpenAI Agents SDK comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Handoff de produire un résultat observable avant que Agent.as_tool puisse déclencher l’effet attendu autour de Runner. La décision finale reste bornée par Handoff et Runner : ce qui n’est pas démontré par le scénario handoffs-vs-agents-as-tools-controle-c83 est présenté comme limite ou hypothèse, jamais comme fait acquis. Cette séquence répond au besoin suivant : Décider quand un agent spécialiste doit prendre la main ou rester un outil appelé par un orchestrateur. Elle transforme guardrails en point de décision vérifiable, avec une entrée nommée et une sortie que l’équipe peut conserver. Pour tester OpenAI Agents SDK, la fixture handoffs-vs-agents-as-tools-controle-c83 inclut volontairement un état valide et un état refusé ; le refus doit arriver avant toute modification attribuée à Handoff.
Dans « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable », le scénario handoffs-vs-agents-as-tools-controle-c84 part de OpenAI Agents SDK et traite Handoff comme une frontière explicite plutôt que comme une hypothèse implicite. Le premier contrôle demande à Agent.as_tool de produire un résultat observable avant que Runner puisse déclencher l’effet attendu autour de guardrails. L’exploitation surveille alors la transition entre Agent.as_tool et Runner, tandis que la sécurité vérifie que guardrails ne reçoit ni autorité implicite ni donnée excédentaire. Si la vérification de Runner échoue, le rollback restaure la configuration liée à guardrails, rejoue handoffs-vs-agents-as-tools-controle-c84 et compare le nouvel état au témoin produit par OpenAI Agents SDK. Ce niveau de détail rend « Handoffs ou agents-as-tools : choisir une orchestration qui reste contrôlable » révisable : chaque affirmation opérationnelle renvoie à Handoff, à une condition concrète et à une preuve plutôt qu’à une formule générale.
Élément de preuve : NIST documente que nIST AI 600-1 is a generative-AI profile for integrating trustworthiness and risk actions across the AI lifecycle. Cette source est utilisée ici pour cadrer contrôles à conserver après la mise en service, pas pour remplacer le test local. [S8]Checklist opérationnelle
- Le contrôle autour de OpenAI Agents SDK a une entrée, une règle, un refus et une preuve.
- Le contrôle autour de Handoff a une entrée, une règle, un refus et une preuve.
- Le contrôle autour de Agent.as_tool a une entrée, une règle, un refus et une preuve.
- Le contrôle autour de Runner a une entrée, une règle, un refus et une preuve.
- Le contrôle autour de guardrails a une entrée, une règle, un refus et une preuve.
Sources et points de contrôle
- [S1] Agents - OpenAI Agents SDK — An Agent combines instructions, tools and optional runtime behavior such as handoffs, guardrails and structured outputs. source
- [S2] Running agents - OpenAI Agents SDK — Run configuration controls model setup, guardrails, handoff behavior, tracing, tool execution and conversation state. source
- [S3] OpenAI Agents SDK — The Agents SDK is a higher-level runtime around model calls that manages tools, guardrails, handoffs, sessions and tracing. source
- [S4] Agent orchestration - OpenAI Agents SDK — Two common orchestration patterns are manager-controlled agents-as-tools and handoffs where a specialist becomes the active agent. source
- [S5] Handoffs - OpenAI Agents SDK — Handoffs transfer the active conversation to a specialist agent and can filter or reshape the history passed to the destination. source
- [S6] Guardrails - OpenAI Agents SDK — Agent and tool guardrails can validate inputs or outputs and can stop execution with tripwire-style failures. source
- [S7] Results - OpenAI Agents SDK — Run results expose final output, new items, agent identity, raw responses, guardrail results, state and usage diagnostics. source
- [S8] Artificial Intelligence Risk Management Framework: Generative AI Profile — NIST AI 600-1 is a generative-AI profile for integrating trustworthiness and risk actions across the AI lifecycle. source
- [S9] OWASP Top 10 for Large Language Model Applications — OWASP identifies its 2026 LLM Top 10 as the current release for major security risks in LLM applications. source
- [S10] Tools - OpenAI Agents SDK — The SDK distinguishes hosted tools, local execution tools, function tools and agents-as-tools, each with different trust and execution boundaries. source





Commentaires
Aucun commentaire publié pour le moment.
Connectez-vous pour commenter