#ai-companion
-
Three Levers That Make an AI Companion's Replies Feel Human
Picking the right model per task, letting it decide when to act, and polishing what it generates — three independent levers we pulled to raise conversation quality, and the one rule that ties them together.
-
The Over-Refusal Tax: Why "Safe" LLMs Quietly Lose Your Data
In a memory/extraction pipeline, an over-cautious model doesn't refuse loudly — it silently drops the sensitive-but-true facts. Why that happens, how neutral-aligned models plus duty-releasing prompts fix it, and the cost twist nobody expects.
-
eros-engine memory upgrade — putting the user profile in drawers
Yesterday's post mentioned a `category` column in the schema, but nothing was actually filling it. PR
-
pgvector + Voyage for AI companion memory — 5× less RAM than Mem0
A walkthrough of how we run AI companion memory inside Postgres with pgvector + Voyage embeddings, and why dropping the Mem0 sidecar shrank our engine's resident memory by roughly 5×. Concrete schema, the embed-write-search loop in Rust, and the deployment math behind self-hosting on a shared-cpu-1x machine.
-
Why AI companion products don't need a generic memory layer
We removed Mem0 from eros-engine and rebuilt the memory layer on pgvector + Voyage. This post explains why AI companions need a relationship-shaped memory system, not a generic facts store.