Persistent Mutable Storage for Agents (RPG, Roleplay, Workflow)
Problem Statement
Currently, Venice AI agents have no ability to persist data other than writing it out and hopefully not having this information drifting out of the context window . This creates significant limitations for:
Interactive gaming (RPG character sheets and state tracking)
Stateful workflows (any type of important data which thats represents a state and a source of truth)
Current limitation: If an agent does output data, it gets buried in conversation history and eventually lost to context compression. Current memory implementation can’t be used by agents like this.
Proposed Solution
A Storage Tool or Key-Value Store that agents can use to read/write/delete data:
storage_write("edgar_sheet", "Name: Edgar\nHP: 18\nWeapons: Sword, Shield");
storage_write("sabine_sheet", value: "Name: Sabine\nHP: 15\nWeapons: Bow, 15xArrows");
storage_read("edgar_sheet"); → returns "Name: Edgar\nHP: 15\nWeapons: Sword, Shield"
storage_list() → returns ["edgar_sheet", "sabine_sheet"]
storage_delete("edgar_sheet")
storage_list() → returns ["sabine_sheet"]Usage
Tell the agent to store specific data with the tool to keep track of it over the course of a conversation in the system prompt/user prompt. My experience with local AI says it is honored in almost all cases and only needs sometimes be nudged, which is usually without data loss.
Implementation Ideas
Storage should be client-side localstorage or encrypted server-side
Expose via API for agents like the calculator
Storage is conversation local and gets removed when the conversation gets deleted. Cross conversation scope optional.
Benefits
With the current implementation roleplay with character sheets and world info is almost always drifting out of the context window fast and then the story and consitency is lost. With a system like this the main important information can’t be lost. The same for any other more complex Mind or Agent that mutates data over time. As long as we don’t have full custom agents this is the easiest solution to allow many agents to achieve complex behaviour without context drift.
Log in to comment and vote
No comments yet
Be the first to share your thoughts.