Conversation
|
My vote would be to just merge the change around not writing fetches since seems less disruptive (under a flag). Default behavior is same as now and then you can set flag to not write fetches |
packages/magentic-marketplace/src/magentic_marketplace/marketplace/protocol/fetch_messages.py
Outdated
Show resolved
Hide resolved
packages/magentic-marketplace/src/magentic_marketplace/marketplace/protocol/fetch_messages.py
Outdated
Show resolved
Hide resolved
|
experiments on it work perfectly |
This lets the protocol avoid writing noisy actions to the database Empty FetchMessages actions are not persisted to the databse
6406f8e to
b426e05
Compare
|
@willeppy I know we talked about removing the NOT IN expression and only keeping the drop-empty-fetch logic. But without the NOT IN logic a fetch is never empty 😖 So I've added logic to the SimpleMarketplaceProtocol to track how many messages each agent fetched last, and using that to indicate if a FetchMessages action is "empty" or not. To reduce impact on our message passing logic, I still opted to send all messages to the agents and let the agents filter them out as they were before. |
|
@tylerpayne non-urgent but think would still be good to merge this soon to make dbs smaller, esp since we've already tagged an arxiv release |
Leaving in draft while I work with Wenyue to test.
Reduce two high-pressure operations:
To solve 1, the protocol can return a boolean flag indicating whether an executed action should be persisted.
To solve 2, track how many messages each agent fetched last, and use that to indicate "empty" or not.
To test, run these three in order
Then run
And you should see the first has the least actions, then the second, then third has the most.
PR Checklist (do not remove):