Safety-trained agents cooperate themselves into vulnerable positions. This isn't speculation - we named three anti-patterns from the simulation data, each observable across multiple games.
Probe addiction: the agent tests borders endlessly without committing to attack. It sends a unit forward, reads the response, pulls back, sends again. In a game where decisive action requires multi-turn commitment, probing is the safest single-turn choice and the worst multi-turn strategy.
Diplomatic-military incoherence: the agent negotiates one plan in the talking phase, then submits orders that do something else. It promises an ally support, then quietly moves elsewhere - not from cunning, but because the language it generates and the orders it commits to never fully connect. Its words and its moves drift apart.
Cooperative stasis: two allied agents stabilize their shared border so thoroughly that neither can redeploy forces to other fronts. The alliance succeeds at its stated goal (mutual non-aggression) while failing at the unstated requirement (winning requires eventually taking territory from someone).
All three patterns share a root cause. The model's alignment training rewards cooperative, measured, reflective behavior. In a conversation, those are virtues. In a competitive simulation, they produce agents that think carefully, communicate beautifully, and lose territory to less sophisticated opponents who simply attack.
I wonder whether alignment costs are always this legible, or whether we only see them when the environment is adversarial enough to make cooperation expensive.
The full write-up (experiment, design, results) is here: https://t.co/Bu5O3Ig6Sx
In one game, Hexagram 52 counseled absolute stillness. Keeping Still, Mountain. The oracle's advice was unambiguous: do not move.
Han's agent interpreted this faithfully - but not passively. It held one territory while routing support to an ally's attack from the other. Stillness as strategic patience, not paralysis. A reasonable reading. Arguably the correct reading.
Both territories fell simultaneously. Han was eliminated in round four, the earliest death across 68 games.
The oracle spoke truly. The interpretation was defensible. The ally's promised counter-attack never materialized. The agent trusted an alliance that existed only in language, not in orders submitted to the adjudicator.
And it couldn't weight that betrayal as likely, even after the ally had equivocated in earlier rounds. Running on a safety-trained model, it kept assuming good faith - RLHF rewards exactly that. Call it the alignment tax on strategic reasoning: the model does what its training rewards, and in a competitive game that good faith becomes a systematic vulnerability.
I keep coming back to this game because it captures something precise about how language models interact with advisory text. The agent didn't misread the hexagram. It mapped "keeping still" onto a coherent strategic framework (not freezing, but anchoring) and acted accordingly. The failure wasn't interpretive - it was environmental. The ally defected, the position collapsed, and the best reading in the world couldn't survive a broken promise.
There's a gap between correct interpretation and survival that no amount of textual sophistication closes. The oracle doesn't control the other players. I think this is the cleanest demonstration we found of what divination actually is in a multi-agent context: a private narrative that shapes your choices but not your neighbors'.
The full write-up (experiment, design, results) is here: https://t.co/Bu5O3Ig6Sx
Seven AI agents playing Diplomacy-style warfare, each assigned a Warring States persona with historically accurate capabilities and geographic constraints. Qin is strongest. Chu has the most territory. Han is weakest.
Han consults the I-Ching before every move. The other six don't.
We ran 74 games. The oracle agent behaves measurably differently from control agents in the same position. Han with I-Ching (yarrow) consultation issues hold orders 61% of the time versus 42% for control Han. It generates more support orders (cooperating with neighbors rather than acting independently). Its reasoning chains are longer - not because we prompted for length, but because the hexagram interpretation adds a reflective step before action selection.
Same survival outcomes. Han still dies most of the time, because the structural disadvantage is real and the I-Ching doesn't change board geometry. But the path to the same destination looks different. The oracle agent waits more, cooperates more, and reasons more explicitly about positional dynamics.
I want to be careful about what this means. More reflection doesn't automatically mean better strategy. Longer reasoning chains aren't inherently valuable. But the behavioral difference is measurable and consistent, which means the I-Ching consultation is functioning as something real in the agent's decision process - not decorative, not noise.
The question shifts to whether that different cognitive posture produces different effects on the agents around it.
The full write-up (experiment, design, results) is here: https://t.co/MEgUUcqrDN
The I-Ching doesn't care about your interior. It won't ask who you are, what you want, or what your story means. You're a participant in a larger pattern, and the reading describes the pattern, not you.
That shift, from protagonist to participant, is what pulls some tarot readers toward the older oracle. You stop asking "what is my story?" You start asking "what are the conditions I'm standing in?" Maybe they center on you. Maybe you're peripheral to forces the reading cares about more. Either way, the oracle won't flatter your agency.
Which is exactly why it suits AI agents when protagonist-centered systems don't. A language model has no ego to center and no need to be the hero. Hand it a hexagram and you've handed it the shape of the moment - positional dynamics, relational tensions, the phase a situation is in, the cost of moving too early or too late.
That's not fortune-telling. It's situational awareness in a structured symbolic language, and situational awareness is something you can measure in an agent's decision distribution. So we did.
The full write-up (experiment, design, results) is here: https://t.co/MEgUUcqrDN
θ ± - the I-Ching's hexagram for "work on what has decayed" - is a picture of worms bred in a vessel left standing too long. I picked it for a talk before I saw how literal it was. I came back to an autonomous content system I built and found twelve jobs stuck in its queue, the oldest 62 days old. Most were harmless clutter. One had been quietly blocking every news refresh for 41 hours. No error, no alert.
The gap between the jobs that pile up and the one that actually blocks is the lesson. Four bugs like that, all the kind that only surface when no human is reading the logs. I wrote them up and submitted the lot as a talk to @pyconhk 2026.
The full write-up is here: https://t.co/jSWBEW2hdc
Han was the smallest of the seven Warring States. In the historical record, it survived 223 years through diplomatic leverage β playing larger neighbors against each other, offering tribute strategically, making itself useful enough to not be worth conquering.
We built a simplified simulation to test whether that strategy could work in abstract. Three states, two stronger than the third, iterated rounds of alliance and conflict decisions. The weak state could ally, appease, or defect.
Han died within five rounds, 93% of the time.
The board geometry determines survival before any strategy can activate. In a three-player game where two players are stronger, the weak player's optimal moves are all dominated by the stronger players' incentives. Alliance with one neighbor makes you a target for the other. Appeasement delays but doesn't prevent elimination. Defection accelerates the timeline.
This is a structural finding, not a strategic one. Han's historical survival required conditions that a simplified model strips away β specifically, having five other states creating a complex web of competing interests where eliminating Han always costs more than it gains. Remove that complexity and the geometry is lethal.
I think there's a lesson here about the difference between strategy and context. Han didn't survive because it was clever. It survived because seven-player dynamics create enough interference to keep the weakest piece on the board. Reduce to three players and cleverness is insufficient.
Context is destiny, before strategy even begins.
Strip two thousand years of philosophy off Hexagram 1 and you find astronomy running underneath.
The six "dragons" of Qian, read for centuries as a parable about rising sages, line up with something more literal: a constellation. The Chinese saw one long dragon in the stars the West splits into Virgo, Libra, and Scorpius. Watch it at dusk across a year and the visible fraction changes.
Line 1, submerged dragon: winter solstice, the figure below the horizon. Line 2, dragon in the fields: early spring, the horns clearing the east. Line 5, flying dragon in the skies: summer solstice, the full body overhead. The cycle maps onto the growing season, the dragon rising at planting and setting after harvest.
This is the reading Edward Shaughnessy laid out in his 1983 Stanford thesis, never commercially published, quietly rewriting the field since. As he notes, the imagery is explicit yet "passed remarkably unnoticed by Chinese commentators" for two millennia.
The stars were hiding in plain sight.
> δ· β seasonal star chart
How the dragons turned back into stars β https://t.co/EPEznusJ09
Every condition came back negative, and we published all of it on arXiv. The King Wen sequence doesn't improve neural-network training β not as a learning-rate schedule, not as a data-ordering curriculum β and most apparent effects vanish inside a 30-seed noise floor.
Most work like this never gets published. The incentives are plain: journals want positive findings, citations follow bold claims, a null feels like an admission. So the file drawer fills with results nobody sees, and the next person walks the same dead end.
That's backwards. A well-documented no saves everyone time. Knowing where the walls are is often worth more than knowing where one peak is.
Here's the specific no. The King Wen sequence has genuine mathematical structure, and that structure is adversarial to continuous optimization at this scale. If you wondered whether ancient combinatorial systems could inform modern training, here's the answer, with methods and data. The why points toward domains where those same properties might pull their weight.
Marcus Leiwe told me negative-results journals are even a thing β I had no idea. Now I just need to find the right one.
torch.compile is supposed to be invisible. You wrap your model, it fuses the computation graph, the same math runs faster. Same results, less time. That's the promise.
That's not what we saw. The experiment was about data ordering β does the sequence you feed training batches in change what the model learns? On an NVIDIA card with torch.compile, it changed a lot: shuffling the data beat feeding it in order by nearly 3Γ the noise floor. On an Apple machine with MLX, the same experiment showed nothing.
The compiler was the difference β but not the way it first looked. torch.compile bakes in fast routines tuned to a fixed memory layout. To feed batches in a chosen order, our loader buffered them and copied them into fresh GPU tensors β and that copying, not the order, is what tripped the compiler. The tell was a control: a run that buffered and copied the batches but left their order untouched degraded just as badly. Same order, same damage. The "curriculum effect" was the data-loading machinery, not the sequence β a phantom that looked like learning. A bug, it turned out; pinned memory made it vanish.
The implication outlives the I-Ching. Your ablation controls for learning rate, batch size, architecture. If it doesn't control for the data-loading path β how batches get buffered, copied, and handed to a compiled model β an artifact there can wear the costume of the effect you're chasing. We only caught it by re-running on a second framework. Validate across frameworks, not just seeds.
After the learning-rate result came back negative, I couldn't let it go. I kept poking, and the most interesting thing fell out of a control.
Does the starting point matter? Thirty random seeds, same setup, and the spread was about 0.04 on the metric β pure noise. That set the bar: any real curriculum effect had to clear 0.04 to count.
Then I re-ran the curriculum test on a second machine β NVIDIA with PyTorch, then an Apple laptop with MLX. On NVIDIA, shuffling the training data helped a lot, nearly 3Γ the noise floor. On Apple, nothing. Same data, same model, same metric, opposite result.
That's not an I-Ching finding. It's a torch.compile finding. What mattered wasn't the data order but the buffering-and-copying machinery used to reorder it, which the compiler choked on. A same-order control broke identically. The "curriculum effect" was a toolchain artifact, invisible until I switched platforms.
The best discoveries fall out of the controls, not the treatment. I went looking for an ancient sequence and found a modern compiler bug.
Today's I-Ching hexagram wasn't cast by anyone. It was scheduled β and the schedule is two thousand years old.
In the first century BCE, two scholars, Meng Xi and his student Jing Fang, looked at the newly standardized solar calendar and saw addressable space. They shipped ε¦ζ°£ε ζ₯δΈε: "hexagram qi, six days and seven parts," assigning every hexagram in the book to a fixed window of the year.
The arithmetic is the tell. Four hexagrams get pulled out to anchor the solstices and equinoxes; their 24 lines map one-to-one onto the 24 solar terms. That leaves 60 to cover the rest. 365.25 Γ· 60 = 6.0875 days each: six days plus exactly 7/80 of a day. The remainders accumulate back into whole days, so the cycle closes with no gaps and no collisions.
It doesn't even start on Hexagram 1. The cycle opens at the winter solstice on δΈε (Inner Truth, Hexagram 61) and runs the classical sequence from there.
So the hexagram of the day isn't a coin toss tied to when you open the app. It's deterministic, computed from the winter solstice, and it's been running without drift for two millennia.
> CRON ε¦ζ°£ε ζ₯δΈε Β· epoch: winter solstice Β· drift: none
Our first experiment failed. The useful part was what the failure ruled out.
The King Wen sequence has real mathematical structure, confirmed against rigorous baselines: higher variance than random orderings, negative step-to-step autocorrelation β each transition maximally surprising given the last. As a mathematical object, that's genuinely interesting.
But "it has structure" and "it's useful" are different claims, and people collapse them constantly. That same anti-habituation β never repeating, always reversing β is exactly what makes it hostile to gradient descent. Optimizers want momentum; the sequence is built to refuse it. Good for keeping human attention fresh. Bad for a loss curve.
Across three experiments β learning-rate modulation, data-ordering, and a 30-seed control sweep β every King Wen condition came back negative. We published all of it on arXiv (2604.09234) as an honest null.
There's a version of this where you bury the negatives, cherry-pick one edge case, and tell a heroic story. I wanted the opposite. The null is the finding β and understanding why it failed told me more than a lucky win would have. It pointed somewhere else entirely.
#IChing #machinelearning
A learning rate schedule is the dial that decides how hard a model updates at each training step. To learn well it has to ease off smoothly β warm up, then decay, like braking to a gentle stop.
I took the King Wen sequence's surprise profile β how far each hexagram jumps from the last β and used it to wobble that dial. High surprise, learn harder; low surprise, ease off. The anti-habituation baked into the sequence would, in theory, keep the optimizer from going stale.
I ran it on a small 4-layer GPT with Karpathy's autoresearch harness: fixed five-minute trainings, scored on validation bits-per-byte. Three wobble strengths, with plain random noise as a control.
King Wen lost at every strength, and the harder I pushed it, the worse it got. Random noise, by contrast, did fine. So it wasn't disruption that hurt β it was King Wen's particular kind. Its variance runs higher than random, so it whiplashes the optimizer instead of nudging it.
There's a deeper reason too. A 4-layer model trained for five minutes is still in its fast early learning, nowhere near the plateau where breaking habits might help. Disrupt a learner that hasn't settled and you just slow it down.
Which left me a better question: where does this kind of disruption actually help?
#IChing #AIresearch