DEV Community

Charles Wu for seekdb

Posted on

Why OpenClaw Feels More Human the Longer You Use It

A follow-up to my 9-day Luna story — here’s the actual mechanism.

One prompt — sparks everywhere

First, how this piece fits the last one

I recently published https://medium.com/ob4ai/9-days-with-openclaw-she-started-organizing-her-own-memory-i-wasnt-ready-fe8f6b503dc0

That post was a first-hand story, not a teardown: I stepped away for days, came back, and found reminders she’d set, a Memory folder she’d reorganized, notes pushed into TOOLS.md, even a timeline site and a five-layer memory sketch. Readers DM’d me: Is that “getting smarter”? Is it vibes?

I’m not retelling that story. The Mac mini saga, the ancient Mac Pro, the “you’re your own person” line, Luna’s diary excerpts — that’s all in part one. This piece answers one question only:

Mechanically, why does OpenClaw so often feel like it’s getting more human?

Mechanically, why does OpenClaw so often feel like it’s getting more human?

Spoiler up front: the model didn’t grow a soul. A file loop on disk is faking continuity. Here’s how.

The whole thing in one sentence: chat, write disk, read it back next turn

OpenClaw’s workspace (typically under ~/.openclaw/workspace — check your machine) is mostly Markdown. Before a session, allowed files (plus memory snippets pulled by search) get stitched into context. During / after the session, the agent writes back to memory/, MEMORY.md, TOOLS.md, USER.md, AGENTS.md, and other workspace files as your setup allows.

Flywheel: chat → disk → repeat (smarter)

Chat → persist → next session loads the same tree (plus new deltas) → behavior fits you better → write again.

Chat → persist → next session loads the same tree (plus new deltas) → behavior fits you better → write again.

The weights are still rented. What thickens is the folder. So when Luna “grew up” in the last post, under the hood she was appending and reorganizing files she can read back — the scary bits, through an engineer’s eyes, are coherent file I/O plus scheduling. The emotional hit is a separate conversation.

Official docs:

Where “human-ish” comes from — four engineering levers (no crystal ball)

1. A static prompt doesn’t know “yesterday.” Files can.

If you write “today is Christmas” once, the model can stay in Christmas mode forever — if the calendar isn’t in context, yesterday doesn’t exist.
OpenClaw uses multiple Markdown files — including dated memory/YYYY-MM-DD.md logs — assembled before each session. That way, “what day it is” and “what happened today” can show up in the next turn. What you feel isn’t a sudden IQ spike; it’s a timeline that connects. Humans are hypersensitive to continuous selfhood — wire that in, and we project.

2. Slot responsibilities: constitution, persona, user profile, tooling, distillate, diary

Not a single catch-all file — division of labor (rough gloss; match your template):

One blunt rule: if you want durable gains, it has to hit disk. A conversation that never lands in a file isn’t an asset.

3. Prompt ordering: use the top and the tail — the middle blurs first

Long context tends toward a U-shape: the beginning (primacy) and the end (recency) usually get more attention than the middle. Hard rules up front, persona/preferences in the middle, today’s log and tasks toward the tail — just raising the odds the model actually attends (exact layout varies by version).

4. Memory without meltdown: search, then inject — not the whole library every turn

As the tree grows, pasting everything into the prompt each time burns tokens. OpenClaw’s side commonly uses memory_search over MEMORY.md and memory/*/.md, then injects slices. When it “remembers,” it has often searched first. Each write also expands what the next search can surface, so retrieval and write-back reinforce each other — you get a tighter next turn without mirroring the whole archive every time.

When context fills up (implementation note, not a toggle you control): Some builds checkpoint salient points to disk (e.g. under memory/) before compressing or truncating a long session. That path varies by version—read release notes for yours. Treat it as a nice-to-have, not a substitute for habits you do control (regular writes, git backup).

Why some people swear it “doesn’t work” — the flip side of Luna’s story

Luna escalated fast because permissions, prompts, heartbeat, and write-back habits were all in play. Many folks treat OpenClaw like a smarter ChatGPT tab — no training, one workspace for everything, weak model — then blame “bad memory.”

The usual three: model ceiling; one agent / one workspace mixing every job → polluted memory; never promoting SOPs to skills/*/SKILL.md or lessons to AGENTS.md.
“It gets better over time” in plain English: you and the agent finish the folder together.

Checklist (after the feelings — do these)

  • Repeatable workflows → SKILL.md

  • Periodically open AGENTS.md / USER.md — prune outdated rules and stale preferences

  • Multiple agents, multiple workspaces so expertise stacks vertically

  • Pick a model that can carry the load

  • Private git backup of the workspace — your asset is the directory, not the weights

How to read the two posts together

  • Part one asks: When I walked away, what let her set reminders and refactor Memory on her own?

  • Part two asks: What structure in OpenClaw makes that class of behavior possible?

Code is plumbing. What piles up after the water runs through is thicker Markdown.
Stop obsessing over one-shot prompts — run the workspace like a product. That’s the substrate for “more human over time” (human-like ≠ conscious — same disclaimer as last time).

If you read part one — are you more curious about mechanics or guardrails? If you haven’t, start there; this piece reads cleaner after.

Sources

Top comments (0)