Storage
The agent needs to keep track of the real world and model it. This is what we use World Model for.
Main unit of information is an Instance. Instances represent specific instances of concepts. They are linked to the concept that represent. For example on this image we have some specific person.
As you can see world model is tightly coupled to the knowledge base.
Instance Fields
For clarity we omit displaying concepts and show they labels on the instances. Also strings have their value as a label.
Instances can be related to other instances via fields. For example on the image we represent world model with two friends named Mike and Sam.
Strings
It should be easy for the agent to remember some person by their name. In order to be able to do that we link strings to the patterns that represent them.
Then when the pattern is triggered it will "highlight" the string instance that is connected to the person of interest.
Field Optimization
In the newer version of the architecture we deprecated sepeate nodes for fields. Instead we use a Dict Node for an instance.
Dict Nodes allow for key-value edges. This allows us to not iterate all the field edges to look for the needed field.
You can read more about Dict Nodes on the "Unified Graph" page