spacy

16.8K posts

spacy banner
spacy

spacy

@dosco

LLM research, systems and compilers | ax + dspy in TS | agent engineering. https://t.co/sfb9LG5uSU https://t.co/CM4AQP5n1z https://t.co/ZdGcEh57Wh

Katılım Temmuz 2008
1.7K Takip Edilen5.3K Takipçiler
spacy
spacy@dosco·
@hammer_mt it’s built into the ax agent harness
English
1
0
1
2
Mike Taylor
Mike Taylor@hammer_mt·
@dosco Ah nice, hadn't caught this
Hoboken, NJ 🇺🇸 English
1
0
2
18
spacy
spacy@dosco·
DSPy, RLM, PEEK, GEPA is context engineering, you can compose, measure, eval and improve! keep in mind you have to divide a task so every piece lands in distribution aka small familiar canonical calls. weird bespoke sub-prompts don't generalize no matter how small they are. this is where DSPy signatures and optimizers like GEPA come in, they convert an infinite space in a handful of prompt shapes that's the equivalence class the model sees a template with different content. an optimizer cannot just search all possible prompts, signatures are what make the prompt space searchable at-all. when a composed program underperforms you can easily eval each component against its own metric to find the one that's off distribution.
alex zhang@a1zhang

Transformers struggle to generalize to tasks they were not explicitly trained on. Instead, we propose in 2026 that it is the job of the harness to generalize through composition. We observe a powerful property when training RLMs: for tasks with shared structure that look different, the root model naturally learns the same trajectory, meaning it views the two task trajectories as the same! In other words, the Transformer does not need additional generalization capabilities to transfer capabilities from one task to the other, the harness induces it. We find that well-designed harnesses form a quotient set over task trajectories, meaning their individual LLM calls can see structurally “similar” tasks as near-identical, token-for-token! Harnesses can effectively generalize for the Transformer during training, without relying on any intrinsic generalization capability from the model. For example, RLMs can see problems of different lengths as the same: we show that RLMs can train exclusively on short tasks, and fully generalize to similar but unseen tasks 8-32x longer because it produces near identical trajectories for both. Taking this further, we show that tasks across different domains (e.g. math solutions vs. essay writing) that share a decomposition strategy exhibit the same generalization effect. RLMs can train on the problem of finding which essays belong to the same author and improve performance on finding math problems that share similar solutions. The full blogpost, experiments, and discussion are in the thread below.

English
1
2
27
747
Mike Taylor
Mike Taylor@hammer_mt·
@dosco What's PEEK? haven't come across it in DSPy.
English
1
0
1
55
spacy
spacy@dosco·
i can just keep quote tweeting this all day, it formalizes my entire mental model around building agents or working with models for example GraphJin an RLM agent harness that can power entire organizations, all their data systems and code at the same time. "GraphJin" is a harness compiler: it turns heterogeneous company systems into one progressively discoverable, governed graph environment, allowing an RLM to reuse the same reasoning procedure across domains. GraphQL is the task-level IR of that environment. graphjin.com
alex zhang@a1zhang

Transformers struggle to generalize to tasks they were not explicitly trained on. Instead, we propose in 2026 that it is the job of the harness to generalize through composition. We observe a powerful property when training RLMs: for tasks with shared structure that look different, the root model naturally learns the same trajectory, meaning it views the two task trajectories as the same! In other words, the Transformer does not need additional generalization capabilities to transfer capabilities from one task to the other, the harness induces it. We find that well-designed harnesses form a quotient set over task trajectories, meaning their individual LLM calls can see structurally “similar” tasks as near-identical, token-for-token! Harnesses can effectively generalize for the Transformer during training, without relying on any intrinsic generalization capability from the model. For example, RLMs can see problems of different lengths as the same: we show that RLMs can train exclusively on short tasks, and fully generalize to similar but unseen tasks 8-32x longer because it produces near identical trajectories for both. Taking this further, we show that tasks across different domains (e.g. math solutions vs. essay writing) that share a decomposition strategy exhibit the same generalization effect. RLMs can train on the problem of finding which essays belong to the same author and improve performance on finding math problems that share similar solutions. The full blogpost, experiments, and discussion are in the thread below.

English
0
2
8
568
spacy
spacy@dosco·
been building on RLM for the better part of a year, this post finally names the mechanism. it's not "agents good" it's that a well designed harness keeps every single model call in-distribution. the model never sees anything it wasn't trained on. that's the entire trick. the weights don't generalize, the harness does!
alex zhang@a1zhang

Transformers struggle to generalize to tasks they were not explicitly trained on. Instead, we propose in 2026 that it is the job of the harness to generalize through composition. We observe a powerful property when training RLMs: for tasks with shared structure that look different, the root model naturally learns the same trajectory, meaning it views the two task trajectories as the same! In other words, the Transformer does not need additional generalization capabilities to transfer capabilities from one task to the other, the harness induces it. We find that well-designed harnesses form a quotient set over task trajectories, meaning their individual LLM calls can see structurally “similar” tasks as near-identical, token-for-token! Harnesses can effectively generalize for the Transformer during training, without relying on any intrinsic generalization capability from the model. For example, RLMs can see problems of different lengths as the same: we show that RLMs can train exclusively on short tasks, and fully generalize to similar but unseen tasks 8-32x longer because it produces near identical trajectories for both. Taking this further, we show that tasks across different domains (e.g. math solutions vs. essay writing) that share a decomposition strategy exhibit the same generalization effect. RLMs can train on the problem of finding which essays belong to the same author and improve performance on finding math problems that share similar solutions. The full blogpost, experiments, and discussion are in the thread below.

English
0
1
25
1.2K
spacy retweetledi
Braden Hancock
Braden Hancock@bradenjhancock·
The bitter lesson rejects domain-specific structure. Problem decomposition & recombination (what RLMs make first-class) is about as general-purpose of a problem-solving tool as it comes. Reminds me of the march of processor speeds: CPUs got faster every year until ~2004, when clock speeds hit a heat wall around 3 GHz. Transistors kept getting cheaper, but the only way to keep getting gains was to decompose workloads into pieces and go parallel. As the tasks we give LLMs get longer (context length/time horizon) and more complex, scaling up to 100T parameters will probably help...but my money is on big-O-improving innovations like this improving generalization faster.
alex zhang@a1zhang

Transformers struggle to generalize to tasks they were not explicitly trained on. Instead, we propose in 2026 that it is the job of the harness to generalize through composition. We observe a powerful property when training RLMs: for tasks with shared structure that look different, the root model naturally learns the same trajectory, meaning it views the two task trajectories as the same! In other words, the Transformer does not need additional generalization capabilities to transfer capabilities from one task to the other, the harness induces it. We find that well-designed harnesses form a quotient set over task trajectories, meaning their individual LLM calls can see structurally “similar” tasks as near-identical, token-for-token! Harnesses can effectively generalize for the Transformer during training, without relying on any intrinsic generalization capability from the model. For example, RLMs can see problems of different lengths as the same: we show that RLMs can train exclusively on short tasks, and fully generalize to similar but unseen tasks 8-32x longer because it produces near identical trajectories for both. Taking this further, we show that tasks across different domains (e.g. math solutions vs. essay writing) that share a decomposition strategy exhibit the same generalization effect. RLMs can train on the problem of finding which essays belong to the same author and improve performance on finding math problems that share similar solutions. The full blogpost, experiments, and discussion are in the thread below.

English
2
6
66
4.3K
spacy
spacy@dosco·
@cyrusnewday yes they are often buggy at the api level and forcing models to generate json i find makes them just a bit dumber
English
0
0
4
149
Cyrus
Cyrus@cyrusnewday·
One of the biggest mistakes you can make when using agents is using structured outputs before you need ‘em
English
6
0
19
2.7K
spacy
spacy@dosco·
@ianchanning i love chatting with models as well. in this case i mean long windy instructions and some prayer that is doing entirely too much in a single context and holding together whole workflows
English
0
0
2
12
spacy
spacy@dosco·
i've always believed real agents will have to depend on retrieval specifically progressive discovery and a sophisticated retrieval language that focuses on what needs to be done not how. graphjin's design was based on this thesis. this is also why even a small model like gemini flash or even gemini flash lite in the graphjin agent can beat much larger models. seeing how people are using and how it effortlessly handles multi-database organizations with massive amounts of data it's the right tool to run entire systems. sorta like openclaw for data rich environments. graphjin.com
Morty@0xMortyx

Andrej Karpathy just broke the entire premise of modern AI: "Agents aren't magic. They're distillation at scale." 99.99% of your LLM's capacity is wasted on garbage data it never needed. Small model + right tools + closed loop = terrifying capability. In a 16-minute conversation, Karpathy reveals the full reasoning stack. Worth more than any $500 AI course you've seen this year.

English
2
1
55
9.5K
spacy
spacy@dosco·
@umgbhalla easy enough to just install ax and ask a model to build whatever you personally need. also on mac i do this
spacy tweet media
English
0
0
0
90
umang
umang@umgbhalla·
@dosco (makes more sense to link a gist and a screenshot with some func internals as … if u want people to try those codeblocks)
English
1
0
0
115
spacy
spacy@dosco·
fair criticism the model was being lazy. a new more DSPy version, typed modules, ordinary python composition, training examples, and a metric-driven compiler. prompts obviously still exist, just like machine code exists. they’re compiled artifacts, not the program.
spacy tweet media
Vadim Liventsev@vadimdotme

@dosco looks like prompts to me

English
1
1
31
2.8K
spacy
spacy@dosco·
go is the better language and models are better at it and its tooling
Damian Barabonkov@damian_b

I wasn't expecting that Go vs Rust tweet to hit a nerve. Quick elaboration based on what I've actually seen. I build a distributed sandbox system that has both Go and Rust components. I have effectively unlimited access to the strongest models, so I've spent a stupid amount of time reviewing and cleaning up LLM-generated code in both languages. The difference in reviewability is stark. Go was designed for thousands of engineers at Google to collaborate without stepping on each other. It has very few concepts, so the code ends up looking similar no matter who (or what) wrote it. You see the same patterns everywhere. The err returns are verbose, but at least they're predictable. Channels are about as fancy as it gets. GC removes an entire class of mental overhead. Goroutines + mutexes just work for most concurrency needs. As a result, LLM-written Go usually reads like a novel. You can understand what’s going on quickly. Rust is the opposite. More power, more ways to do the same thing, more concepts you have to hold in your head. When an LLM writes it, you often can't tell if something is elegantly minimal or just over-engineered. Arc> vs Go's atomic.Pointer[RoutingTable] is a perfect example. One makes you pause; the other one is obvious. You also have to know the de facto Rust standard library that lives outside the standard library (tokio, serde, anyhow, parking_lot, etc.). Moreover, Rust's concurrency model is excellent, but there’s just more surface area to reason about. So my upshot is that 95% of the time, if something is in Rust today, it probably would be clearer, faster to review, and easier to maintain in Go. What I meant by the "rewrite it in Rust" meme should mostly be "rewrite it in Go." That said, Rust has its place (I’ll do a follow-up post on the 5%). But picking it because it’s trendy is the wrong move.

English
0
1
5
726
spacy
spacy@dosco·
programming is the most high leverage thing you can do when your working on the right thing and a total waste of time when you aren’t.
English
1
0
10
812
spacy
spacy@dosco·
literally the thesis i built graphjin.com on “We want AI agents that can discover like we can, not which contain what we have discovered”
Delip Rao e/σ@deliprao

This picture floating on X is supposedly from Moonshot's office, days before K3 launch. What caught my eye are the instantly recognizable words from @RichardSSutton's Bitter Lesson framed on their wall: "We want AI agents that can discover like we can, not which contain what we have discovered. Building in our discoveries only makes it harder to see how the discovering process can be done."

English
2
1
10
1.6K
spacy
spacy@dosco·
an amazing write up, i've learnt so much from @rasbt and his book "Build a Large Language Model" is a must read. here's my attempt at building this in DSPy with ax. "Built a reasoning router with Ax. A cheap router chooses the lowest effort likely to work. That choice changes the model’s actual reasoning budget, self-consistency width, and whether verification/refinement runs. GEPA learns the router from “cheapest mode that passed” evals."
spacy tweet mediaspacy tweet media
Sebastian Raschka@rasbt

How can an LLM switch between low-, medium-, and high-effort reasoning? And how does an LLM learn to reason more or less? I put together a “little” article explaining how these effort levels are implemented at inference time and during training.

English
0
3
33
2.4K
spacy
spacy@dosco·
ax agents will soon have wake on mcp support. and ax will have the most complete mcp implementation that exists across all supported languages TS, C++, Java, Python, Rust...
spacy tweet media
English
2
2
17
829