Skip to main content

Entry #4: Using Tools

Omocube can now act on what it decides. Before tools, Omocube could reason its way to the right thing to do and still have no way to do it consistently. The tool-calling layer fundamentally changes what Omocube is, laying the foundation for experience.

The model

Decides what needs doing and which tool does it.

Tool-calling layer
Calls every tool the same way for consistency.
Tools that act on the world
  1. MoveDrive to a place, roam and explore, or dance
  2. LookAsk a question about the current view, or save a photo
  3. SoundPlay music or sing
Tools that act internally
  1. RoutineSet up a behaviour to run on a schedule or a trigger
  2. BrowseLook up something current it does not already know
  3. Remote controlControl nearby devices, such as lights or a speaker
Running in the background
Driving somewhere or running a long job runs in the background, so Omocube can keep talking while it happens. You can interrupt or redirect it mid-way.

The tools available (ongoing updates)​

Move is how Omocube traverses the space it's in, whether that's navigating to a goal, following someone, or dancing because it wants to. Dancing goes straight to the motors rather than through the navigation system, because it isn't trying to get anywhere. A person can still speak mid-movement to steer or stop it.

Look exists for moments when a first glance wasn't enough, and Omocube needs to actually inspect something more closely to understand it. It can also take a photograph, but only when asked. Whatever it chooses to hold onto needs to always be a choice. Either way, nothing leaves the machine, so photos stay on Omocube itself.

Sound lets Omocube play sounds or music. This can be music it's been asked for or music it chooses on its own. It composes with the other tools, so a single moment can involve movement and sound together, the way a body's expressions naturally do.

Routine is where an instruction becomes a habit Omocube carries forward on its own, triggered by time or by something it notices, like a doorbell. Routines can be named, referred to later, edited, paused, or removed.

Something to keep in mind (since this often gets confused and Omocube can use both): a routine is not a skill. A routine is a when, written in advance and waiting for its trigger. A skill is a how, something Omocube has actually learned, and can call on regardless of when it's asked.

Routine
When to do it
Triggered byA time, or something Omocube notices
Example“Every weekday at 7am, come to the kitchen and say good morning”
You control itName it, pause it, edit it, remove it
Skill
How to do it
Triggered byA request that needs it, whenever it comes up
Example“How to find an object someone asked about”
It writes themWorked out from experience, not scheduled by you

Browse is how Omocube searches beyond what it already knows, for things that are true right now rather than generally, like the weather or a price that changes by the hour. When it already knows the answer, it's meant to just answer.

Remote control lets Omocube interact with devices around it. It can operate nearby devices on request or when it decides to, so it extends past its own body into the room it's in.