Microservices were designed for deterministic clients . A developer reads the contract, writes the call sequence, handles the auth, picks the fields that matter — once. An agent decides all of that at runtime, pays for every byte it reads, and retries when unsure.