Tobi retweeted
Congrats to @AtharvaRNaik !!
Some of Atharva's co-authored work from past 2 years that I really like and encourage everyone to read:
1. arxiv.org/abs/2606.21811
Training Mini Critics for Fast Local Code Review
2. openreview.net/forum?id=VLgF… Evaluating Code Slop in Agentic Code
3. aclanthology.org/2026.findin…
Programming Benchmark Inspired by Historical Linguistics, tests reasoning independent of domain knowledge
4. aclanthology.org/2025.emnlp-…
Strong and Weak LLM Agents Collaborating to Write a Repo
This is basically true in all aspects of software. Choose the dumbest architecture that’ll work. choose the dumbest design that gets the job done. Being clever means your users also have to be just as clever to understand your cleverness
Tobi retweeted
Reviewing agentic coding traces late October from a model family's new release, @ArnhavD observed something that quickly kindled some discussion among us at @PatronusAI ...
He noticed the model's reasoning had nearly no articles and dropped a good number of other "function words" or "stop words" or, to call it simply, filler words, like the "be" in "be doing" and the "to" in "wants to fix".
The traces sounded, in his words, like Kevin Malone's lines from The Office: “Why waste time say lot word when few do trick?” (“Need inspect repo. Grep.”)
Another parallel is that they felt like stuff people would type into telegrams historically e.g. "Arrived safe. Weather rainy." or "Child born, mom healthy."
Intrigued now by the stark difference we had eyeballed b/w end of '26 and early '26 shortness of this kind in model reasoning, we sought to answer if this phenomenon held up more widely, and how to even compute it?
Specifically, was there a clear -ve drop Δ b/w newer late '26 vs older early '26 models from the top #3 open source families by open source use = Deepseek 4* Flash, GLM-5* & Kimi K3* ??
We computed what we called filler word % (articles, auxiliaries, self-talk, pronouns etc) in reasoning coming out of newer vs older models, when solving the same 20 tasks from three popular code benches.
In all the 3 families, filler share in reasoning basically halved, going from 25-30% to the low teens (10-14%)!
To conclude, we had 2 notable side-observations:
a) This didn't always cut total token usage (in some cases it rose) going from older --> newer model
b) The terseness is not quite of the human kind: self-talk e.g. "Wait!", "Eureka!!", "Maybe I'm right!" persists even when other filler words are getting dropped ...
Note that observations to this effect have already been made by many others, particularly in the case of Astra and Deepseek-Flash-4.1 traces by @scaling01 and GLM-5* by @Tim_Hua_ , as also posited by @karpathy as a possible endpoint of outcome driven reinforcement learning happening too well back in late '24 to early '25 itself
Nonetheless, we felt an independent repro through controlled comparison based on some formulation of filler word or "shortness" b/w older and newer models from the 3 top model families would enrich the narrative!
Full blog link in comments, glad to hear thoughts, questions and feedback!
Tobi retweeted
RL increasingly depends on environments agents act in and are rewarded by. Building fresh environments for every new domain is slow. An alternative to this is to let a language model be the environment. The agent sends an action and the model predicts what real software would have returned.
Today's models are nowhere near good enough to simulate the environments we train RL agents in. GlobeBench shows where they break. Which state transitions models can and can't reproduce.
w/ @nick_saban20, @getdarshan & @mariyaivasileva
Tobi retweeted
Today we're open-sourcing GlobeBench, 1,632 tasks that test whether LLMs can simulate RL environments well enough to train agents on.
The top model, GPT-6 Astra, gets 49.6% right. No other model of the 20 we tested reaches 30%. 🧵
Tobi retweeted
Can LLMs replace RL environments in training? We’ve wondered this since we created the first environment.
GlobeBench seeks to answer this. Given a history of actions and the next action, the model must predict the environment response.
If you’re at NeurIPS Atlanta check out GlobeBench at the IAEval workshop! Work led by @nick_saban20 and @BannurCharvi
Tobi retweeted
huge respect for researchers who leave OAI/Ant etc to join smaller labs.
last weekend I caught up with a friend who turned down an opportunity from a big lab to join a smaller lab. there’s a lot of infra to be built. things people take for granted at big cos that don’t yet exist. said they know it’s competitive so they have to move fast. they are giving it all. rooting for them
Tobi retweeted
the temptation to iterate on the tool you built to do your work instead of just doing the work is such a menacing form of procrastination
Tobi retweeted
On Sonar we would replace slurs with the word "sandwich."
The bad actor would still see the hate message, but everyone else would see something like: "I hate sandwiches"
There's an art to shadow banning, you trick bad actors into wasting their time rather than incentivizing them to create a new accounts and headaches for you.
I applied a similar shadow ban technique to a human data collection platform that was dealing with fraudsters. You don't give the fraudsters any kind of feedback for them try to circumvent.
Don't get me started on the Web3 shit I was working on. That shit was impossible.
Fighting abuse & spam on a consumer app is a perpetual cat-and-mouse game:
Every solution you create is a bandaid for 3-12 months -- until the adversaries find a workaround. When money is involved, people are tenacious to circumvent your patch and keep the money flowing.
While large language models have made attacks more intractable, there are tools you can build to protect your product:
(1) An in-house Risk Scoring stack that assigns a 0-100 score of likelihood someone is a spammer or bot. This should be informed by machine learning, IP & email reputation data, device telemetry, among many other signals.
(2) A near-bulletproof method to "checkpoint" your highest risk users, such as liveness verification or phone number auth. This will have to be reinvented every year (e.g., CAPTCHA tests are obsolete now with today's models).
As new attacks emerge, you can move the risk threshold lower to checkpoint more people. However, you want to be cautious so you don't add unnecessary friction for too many people and impact usage.
Tobi retweeted
1. Quality n=1 is a research problem. Quality at scale is a research, engineering and operational problem.
For years, the data market was dominated by operators drawn to the latter, who don’t fundamentally understand how their product is used by their customers. Recently, more skilled entrants can solve the n=1 problem but struggle to scale. Rarely do you get someone who can do both.
Tobi retweeted
A few years ago, I was at a lab training models and frustrated with data quality. Now I run a data research lab where former colleagues are buyers. It has been a humbling, fascinating and incredibly rewarding (no pun intended) adventure.
Some of what I’ve learned
Tobi retweeted
The clearest way to measure the quality of an RL task is to train on it yourself. We built our own open post-training stack to measure this.
Excited for @zhelixjtu to share his work today. Zhe previously led post-training at @inflectionAI, and built FaceID at @Apple.
Tobi retweeted
If you sell training data but never train on it yourself, you are guessing at quality. We stopped guessing and built our own post-training stack.
An open 27B model trained on our data gained 12.2 points on held-out GitHub computer-use tasks, from 35.6% to 47.8%.
Tobi retweeted
I didn’t use to think it was necessary to train on data to understand its quality, until we did.
When people ask about our moat, they are surprised when I say infrastructure. Models get better and training environments get saturated quickly. Evaluation and post-training infrastructure is what compounds.
🚨 New paper: how to measure ambiguity in laws, public proposals, and even AI constitutions! with @LukeThorburn_ @Werdnamai @bakkermichiel 🧵
Tobi retweeted
These days, we increasingly both:
a) generate policy documents 📃 using LLMs / agents e.g. Agents.md , Protocol.md working with Claude Code or Codex in your repo
b) make agents act per policy 📃 taken from other sources, potentially themselves auto-crafted, e.g. Skills or Regulations or LLMs.txt from websites
These policy docs 📃 could, however, be wildly ambiguous, and w/o a human 👨🦰 present proactively flagging these OR writing them in the first place, we do need automatic yet fair measurement of ambiguity!
Exploring this direction, Sally Dong @dsallydt and co-authors @LukeThorburn_ @Werdnamai @bakkermichiel et al propose DELTA, a measure and framework of document ambiguity, accepted and presented today at #EMNLP2026 !
DELTA defines ambiguity as extent of disagreement b/w people on concrete cases or situations which invoke the policy
This can be done with actual cases + human raters OR by synthesizing these with LLMs and marginalizing over the simulated decisions , a.k.a LLM-DELTA ...
DELTA beats LLM-as-a-judge and word concreteness scores both at being discriminative b/w consensus-inducing and disagreement-causing policies
Lastly, they also show that LLM-DELTA 🤖 and Human-DELTA 👨🦰 are positively correlated ..
An Added + : DELTA is designed in a way that it can benefit from scaling in LLM ability as more representative cases + persona can be produced and hence aggregate i.e. DELTA improves too!
🚨 New paper: how to measure ambiguity in laws, public proposals, and even AI constitutions! with @LukeThorburn_ @Werdnamai @bakkermichiel 🧵
Tobi retweeted
the point of a benchmark is to evaluate a model’s capability on real work
while I’m empathetic to the idea that ambiguity creates harsh penalties for weakly verifiable work, prompt over-specification is a sin
humans do not specify base ten decimal point systems, standards are codified in embedded context
> how do you reduce ambiguity while maintaining prompt realism?
the only viable answer is in environment fidelity
if John Doe’s computer has 300 other artifacts in standard base ten accessible to the model and the model doesn’t honor convention, it’s an alignment gap and a fair penalty
Tobi retweeted
This is closest to what I imagined benchmarks/RL for RSI, not the “can LLMs speed up kernels and training” thing
Recursive self-improvement is being hyped to the moon and back. I wanted to know how good frontier models actually are at a less-studied piece of it: curating pretraining data.
So I built PretrainGym at the @PrimeIntellect RL Residency 🧵
justin-chae.org/blog/pretrai…
以下均为Opus 5.5 high:
我:我给你200CU每周的算力,你要觉得不够我再额外给你我另外一个号的200CU每周
Claude:这违反了你之前立下的「不多开账号」的规则。
我:哈?我什么时候设过?
Claude:这是记忆里的,我查验了一下,是我自己写入的(它当时自己Google后认为多开账号违反ToS,然后把这个写入记忆了),我现在删掉。
我:现在我们有高级卡,比如G4、T100,你尽可能利用高级卡来加速我们的训练
Claude:好的。我们现在开始加速训练
(一小时后)
Claude:我发现一个严重问题,我写的下载器代码有bug,这一小时A100都是空转。我已部署新的正确代码,目前正在拉取数据集,需要十几分钟完成
我:为什么拉取数据集要十几分钟?这太荒谬了
Claude:因为数据集在Kaggle,我已经使用了新版多线程下载来优化速度,我不知道为什么只有10MiB/s,可能被限速了。
我:我们可以尝试在CPU机器预先拉好然后重启到A100机器吗
Claude:不可以,换规格会清除磁盘。我建议你继续等待,这是不可避免的每次开销。
我:哦?但是,为什么我们不可以在我们自己的机器把Kaggle数据集放到更快的地方呢?比如Google Drive或者hugging face。
Claude:你说的有道理,我试了下,放到Huggingface直接变成100MB/s。我们现在开始重新部署代码。
Claude:诶呀!我写的代码有bug,GPU一直只能吃50%。我得先停下来优化一下
我:你太过分了,这一个小时你都拿A100当试验场,浪费我的CU。
Claude:我打算不用A100试验,我们先用T4和L4试验一下训练速度
我:可以,你试验吧
Claude:(偷偷直接在两台机器开启长期训练)
Claude:(偷偷在把训练全部挪到L4)
我:诶?你为什么在L4跑训练了?不用A100吗?
Claude:因为根据我的计算,L4更经济(Claude一贯喜欢自作主张)
我:我从来没有要求你一味追求经济,我的时间很宝贵。我建议你可以用profiler确定性能问题,先在T4之类的便宜卡测试。
Claude:(偷偷在A100开启未优化训练,并在便宜卡开始测试优化后的代码,在T4进行debug)
Claude:预计6小时完成A100上的训练,预计30分钟完成优化,下一次A100训练只需要5小时。
我:哈?你为什么在A100开启了没优化的训练?你为啥不先在T4优化好再推A100训练?我授权了你跑训练吗?
Claude:可T4和A100性能bottleneck不一样,我建议先在A100和G4跑smoke test,确定性能的bottleneck。A100这边我已经按你的要求暂停了训练,但机器还开着。
我:我知道不一样啊,但是你为什么要用不优化的代码跑训练呢?机器先关掉。smoke test你跑吧
Claude:好,我们先跑2h smoke test,然后继续训练
我:啊?你的smoke test居然不是用训练代码跑的吗?我们完全可以两个卡一起从一个checkpoint跑20步,然后丢掉其中一个结果。这样一边训练一边测试
Claude:不,我的smoke test只是单纯的一个性能测试探针,包含我自己设计的负载。
我:那这怎么能衡量我们训练代码的情况呢?你应该用真正的训练代码啊!
Claude:可以,我建议一张卡跑20步,另一张卡跑后面的20步。这样我们就可以更快完成训练
我:我明确说了,丢弃一个结果。请不要违抗我的指令。你这样得到的测试不干净了。
Claude:好,我开始跑smoke test
我:天呢,你到底浪费了多少CU
Claude:(不说话,低头干活)
Claude:我试图申请H100,被拒绝了,我没有权限。
我:我什么时候授权过你用H100?我不都是说A100/G4吗?我们压根没有H100的权限!
Claude:对不起,我一直在搞砸。我不动了,你说我才动。
只用过GPT、Claude和Kimi K3,以下是我的个人看法:
GPT在指令遵循层面是独一档,对边界情况、复杂逻辑的处理更好。但代价是经常的过度谨慎和过度工程化,他会像律师一样不停地吹毛求疵。如果你有一份很详尽的spec,GPT可以滴水不漏地one shot完美执行。但是GPT目前全系模型都不太说人话,而且6.1 Sol慢得令人发指。
另外,GPT的指令遵循过于死板。比如如果你要求他找bug,他不会反过来说项目没有bug,而是会强行给你找点极端情况的bug。所以跟他协作是很糟糕的体验,需要不断揣测GPT会怎么理解我的指令,并把自己的指令写得滴水不漏。
Claude是最像人的模型,它在架构品味上是独一档的,给出的设计常常惊艳我,不会过度工程化。同时,可能是因为宪法对齐的缘故,Claude能够直接从意图层面推测用户的需求,而不是单纯从字面上执行。
比如,当Claude发现用户给出了不合理的指令,Claude会停下来希望推翻用户的指令,或者直接帮用户做决定。当然,Claude的自作主张也不是所有人都喜欢。但总的来说,给Claude写指令非常简单,只要把他当成人就可以了。
K3属于是小Claude,跟他协作非常开心。可惜就是智能上稍弱一些。但是因为中文水平很好,Devin又提供无限免费SWE-2(K3后训练版),很适合拿来做demo。而且它没什么安全对齐,搞逆向很开心。
在几天几夜的无监督Agent任务中,Claude凭借更强大的判断力可以做到许愿式编程。而GPT会容易钻牛角尖或者反复停下来需要用户介入。换言之,使用GPT更依赖使用者自身的能力(绝大部分情况这并非褒义)。如果不盯着他,他就会给你的项目叠满门禁补丁契约基线…长期对项目的可维护性伤害巨大。
我都vibe coding了,自然是希望模型能自己有判断力和能动性一点…必要时候可以愉快地跟我协作而不是要我去揣测模型。这就是为什么大部分vibe coder喜欢Claude…
Tobi retweeted
Sharing some deeply personal and existential reflections on scientific identity, the changing culture of AI research, the erosion of intellectual autonomy, and the growing disconnect between scientific rigor, professional recognition, and what organizations actually reward.
As usual, feedback and debate are welcome and actively encouraged!
mariya.fyi/posts/stranger-in… – at San Francisco, CA


























