One pattern we have found helpful for agentic workflows: keeping the execution layer task-first (describe what you need, not which provider to call). You can layer runtime trust checks and cost constraints without the agent needing to know provider internals. It keeps the sandbox boundaries clean and makes fallback between providers or models straightforward without rewriting the core integration logic.