{"slug": "100-llm-agents-running-a-town-economy-for-26-weeks-what-breaks-when-agents-set", "title": "100 LLM Agents Running a Town Economy for 26 Weeks: What Breaks When Agents Set Prices and Earn Wages", "summary": "A team ran 100 memory-equipped LLM agents in a closed economy simulation on real Pokhara Lakeside geography for 26 simulated weeks, with agents autonomously earning wages, running businesses, and setting prices. Across 91 validated runs covering 2.44M agent decisions and 21.5B tokens, monetary transmission broke down: a 12x tourist demand shock raised business revenue 4.62x (p<0.001) but 99.7% of items were never repriced and 96.7% of cash was hoarded. Swapping the backing LLM changed every measured outcome (p=0.0039), while deleting agents' memory changed none detectably.", "body_md": "A team placed 100 memory-equipped LLM agents in a closed economy simulation on real Pokhara Lakeside geography and ran it for 26 simulated weeks. The agents earned wages, ran businesses, and set prices autonomously. Across 91 validated runs (2.44M agent decisions, 21.5B tokens), the money stopped moving in a specific, measurable way.\n\nThis is the first published multi-agent economic simulation that runs beyond 1-2 weeks into 26-week territory. It exposes coordination, state management, and failure modes invisible in shorter runs.\n\nMost agent simulations run for a few days or weeks. This one needed to maintain:\n\nThe simulation used real geography (Pokhara Lakeside) with spatial constraints. Agents moved between locations, interacted with businesses, and made economic decisions based on memory and current state.\n\nThe money stopped moving. A 12x tourist demand shock raised business revenue 4.62x (p<0.001), decomposed exactly into:\n\nMonetary transmission stopped there:\n\nA randomized cash transfer (NPR 5,000 to 20 of 100 agents) showed the same pattern from the opposite direction:\n\nThe wealth distribution was near-frozen at the 2-week horizon typical of agent-society studies (ρ=0.964). But not frozen. ρ fell to 0.832 at 12 weeks and 0.752 at 26 weeks. This horizon-dependence is invisible in short runs.\n\nThe simulation ran on a multi-agent orchestration layer with these components:\n\n**Agent Memory Architecture**\n\nEach agent maintained:\n\n**State Persistence**\n\nThe system used two validation layers:\n\nEvery headline number was verified twice. The full run corpus is released for reanalysis.\n\n**Orchestration Flow**\n\n``` python\n# Simplified orchestration pulse\ndef simulation_pulse(agents, environment, pulse_id):\n    # 1. Spatial resolution\n    locations = resolve_agent_locations(agents, environment)\n\n    # 2. Economic decisions (parallel)\n    decisions = []\n    for agent in agents:\n        context = build_agent_context(agent, locations, pulse_id)\n        decision = agent.llm_call(context)  # Tool calls for wage, price, purchase\n        decisions.append(decision)\n\n    # 3. Transaction settlement\n    transactions = settle_transactions(decisions)\n\n    # 4. Monetary conservation check\n    assert sum(t.amount for t in transactions) == 0\n\n    # 5. State update\n    for agent in agents:\n        agent.update_state(transactions, pulse_id)\n\n    # 6. Observability\n    log_metrics(agents, transactions, pulse_id)\n\n    return transactions\n```\n\n**Tool Calls**\n\nAgents had access to:\n\nEconomic tools succeeded ~96% of the time across two model families. Social tools failed 94-97% of the time, with no measurable shift away from them despite repeated failures.\n\n| Failure Mode | Detection Method | Frequency | Impact | \n|---|---|---|---|\n| Price rigidity | Menu repricing rate | 99.7% items never repriced | Monetary transmission stops | \n| Wage stickiness | Wage change distribution | 1.03x movement (p=0.42) | Revenue shock doesn't propagate | \n| Hoarding | Cash velocity, MPC | 96.7% cash held | Demand shock doesn't clear | \n| Social tool failure | Tool call success rate | 94-97% failure | Agents don't coordinate | \n| Wealth freeze | Spearman ρ over time | ρ=0.964 at 2 weeks, 0.752 at 26 | Short runs miss long-term dynamics | \n\n**Observability Primitives**\n\nThe team tracked:\n\nThese metrics surfaced the economic deadlock before the simulation diverged.\n\nSwapping the backing LLM moved every outcome measured (p=0.0039). Deleting agents' memory moved none of them detectably.\n\nThis is counterintuitive. Memory was expected to matter. It didn't. The model family mattered more.\n\nThe team tested two model families:\n\nBoth showed the same price rigidity and wage stickiness patterns, but at different magnitudes. The economic deadlock was model-invariant.\n\n| Approach | Pros | Cons | Used Here | \n|---|---|---|---|\n| Central ledger lock | Strong consistency, no double-spend | Serialization bottleneck, single point of failure | No | \n| Optimistic concurrency | High throughput, parallel execution | Requires rollback, complex conflict resolution | No | \n| Event sourcing + validation | Auditability, replayability | Storage overhead, validation latency | Yes | \n| Distributed ledger | Decentralized, tamper-proof | High latency, coordination overhead | No | \n\nThe team chose event sourcing with dual validation (live + offline). This provided auditability and caught monetary conservation violations without serializing all transactions.\n\nThe simulation enforced:\n\nNo agent could:\n\nThe simulation ran on:\n\n**Resource Consumption**\n\nToken costs dominated. At $0.01/1K tokens (GPT-4 class pricing), each 26-week run cost ~$2,150 in LLM API calls.\n\n**Token Budget Exhaustion**\n\nLong-running simulations hit token budget limits. The team had to:\n\n**Economic Deadlock**\n\nWhen agents set prices too high and wages too low, the market stops clearing. Detection requires:\n\n**State Divergence**\n\nAgent state can diverge from ground truth due to:\n\nThe dual validation layer caught these, but at the cost of 2x compute overhead.\n\n**Model Drift**\n\nLLM API updates can change agent behavior mid-simulation. The team:\n\n**Use this approach when:**\n\n**Avoid this approach when:**\n\nThe key insight: memory didn't matter, but model choice did. Price rigidity and wage stickiness are model-invariant patterns. If you're building multi-agent economic simulations, test across model families early. The economic deadlock will surface regardless of memory architecture.", "url": "https://wpnews.pro/news/100-llm-agents-running-a-town-economy-for-26-weeks-what-breaks-when-agents-set", "canonical_source": "https://dev.to/mech_app_ai/100-llm-agents-running-a-town-economy-for-26-weeks-what-breaks-when-agents-set-prices-and-earn-590k", "published_at": "2026-09-11 10:05:37+00:00", "updated_at": "2026-09-11 10:33:26.929105+00:00", "lang": "en", "topics": ["ai-agents", "large-language-models", "ai-research", "artificial-intelligence"], "entities": ["Pokhara Lakeside"], "alternates": {"html": "https://wpnews.pro/news/100-llm-agents-running-a-town-economy-for-26-weeks-what-breaks-when-agents-set", "markdown": "https://wpnews.pro/news/100-llm-agents-running-a-town-economy-for-26-weeks-what-breaks-when-agents-set.md", "text": "https://wpnews.pro/news/100-llm-agents-running-a-town-economy-for-26-weeks-what-breaks-when-agents-set.txt", "jsonld": "https://wpnews.pro/news/100-llm-agents-running-a-town-economy-for-26-weeks-what-breaks-when-agents-set.jsonld"}}