Slide 20 — Hooks : observabilité du cycle de vie
class HooksAudit(RunHooks):
async def on_tool_start(self, ctx, agent, tool):
logger.info("agent=%s outil=%s", agent.name, tool.name)
async def on_handoff(self, ctx, source, cible):
logger.info("handoff %s → %s", source.name, cible.name)
Runner.run(agent, msg, hooks=HooksAudit())
Usages : audit réglementaire, métriques latence/coût, kill-switch.
Distinction d'examen : hook = observer · guardrail = bloquer. La sécurité principale va dans les guardrails.