Creates an agent instance for a specific request.
This method must be overridden in subclasses.
The session instance (for accessing Manager and tools)
A new agent instance (extends Base)