Hi and thank for this sharing. I think that Bare metal here depends a lot on how much you actually keep it busy. If the agent works in bursts and then sits idle for hours, you’re still paying for that GPU. I’d start by comparing the actual monthly cost of bare metal with APIs at different usage levels. Including prompt caching, max_steps, retries that don’t keep firing forever... if you can remove some of the waste from the loops, I imagine the gap can narrow quite a bit. Good Work!