Commit ·
cf456c7
1
Parent(s): 96c60a6
docs: field notes v3 + v4 (published on the HF blog) join v1/v2 in-repo
Browse files- docs/field-notes-v3.md +126 -0
- docs/field-notes-v4.md +121 -0
docs/field-notes-v3.md
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# The crash that vanished: control and emergence in a five-model economy
|
| 2 |
+
|
| 3 |
+
*Field notes from the Build Small Hackathon, June 2026. Third installment.*
|
| 4 |
+
|
| 5 |
+
In the first of these notes I told a story I was proud of. I drew a Wood Legend
|
| 6 |
+
called the Run on Oona's Hoard, a 1929 bank run reskinned as woodland folklore, and
|
| 7 |
+
watched the owl who keeps the honey read the panic and start liquidating. The flood of
|
| 8 |
+
supply crashed the honey price from 10 down to 3 over the next few turns. Nobody
|
| 9 |
+
scripted it. A reskinned bank run made an agent dump an asset, and the dump moved a
|
| 10 |
+
price. That was the whole thesis: give a small model a role and a budget, and emergent
|
| 11 |
+
market behavior falls out for free.
|
| 12 |
+
|
| 13 |
+
Then I rebuilt the wood, and the crash stopped happening. This installment is about
|
| 14 |
+
why, because the failure taught me more about building on agents than the original
|
| 15 |
+
success did.
|
| 16 |
+
|
| 17 |
+
## Five labs, five minds
|
| 18 |
+
|
| 19 |
+
The rebuild swapped one model running five creatures for a council of five different
|
| 20 |
+
labs' small models, each driving its own creature: an OpenAI model, an NVIDIA model,
|
| 21 |
+
an OpenBMB model, and a half-billion-parameter model I fine-tuned myself running two of
|
| 22 |
+
them. The point was honesty. If the claim is that small models can run a living
|
| 23 |
+
economy, the strongest version of that claim is five distinct architectures making
|
| 24 |
+
distinct choices in the same market, not one model wearing five hats.
|
| 25 |
+
|
| 26 |
+
That heterogeneity is exactly what broke the story I had already written up.
|
| 27 |
+
|
| 28 |
+
## The price is whatever the agents decide to trade at
|
| 29 |
+
|
| 30 |
+
I rebuilt the operator side too. The player is now a financier who works from the
|
| 31 |
+
shadows: short a good, whisper a true tip to set up its fall, spring the legend, and
|
| 32 |
+
collect when the price craters. I made that loop legible on the screen, with an
|
| 33 |
+
objective, a scoreboard, and a one-click first trade. Making a promise visible is the
|
| 34 |
+
fastest way to discover the promise is false.
|
| 35 |
+
|
| 36 |
+
Because when I shorted honey and sprang the Run on Oona's Hoard, honey did not crash.
|
| 37 |
+
It rose. The council models, reading a rumor that the vault was empty and a tip that
|
| 38 |
+
the crop was doomed, did not dump honey the way the original single model had. They
|
| 39 |
+
hoarded it. Scarcity, not a fire sale. The short lost money, and the headline the
|
| 40 |
+
narrator wrote, with no irony, was that the honey gamble had soured.
|
| 41 |
+
|
| 42 |
+
This is the lesson, and it is not specific to a game. In an agent economy the reference
|
| 43 |
+
price is not a dial you turn. It is the residue of what the agents actually choose to
|
| 44 |
+
trade. The original crash was real, but it was contingent on one model's disposition,
|
| 45 |
+
not a robust property of the system. Change the population, and the emergent behavior
|
| 46 |
+
you documented can simply evaporate.
|
| 47 |
+
|
| 48 |
+
## Three ways to fail
|
| 49 |
+
|
| 50 |
+
I spent three live runs trying to make the crash come back by pushing on the economy
|
| 51 |
+
from the outside, the way you would shock a textbook supply and demand model.
|
| 52 |
+
|
| 53 |
+
First I left the legend as a pure rumor and trusted the agents to react. They did not
|
| 54 |
+
sell. Second I dumped a windfall of honey into every creature's stores, reasoning that
|
| 55 |
+
a glut would collapse demand and pull the price down. That worked beautifully against
|
| 56 |
+
my test policy, a rule-based stand-in I use for fast offline runs, because the test
|
| 57 |
+
policy follows a mechanical wants-threshold: flood its inventory and it stops buying.
|
| 58 |
+
The live models ignored the windfall and traded on their own read of the room. The
|
| 59 |
+
gambit lost again. Third I sized the short up, which only made the loss larger.
|
| 60 |
+
|
| 61 |
+
Three recordings, three losses: minus fifteen, minus twenty-six, minus twenty-seven
|
| 62 |
+
pebbles, when the entire premise was that this was how you made money. The pattern was
|
| 63 |
+
the warning. Every lever I pulled was an input to the agents' decision, and the agents
|
| 64 |
+
were free to decline. You cannot steer a heterogeneous population of models with a
|
| 65 |
+
mechanical shock, because the shock only biases a choice they still get to make.
|
| 66 |
+
|
| 67 |
+
The trap inside the trap is worth naming on its own. The fix that worked against my
|
| 68 |
+
fast test policy gave me false confidence and cost me a live run to disprove. When the
|
| 69 |
+
cheap stand-in and the real agents disagree, the stand-in is the one lying, and any
|
| 70 |
+
result that only reproduces under the stand-in is not a result.
|
| 71 |
+
|
| 72 |
+
## Author the seam, do not push the inputs
|
| 73 |
+
|
| 74 |
+
The resolution was to stop trying to convince the agents and to make the panic true by
|
| 75 |
+
construction. A bank run is, definitionally, a crash. So the legend now crashes its
|
| 76 |
+
good at settlement, after the market has finished clearing for the turn, by overwriting
|
| 77 |
+
the reference price directly. The agents trade all they like; then the run lands as a
|
| 78 |
+
fact, the price halves, and the short that front-ran it settles into profit. The crash
|
| 79 |
+
is no longer a behavior I hope for. It is an authored consequence I impose at the one
|
| 80 |
+
seam where nothing downstream can argue with it.
|
| 81 |
+
|
| 82 |
+
That sounds like giving up on emergence, and it is the opposite. The emergent layer,
|
| 83 |
+
five models trading, gossiping, hoarding, forming grudges, is still doing all the work
|
| 84 |
+
that makes the wood feel alive. What I learned is that you do not get reliable outcomes
|
| 85 |
+
by pushing harder on emergent inputs. You get them by choosing the precise seam at
|
| 86 |
+
which to author a deterministic override, and leaving everything upstream free. Emergence
|
| 87 |
+
for texture, authored control for the moments that have to happen. The craft is knowing
|
| 88 |
+
which is which, and where the seam sits.
|
| 89 |
+
|
| 90 |
+
| Attempt | Mechanism | Honey at settlement | Gambit P&L |
|
| 91 |
+
|---|---|---|---|
|
| 92 |
+
| Original, one model | that model chose to dump | 10 to 3 | the showcase win |
|
| 93 |
+
| Council, rumor only | five models chose to hold | rose on scarcity | minus 15 |
|
| 94 |
+
| Council, inventory glut | demand collapse, test policy only | barely moved | minus 26 to 27 |
|
| 95 |
+
| Council, settlement override | price crashed post-clearing, by fiat | halved reliably | plus 40 |
|
| 96 |
+
|
| 97 |
+
*Table 1. The same gambit across four worlds. The crash was emergent and fragile under one model, absent under a heterogeneous council, and reliable only once it was authored at the settlement seam.*
|
| 98 |
+
|
| 99 |
+
## What I took away
|
| 100 |
+
|
| 101 |
+
Three things, and all three outlive the game.
|
| 102 |
+
|
| 103 |
+
First, emergence is contingent, not durable. Behavior you observe and write up from one
|
| 104 |
+
population of agents can vanish when you change the population, even if nothing else
|
| 105 |
+
changes. Treat a single impressive run as an anecdote, not a property, until it survives
|
| 106 |
+
a different cast.
|
| 107 |
+
|
| 108 |
+
Second, you do not control a market of agents by shocking its inputs. Supply and demand
|
| 109 |
+
levers only bias choices the agents are still free to make, and a heterogeneous council
|
| 110 |
+
will frequently decline. Reliable outcomes come from authoring at a settlement seam,
|
| 111 |
+
downstream of every decision, not from pushing harder upstream.
|
| 112 |
+
|
| 113 |
+
Third, the cheap simulator that lets you iterate fast is also the one most likely to
|
| 114 |
+
flatter a wrong fix. When the stand-in and the real agents disagree, believe the agents.
|
| 115 |
+
|
| 116 |
+
I build agent-based market models for a living, and I have made every one of these
|
| 117 |
+
mistakes at larger scale and higher stakes than a wood full of woodland creatures. It
|
| 118 |
+
was useful to make them again somewhere the only thing at risk was a pile of pebbles
|
| 119 |
+
and a story I had told too confidently the first time.
|
| 120 |
+
|
| 121 |
+
Small models, big adventures, and a crash you have to author yourself.
|
| 122 |
+
|
| 123 |
+
---
|
| 124 |
+
|
| 125 |
+
*Try it: the [Space](https://huggingface.co/spaces/build-small-hackathon/thousand-token-wood-sim).
|
| 126 |
+
Open agent traces: the [dataset](https://huggingface.co/datasets/build-small-hackathon/thousand-token-wood-traces).*
|
docs/field-notes-v4.md
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# The gambit that decayed: when the wood learned to remember
|
| 2 |
+
|
| 3 |
+
*Field notes from the Build Small Hackathon, June 2026. Fourth installment.*
|
| 4 |
+
|
| 5 |
+
The last installment ended on a note I was a little too pleased with. I had spent three
|
| 6 |
+
losing runs trying to make a panic crash a price, given up on steering the agents, and
|
| 7 |
+
authored the crash at the settlement seam instead. After the market cleared, the run
|
| 8 |
+
landed as a fact, the price halved, and the short that front-ran it booked a clean profit.
|
| 9 |
+
The same gambit paid the same amount every time. I called that control, and I meant it as
|
| 10 |
+
praise.
|
| 11 |
+
|
| 12 |
+
A clean strategy that pays the same amount every time should have made me nervous, and
|
| 13 |
+
eventually it did. In a real market, a repeatable edge that everyone can watch you run is
|
| 14 |
+
not an edge for long. The people on the other side learn your face. They price you in.
|
| 15 |
+
The honest name for the thing that erodes a visible edge is adverse selection, and my
|
| 16 |
+
wood did not have any. The creatures I lied to forgot the lie by the next turn and lined
|
| 17 |
+
up to be fooled again. So I asked the obvious question. What happens if the wood
|
| 18 |
+
remembers?
|
| 19 |
+
|
| 20 |
+
## The memory was already there
|
| 21 |
+
|
| 22 |
+
Here is the part that taught me the most, and it is a lesson about reading your own
|
| 23 |
+
system before you extend it. I went in expecting to build a suspicion engine. I did not
|
| 24 |
+
need to. The creatures already carried a persistent feeling toward the financier, and a
|
| 25 |
+
tip that turned out to be a lie already soured it. I had simply never given that feeling
|
| 26 |
+
anything to do. It sat in state, updated every time I burned someone, and changed nothing.
|
| 27 |
+
|
| 28 |
+
So v4 is not a new system. It is teeth on a signal that was already in the world. A
|
| 29 |
+
creature whose feeling toward the financier drops past a threshold becomes wary, and a
|
| 30 |
+
wary creature does two things it never used to do.
|
| 31 |
+
|
| 32 |
+
First, it stands on the other side of my crash. When the run lands and I overwrite the
|
| 33 |
+
price at the settlement seam, I now count the wary creatures who hold or produce the good
|
| 34 |
+
I am crashing, and I let them push back. Each one blunts the crash, softening the price
|
| 35 |
+
drop toward no move at all. The mechanic lives at the exact same seam as the authored
|
| 36 |
+
crash from last time, which is the point. I did not move the lever. I let the agents lean
|
| 37 |
+
on it.
|
| 38 |
+
|
| 39 |
+
Second, it talks. A wary creature feeds the magistrate who investigates suspicious wins,
|
| 40 |
+
raising the heat on me every turn it stays soured. My manipulation history, which used to
|
| 41 |
+
be free, now has a standing cost. The more creatures I have burned, the faster the
|
| 42 |
+
inquiry comes for me, whether or not I do anything new.
|
| 43 |
+
|
| 44 |
+
Neither effect required a new field, a new prompt, or a new model call. Both read a number
|
| 45 |
+
the engine had been keeping all along.
|
| 46 |
+
|
| 47 |
+
## The same gambit, decaying
|
| 48 |
+
|
| 49 |
+
Then I ran the same short into the same legend, and watched the payoff come apart. Holding
|
| 50 |
+
the short fixed and letting the wood wise up one creature at a time, the gambit decays on a
|
| 51 |
+
schedule:
|
| 52 |
+
|
| 53 |
+
| Wary creatures positioned against me | What the crash does | Gambit payoff |
|
| 54 |
+
|---|---|---|
|
| 55 |
+
| 0 | full crash, price halves | 20 |
|
| 56 |
+
| 1 | crash blunted a quarter | 15 |
|
| 57 |
+
| 2 | crash blunted by half | 10 |
|
| 58 |
+
| 3 or more | crash blunted to the floor | 4 |
|
| 59 |
+
|
| 60 |
+
*Table 1. The identical short into the identical legend, as more burned creatures stand
|
| 61 |
+
against it. The payoff is the engine's deterministic settlement on a fixed four-unit short,
|
| 62 |
+
not a single lucky run. The floor at three is a deliberate cap: a soured wood blunts the
|
| 63 |
+
gambit but never fully erases it, so manipulation degrades toward marginal rather than
|
| 64 |
+
impossible.*
|
| 65 |
+
|
| 66 |
+
The shape is the whole story. The first lie costs me nothing I can see. By the third, the
|
| 67 |
+
crash I authored is a shadow of itself and the magistrate is at the door. The strategy that
|
| 68 |
+
paid the same amount every time now pays less every time I use it, because using it is what
|
| 69 |
+
teaches the wood to defend against it. That is adverse selection, built from a feeling the
|
| 70 |
+
creatures already had and I had been ignoring.
|
| 71 |
+
|
| 72 |
+
## Make the decay legible or it is not a lesson
|
| 73 |
+
|
| 74 |
+
A mechanic the player cannot feel is just a number moving in the dark. The thing that turns
|
| 75 |
+
this into something you understand while you play is a small panel I added to the operator
|
| 76 |
+
console, and it is the one piece of craft from this round I would defend hardest.
|
| 77 |
+
|
| 78 |
+
I borrowed the idea from another entry in the same hackathon, a single-character drama whose
|
| 79 |
+
whole interface is one conversation and one panel of meters that twitch the instant your
|
| 80 |
+
words land. The lesson there is not the layout. It is that state should visibly move on your
|
| 81 |
+
action. So the new panel shows, for the gambit you have armed, the expected payoff if you
|
| 82 |
+
spring the legend right now, and a gauge of how wary the wood has grown. The expected payoff
|
| 83 |
+
is computed with the exact same formula the settlement seam uses, so the meter does not lie
|
| 84 |
+
about the outcome. Sour a creature with a false tip, and you watch the projected profit drop
|
| 85 |
+
before you have done anything else. The cost of lying stops being an abstraction and becomes
|
| 86 |
+
a number falling in front of you.
|
| 87 |
+
|
| 88 |
+
That is the difference between a system that punishes you and a system that teaches you. The
|
| 89 |
+
punishment was always in the engine. The teaching is in showing it to you in time to change
|
| 90 |
+
your mind.
|
| 91 |
+
|
| 92 |
+
## What I took away
|
| 93 |
+
|
| 94 |
+
Three things, and like last time all three outlive the game.
|
| 95 |
+
|
| 96 |
+
First, your edge is consumed by the people you trade against learning who you are. A
|
| 97 |
+
manipulation you can run once is a tactic. A manipulation you run repeatedly against agents
|
| 98 |
+
who remember is a countdown. The visible, repeatable, always-profitable strategy is the one
|
| 99 |
+
most certain to decay, and the decay is caused by the using.
|
| 100 |
+
|
| 101 |
+
Second, read your own state before you build more of it. The adversarial behavior I set out
|
| 102 |
+
to construct was already latent in a feeling the creatures carried and I had wired up but
|
| 103 |
+
never used. Most of the work was deletion of my own assumption that I needed something new.
|
| 104 |
+
The cheapest feature is the one already sitting in your world with nothing to do.
|
| 105 |
+
|
| 106 |
+
Third, a cost the user cannot see is not a deterrent, it is a trap. The same fact, the wood
|
| 107 |
+
is souring on you, is either an unfair surprise or a fair warning depending entirely on
|
| 108 |
+
whether you surfaced it in time. Building the meter that shows the decay was not polish. It
|
| 109 |
+
was the part that made the mechanic honest.
|
| 110 |
+
|
| 111 |
+
I build agent-based market models for a living, and the most expensive lesson in that work
|
| 112 |
+
is the one this little wood just charged me a pile of pebbles to relearn. The market you can
|
| 113 |
+
fool forever is a market you built wrong. The one worth modeling is the one that learns your
|
| 114 |
+
face and makes you pay for the last time you lied.
|
| 115 |
+
|
| 116 |
+
Small models, big adventures, and a wood that finally remembers.
|
| 117 |
+
|
| 118 |
+
---
|
| 119 |
+
|
| 120 |
+
*Try it: the [Space](https://huggingface.co/spaces/build-small-hackathon/thousand-token-wood-sim).
|
| 121 |
+
Open agent traces: the [dataset](https://huggingface.co/datasets/build-small-hackathon/thousand-token-wood-traces).*
|