I think at a minimum, agents are programs that clients submit to the server. The server runs the agent with a very limited API and likely as a pure function (lang could be JS or wasm maybe). The agent could run in response to events on the server (like webhooks), or in response to requests coming in from the client.
Effectively we are talking about something on a par with stored procedures, but hopefully a bit nicer and portable.
You would of course want to apply at least as much thought to the design of the agent as you would to a prepared statement, so that they can be reused. And that would probably mean, like a prepared statement, that you are sending a query and some config for that query as two separate inputs, one of which is much more stable than the other.
Here is a scribble: https://gist.github.com/AriaMinaei/69e1a9166e7ffbd61e7f6709d...