01 / 06
You Speak
native VAD
Your voice lands in a session that never closed. No wake word, no connecting, nothing to sit through before it hears you.
agartha labs
ABOUT
agar hops in your Discord call and yourworld at the same time. Ask for something andagar answers like a person would, then goesand handles it while you carry on.
See The Log→THE GAP
Hundreds of millions of people already talk to one. Every singleproduct is a text box, so the whole relationship is conversationand it stops there.
233M
Character.AI
registered users
660M
Xiaoice
registered users
25M+
Replika
registered users
Registered-user figures as publicly reported by the companies and industry trackers. Registered accounts are a softer measure than monthly actives, and they are labelled that way here on purpose.
“one of the products that i would love to exist is what i call a contextual companion for my son who plays minecraft.”
THINGS IT CAN DO
agar finds the nearest tree, takes the whole thing down, and picks up what falls. Setting off happens the moment you ask, so "aight, otw" reaches you from halfway there.
01 / 06
native VAD
Your voice lands in a session that never closed. No wake word, no connecting, nothing to sit through before it hears you.
TO SCALE, HONESTLY
Every leg below runs for its real measured duration, scaled by oneconstant. The long bit is agar thinking. Everything after thatused to be what kept you waiting.
MEASURED
Nothing here is estimated or rounded up. The scale below islogarithmic so both bars stay readable, but the gap is real.
Time to first audio
Cold memory lookup
Warm lookup (median)
Time to first tool call
Tool dispatch
The moment it decides to do something, the body moves. Three milliseconds, give or take. The old version booted a whole agent for every reaction and sat behind a ten second cooldown.
Tool-call reliability · 32 turns
It never reached for the wrong thing. When it missed, it stayed quiet rather than guessing.
Verified in-world
$ set_goal chop_tree "get wood"
state: IDLE ─▶ TASK
goal: get wood [active]
inventory
oak_log ×3 ─▶ ×6
birch_log ×0 ─▶ ×4Call, goal runner, skill, blocks in the ground. On a real server, not a test fixture.
Built on
THE ONE RULE
Three lanes that never block each other. The quick one keepsrunning no matter what the slow one is up to, which is whyagar still feels alive while thinking.
Reflex loop · live
tick 000 · 66ms
Sustained tick rate confirmed from a live boot
Following you, dodging lava, eating when it should. Plain code on a fixed loop with everything else running. No model has ever touched this path, and none ever will.
Reflex
66ms
no model, ever
Conversation
1.8s
speech to speech
Reflection
seconds
never blocks a word
THE BOUNDARY
A companion is only worth talking to if it remembers. Memory of areal person is not a feature you bolt on and move past. Most ofwhat it holds was said in confidence, and much of it belongs toother people.
01
The personal corpus is one-way
Semantic memory holds the private history. Behavioural memory holds what the agent did: tools, timings, outcomes. Nothing crosses from the first into the second. The store that is shared, hosted, and multi-tenant never receives a single line of anyone’s messages.
02
It answers from what was distilled, never from transcript
Lookups read compiled pages, not raw conversation. This was not the original design. Testing showed a question as ordinary as “what has he been working on recently” landing in years-old private chat, because semantic similarity matches chatty questions to chatty text. The retriever is now restricted at the source.
03
The public channel carries timing, not content
The live coordination view is readable by anyone holding a publishable key. So the lane carrying human speech publishes durations and nothing else. It is an allowlist rather than a filter, because a filter is one refactor away from leaking and an allowlist fails closed.
The cost is that it says “nothing in memory about that” more often than it used to.
That is the right trade. A companion that sometimes cannot answer is fine. One that reads a private conversation out loud is not.
These are implementation details rather than policy. The boundary is enforced in code and asserted by tests, and the retrieval restriction was added after testing surfaced real private conversations in response to an ordinary question.
WHERE THIS GOES
agar meets the world through a single typed interface andnever learns which world is on the other side. The companion,the voice and the memory stay exactly as they are. Only thebody changes.
Only the first of those has actually run. The other two are what the interface allows, not work already done, and we would rather say so than let a diagram imply otherwise.