Attribute macro for implementing the Agent trait with Generic support
This version generates a struct definition with Generic inner agent,
allowing for agent injection and testing with mock agents.
§Usage
ⓘ#[agent(expertise = "Rust expert", output = "MyOutputType")]
struct MyAgent;