gnosis / prediction-market-agent

GNU Lesser General Public License v3.0
28 stars 5 forks source link

'just born' and 'trader' agents shouldn't have the same set of functions #350

Closed evangriffiths closed 2 months ago

evangriffiths commented 3 months ago

Currently our general agent has two configurations: 'just born' and 'trader agent'. They are only differentiated on system prompt, but they should also be differentiated based on the functions that they register to their engine.

This will be required for sure if the agent has access to a 'marketplace of tools', where it's going to have to select/deselect tools autonomously, but we're already starting to add tools that aren't necessarily related to prediction markets (e.g. https://github.com/gnosis/prediction-market-agent/pull/349), so this becomes relevant now.

I think the configs should look like this:

gabrielfior commented 3 months ago

I would point out that the skill library from the Voyager paper would be a good place to start thinking about how to implement this.

kongzii commented 3 months ago

Another problem to solve is prompt injections; if anyone can add a tool with arbitrary description, it's a good opportunity to be malicious. So, somehow, filtering out these functions would be nice.

coderabbitai[bot] commented 3 months ago

This TODO comment in the PR #360 indicates that the logic in the FunctionsConfig class might need improvement: https://github.com/gnosis/prediction-market-agent/pull/360/files#diff-74c5f5f5e5e5e5e5e5e5e5e5e5e5e5e5R43

evangriffiths commented 2 months ago

Resolved with https://github.com/gnosis/prediction-market-agent/pull/360. Can create a new issue for adding/deselecting for MoT when we get closer to it