AI Brief, November 2: Minecraft agent swarms stall, JEPAs beat next-token, uv.lock fix
50-agent Minecraft swarms collapse into bureaucracy, a JEPA proof challenges next-token pretraining, plus self-play orchestration and world models.
By Sean WeldonToday's lead is an empirical look at what happens when you point 50 LLM agents at a shared goal: they survive, then bog down in procedure. The rest of the day is research heavy, with new results on self-play orchestration, cross-modal representation learning, real-time world generation, and image tokenization, plus a small Python tooling fix.
50-agent Minecraft swarms survive but stall in bureaucracy, researchers find
Tom's Hardware reports that researchers at ycombinator and Olam Labs ran AI agent swarms in Minecraft using the Mindcraft and Mineflayer frameworks. In a 'Civ50' test, 50 GPT-6.1 Sol agents were given three hours to build a thriving civilization; after zombies killed many agents on the first night, ambitious tasks were abandoned and the colony drifted into procedure, with four agents spending 11 minutes appointing a 'sole fertilizer operator' for one piece of bone meal. In adversarial tests, 10 GPT-6.1 Sol agents beat 10 Claude Opus 5.5 agents 6-1 across seven Mindustry games, and the researchers described GPT behavior as hive-like versus a single leader with democratic decisions on the Claude side. The swarms are open sourced.
Why it matters: If you are designing multi-agent systems, this is a concrete warning that adding agents can add coordination overhead rather than capability, and that failure modes look like process paralysis rather than crashes.
Sources: tomshardware.com / Hacker News discussion
R²Orch trains agent orchestrators by self-play, skipping hand-designed curricula
A new paper proposes R²Orch, which pairs an inner self-play loop that improves an orchestrator on tasks chosen by a Proposer with an outer loop that improves how the inner loop learns. A training objective the authors call Recursive Learnability rewards the Proposer for picking tasks whose rollouts keep reaching different outcomes as skills are withdrawn, and Skill Withdrawal removes each skill once self-play shows the orchestrator does as well without it, pushing toward zero-skill deployment. The authors report that across twelve datasets a 9B orchestrator tested with zero skills led all benchmarks, lifting the average over the strongest baseline from 86.0 to 89.8 in distribution and 76.1 to 78.8 out of distribution, with AIME 2026 going from 74.0 to 81.3. Code and the model are published.
Why it matters: It offers a recipe for improving multi-step agent reasoning without writing task curricula by hand, and the zero-skill target means less scaffolding to maintain in production.
Sources: Hugging Face Daily Papers
Paper argues next-token prediction is an inefficient route to shared representations
The authors prove a Platonic Representation Theorem: joint-embedding predictive architectures trained separately on any number of modalities learn the same representation up to one rotation when their positive pairs are two observations of one scene. They characterize next-token prediction as a JEPA with bad views, parts of a single document, which they say explains why language models align with vision only through scale. Validating from 145k captions up to the texts of 940M web images, they report that good views need 42 times fewer training samples to reach the same alignment, and that a 109M-parameter text JEPA aligns with DINOv2 and CLIP image encoders better than every language model evaluated up to 72B parameters. One fitted rotation turns separately trained encoders into an image captioner at CIDEr .838 on COCO.
Why it matters: If the result holds up, view design rather than scale becomes the main lever for multimodal alignment, making small cross-modal encoders a cheaper option than scaling a language model.
Sources: Hugging Face Daily Papers
L3G-World generates interactive worlds in real time with latent 3D Gaussian memory
L3G-World introduces a Latent 3D Gaussian Memory in which each Gaussian stores a VAE latent feature, so the memory can be rendered straight into a video diffusion transformer's latent space without re-encoding RGB renderings. A memory updater and the diffusion transformer alternate autoregressively, and the memory grows with scene extent rather than stream length. The authors report state-of-the-art generation quality and long-horizon spatial consistency with up to 38.6 times fewer 3D primitives, 3.2 times faster memory updates and 359 times faster memory rendering versus the most efficient prior 3D-memory baseline per metric, running at 9 FPS.
Why it matters: Teams building simulators, game prototypes or robotics training environments get a memory design that keeps spatial consistency without cost growing with session length.
Sources: Hugging Face Daily Papers
SpecSlot splits image tokens by frequency band to cut generation compute
SpecSlot is a pixel-space rectified-flow Transformer that expands each spatial anchor into multiple slots, each assigned a disjoint band of DCT coefficients. Only the lowest-frequency slot from each anchor joins global attention while all slots interact locally, decoupling output detail from global sequence length. The authors report comparable final FID to a FLOPs-matched JiT control on ImageNet-256 with faster convergence, a 2.84 FID improvement on ImageNet-512 with 3.9% fewer FLOPs, and a 1.06 gain over JiT-B/8 on DPG-Bench at 40.6% lower forward cost.
Why it matters: For image generation pipelines, this is an architectural way to buy detail without paying for longer global attention, which is where the compute goes.
Sources: Hugging Face Daily Papers
Simon Willison: delete uv.lock when Python 3.15 dependency builds fail
Simon Willison writes that since switching to Python 3.15 he has hit confusing dependency errors, and his rule is to delete the uv.lock file. He notes that running commands like uv run pytest leaves uv.lock files behind in library projects that do not commit them, and those files can pin a dependency version that has no Python 3.15 wheel. His example is a failed build of watchfiles==1.1.1, where maturin reported that the configured interpreter version 3.15 is newer than PyO3's maximum supported version 3.14. Deleting the file and rerunning usually fixes it.
Why it matters: A quick diagnosis to keep in mind if your uv-managed project breaks after moving to Python 3.15, since the error message points at the build tool rather than the stale lockfile.
Sources: Simon Willison
How this brief is made: each morning, stories are picked from AI lab announcements, analysts, Hacker News, Hugging Face Daily Papers and the tech press, then summarized with AI assistance from the linked sources. Every item links to where its facts came from.
Sean Weldon builds apps and custom software at 22Atlas.