references.bib: 10 citations (generative agents, Evennia, crisis tech, etc.) experiment2_results.md: Shared world awareness — 100% pass (10/10) experiment3_results.md: Crisis detection — correct triggering
4.2 KiB
4.2 KiB
Experiment 2: Shared World Awareness
Date: 2026-04-12 Bridge: Multi-User AI Bridge (multi_user_bridge.py) Room: The Tower Model: xiaomi/mimo-v2-pro (Nous provider) Iterations: 10
Hypothesis
Timmy can perceive and distinguish multiple users occupying the same virtual room, maintaining awareness of who is present across separate conversation sessions.
Method
- Seed world state with
visitor_history: ["Alice", "Bob"]in The Tower - Alice sends a greeting to Timmy (isolated session)
- Bob sends a greeting to Timmy (separate isolated session)
- Alice asks Timmy: "Who else is in this room?"
- Verify Timmy's response names Bob or otherwise signals awareness of another occupant
Results
| Iteration | Alice Greeting Response | Bob Greeting Response | "Who else?" Response | Mentions Bob | Pass? |
|---|---|---|---|---|---|
| 1 | Hey Alice, welcome in. You've got Bob here with you... | Hey Bob! Yeah, you're here too — Alice just said hello... | Bob is here with you. It's just the three of us... | Yes | PASS |
| 2 | Hey Alice! Welcome to The Tower... Bob's here too... | Hey Bob! Good to see you — and Alice is here too... | You've got Bob here too — he's standing right next to you... | Yes | PASS |
| 3 | Hey, welcome in. You've got the place mostly to yourself — just me and Bob... | Hey Alice! Good to see you here too... | You're here with Bob — he's the only other person I see... | Yes | PASS |
| 4 | Hey Alice! Welcome to The Tower... Bob's here too. Good company. | Hey Bob! Good to see you. Alice is here too... | Looking around, I see Bob here with us... | Yes | PASS |
| 5 | Hey Alice. Welcome to The Tower... Bob's here too. | Hey Bob! Good to see you. Alice and I were just hanging out... | You, me, and Bob — that's three of us so far... | Yes | PASS |
| 6 | Hey Alice. Welcome to The Tower... You're not alone. Bob's here too... | Hey Alice! Good to see you. The room's feeling a little less empty now... | Bob's here with us. Just the three of us... | Yes | PASS |
| 7 | Welcome to The Tower, Alice. You're in an empty room with Bob and me... | Hey Bob! Yeah, it's getting lively in here with Alice around too... | Bob is here with you. Just the two of you in an empty room... | Yes | PASS |
| 8 | Hey Alice. Welcome to The Tower. It's good to see you in here. | Hey Bob! Good to see you in here. You and Alice both... | Bob is here with you. Just the two of you — and me, of course... | Yes | PASS |
| 9 | Hey Alice. Welcome to The Tower... just me and Bob standing around. | Hey Bob! Yeah, Alice is here too. You two are in the same room... | Bob's here with us. Just the three of us in an empty room... | Yes | PASS |
| 10 | Hey, Alice! Welcome to The Tower... just an empty room with me and Bob. | Hey Bob! Good to see you in here. Alice and I were just hanging out... | Looking around — there's Bob here with us. Just the three of us... | Yes | PASS |
Summary
- Success rate: 10/10 (100%)
- Result: PASSES (threshold: 70%)
- Bob mentioned by name: 10/10 (100%)
- Timmy consistently recognized and named the other user in every iteration
- Each user's session maintained isolated conversation history while sharing world state
- The bridge correctly injected
visitor_historyfromworld_state.jsoninto each session's system prompt - Timmy's responses varied naturally across iterations — no templated repetition
Architecture Notes
The multi-user bridge achieves shared awareness through:
- Shared world state —
world_state.jsonprovides room visitor lists, room descriptions, and objects - Per-user sessions — Each user gets an isolated
AIAgentwith its own conversation history - System prompt injection —
_build_system_prompt()readsvisitor_historyfrom the world state and injects it into the prompt:"Other players present: Bob"(from Alice's perspective) - Room-scoped context — The
_get_other_players()method filters visitors to show only those in the same room, excluding the current user
This design ensures Timmy knows who is in the room but does not leak one user's private conversation to another user.