Hey <@U09DMU3EM2T>, sorry, I didn't get to review ...
# proj-agent
l
Hey @strong-ice-84145, sorry, I didn't get to review this before it was merged, but I wonder do we really want to deprecate AgentSettings? https://github.com/OpenHands/software-agent-sdk/pull/2861 I think we might instead want to have AgentSettings be the parent class, and then have subclasses inherit from it. Would there be an issue with doing that?
s
so AgentSettings as a base abstract class? We can modify the internals of SDK to do that, I dont think it would affect other repos since it's an abstract base? Or do you want to keep AgentSettings as a real class for the regular agent and have ACP use a subclass of it, even if it means having useless fields on its settings class?
Also, semantics are not great...
LLMAgentSettings
->
OpenhandsAgentSettings
and
llm
->
openhands
, will merge the renaming before it hits prod
l
I think there are some things that are shared by all agents, like LLM is shared by all correct?
Then OpenhandsAgent could inherit and define its own unique fields, and ACPAgent could inherit and define its own unique fields. I think in general inheritance is nice because it can define its own interface functions
(even if it's not abstract)
s
Yes it could hold: - schema_version - export_schema() - explicit abstract create_agent() - maybe llm but ACP has llm only for attribution/pricing metadata Making an issue! But I dont think that it will simplify the code much in Openhands: still need to handle the discriminated union there...
https://github.com/OpenHands/software-agent-sdk/issues/3011 unclear if we want to keep the same
AgentSettings
name or
AgentSettingsBase
l
OK, thanks! If this complicates things rather than make them simple I don't think we need to change, but my intuition is that this will make things simpler, especially in the long run. I don't have a strong opinion about the naming, both seem reasonable
👍 1