agents are repls (and so are you)
Usage has two ends. You push text in. You pull text out. They are not the same operation, and they are not synchronised — there’s no clock ticking between a push and the next pull. You can push three messages before reading one reply, or read stale output from an hour ago, or push nothing and just watch. The ends are free.