So for agents, coupling is entirely in the metadata. IMO, agents are much better suited for massively distributed computing than traditional objects, since dynamic discovery and late binding are going to be pervasive. Static, even well defined unambiguous interfaces and contracts just can't cut it unless they provide a mechanism to describe themselves in the knowledge layer. The language defines the domain of discourse and implies the logical semantics of the conversation. Agents have the quality of volition.
Objects are abstractions of things like invoices or PLCs.
Note that this does not mean that agents are intelligent in the human sense, only that they are modeled after an anthropomorphic architecture, with beliefs, desires, etc. It operates within a well defined problem domain, with a suitably specified ontology. At the very best, it demonstrates some aspects of agency, but every autonomous process in the world is not automatically an AOP agent. At one client site, I wrote a VB3 timer application that polls a SQL Server for tagged transactions to post to the mainframe.