Just run a loop with another agent that watch the transcript and trigger tool to refocus on the main agent or re-run agent entirely with follow up prompt not visible to the user so it gradually goes back to the right topic.