Skip to content

Items

Items have observable properties (what the agent senses) and hidden effects (what happens on interaction). Effect keys must match internal() sensor names in the body.

Items are the objects that exist in the world for agents to encounter and interact with. Each item has two faces: what the agent can sense about it before interacting (observable properties), and what actually happens when the agent consumes it (hidden effects). This separation is what makes discrimination tasks interesting - the agent must learn to read the observable properties to predict the hidden consequences, since the effects are never directly visible to the brain.

// Example: an item representing a harmful object in the world.
// Item names, categories, and properties are defined by your experiment -
// there are no built-in item types.
item ToxicPlant {
category: food // any category name (validated by your domain)
properties {
color: 0.3 // observable values in [0.0, 1.0]
smell: 0.7
texture: 0.5
}
on_consume {
health: -0.3 // effect keys must match body's internal sensors
energy: -0.05 // positive = increase, negative = decrease
hunger: -0.1
}
}
  • category - any name (your domain layer defines what categories mean)
  • properties values must be in [0.0, 1.0]
  • on_consume keys must match internal() sensor names in the body
  • on_consume values can be signed: +0.3, -0.1