Загрузка видео...

Не удалось загрузить видео

На главную

OpenHands crushed Codex by 2.3× on token efficiency! We gave both agents the same task on the same model (Qwen3.5 35B): build an 8-bit Space Invaders in 3 iterations (build, fix, polish). Output: • OpenHands: 219K tokens, • Codex: 513K tokens, OpenHands beats Codex in local running. The difference...

29,696 просмотров • 1 месяц назад •via X (Twitter)

Комментарии: 9

Фото профиля James
James1 месяц назад

@OpenHandsDev @thsottiaux some ideas for the next iteration?

Фото профиля AI Mastery Guide
AI Mastery Guide1 месяц назад

@OpenHandsDev 2.3x fewer tokens for the same task is a big efficiency gap

Фото профиля unchosen.eth
unchosen.eth1 месяц назад

@OpenHandsDev efficiency will matter more over time

Фото профиля RF北灰
RF北灰1 месяц назад

@OpenHandsDev That’s mean the openhands can save tokens when i use it ?

Фото профиля atomic.chat
atomic.chat1 месяц назад

@OpenHandsDev for multi-step tasks like build/fix/polish loops -yeah, since it reuses context instead of resending it. one-off prompts, less so. depends what you're doing

Фото профиля RF北灰
RF北灰1 месяц назад

@OpenHandsDev Ok, I got it, it’s depends on the type ofmy task, thanks!

Фото профиля zhu
zhu1 месяц назад

@OpenHandsDev @grok explain what is that means "euses the unchanged data across every pass and only pays for new tokens, while Codex re-sends and re-counts it every iteration" and how it affects KV cache

Фото профиля Engel Nyst - open/acc
Engel Nyst - open/acc1 месяц назад

The explanation doesn’t make sense to me. Codex can and does normally send the prefix unchanged for prompt caching. So does OpenHands. The video shows 30 iterations on OpenHands side, 9 for Codex side, so it must be all Codex uncached. I think you guys have a bug of some kind on Codex / Codex config.

Фото профиля Jeff Steve
Jeff Steve1 месяц назад

@OpenHandsDev Hi still here asking for MCP support on atmoc chat on google play store like operit AI

Похожие видео

A developer figured out how to give AI permanent memory for $0.40 a year. No complex vector databases. No massive cloud storage. Just a single 4,000-token file that refuses to grow. The secret? True memory isn’t about storing everything. It’s about aggressive deletion. Instead of endlessly appending data, his system rewrites just six core fields on every turn: > IDENTITY: Who you are and what you build (300 tokens) > STATE: Current active task and focus (400 tokens) > DECISIONS: Settled choices—zero re-arguing (800 tokens) > CORRECTIONS: Every "no, do it this way" moment (600 tokens) > PEOPLE: Key names, roles, and open dependencies (500 tokens) > GRAVEYARD: Dead attempts, so bad ideas never return (400 tokens) Total size: 3,000 tokens. Absolute hard ceiling: 4,000 tokens. When a category hits its limit, the model compresses it. Data is never stacked—only pruned and replaced. Using Kimi K2.5 caching rates ($0.10/M tokens), running this budget memory costs $0.0004 per turn. That is 2,500 interactive turns for a single dollar. The real breakthrough lies in the CORRECTIONS field. Standard AI models waste compute making the same mistakes twice. This schema forces the assistant to remember its failures instantly. While the rest of the industry burns millions searching through bloated history logs, he pays pennies to keep his context razor-sharp. Your memory system isn't defined by what you save. It’s defined by what you have the discipline to throw away. Bookmark this breakdown. You will need it for your next build.

shmidt

17,304 просмотров • 17 дней назад

🚨 OpenAI just launched Codex, a brand-new autonomous coding agent that can build features and fix bugs on its own. We’ve been using it Every 📧 for a few days, and I’m impressed. I invited Alexander Embiricos (ben davies), a member of the product staff responsible for Codex, to demo Codex and talk about it live on a special edition of AI & I: What Codex is and how it works Codex is designed to be used by senior engineers—it performs coding tasks like adding features or fixing bugs autonomously. It's built to allow you to start many sessions at once, so you can have multiple agents working in parallel. Codex is built to have "taste" OpenAI trained Codex to have the taste of a senior software engineer. It knows how big codebases work, how to write a good PR, and uses clean, minimal code. Why an “abundance mindset” is best for interacting with agents Codex is designed to allow users to delegate many tasks at once without getting caught up in the details. This lets you point an abundance of agents at a specific task like a difficult bug—it’s worth it even if only one of them succeeds. How OpenAI is thinking about agents Codex is one piece of a unified super-assistant OpenAI wants to eventually build—an agent that helps users easily get things done by selecting the right tools for them behind the scenes. OpenAI’s vision for the future of programming In the future developers will probably spend less time writing routine code and more time guiding agents, reviewing their work, and making strategy decisions. Programming will become more social, letting teams easily delegate multiple tasks at once, allowing people to focus on ideas and collaboration instead of routine coding. Watch below!

Dan Shipper 📧

145,487 просмотров • 1 год назад

A tricky LLM interview question: You're serving a reasoning model on vLLM, and it keeps running out of GPU memory on long traces. So you add KV cache compression and evict 90% of the cached tokens. VRAM usage stays as is and GPU still runs out of memory. Why? (answer below) Evicting 90% of the KV cache can free almost none of the memory it was using. This sounds counterintuitive, but it follows directly from how production servers store the cache today. The KV cache grows with every token a model generates. Each token appends its key and value vectors across every layer, and nothing is freed while generation continues. This is the dominant memory cost for reasoning models. If a 32K-token CoT caches ~32K tokens of KV vectors, a Qwen3-32B with 4-bit weights will run out-of-memory around 24K tokens on a 24GB GPU. One obvious solution is to keep the important tokens and drop the rest, since attention is sparse enough to allow it. But this does not solve the memory problem yet. The reason is paged attention, which is the memory manager behind vLLM and most production servers. Under the hood, it splits GPU memory into fixed physical blocks, each one holds the KV for about 16 tokens. This block returns to the allocator only when every slot inside it is empty. Since the eviction logic selects tokens by importance, and such tokens are scattered across blocks... ...so despite eviction, almost every block is left with at least some survivor tokens. For instance, if the logic evicts 14k of 16k tokens across 1,000 blocks, most likely every block will still have a token. This means the allocator frees almost nothing. Placing the new tokens into those freed slots is not ideal because it breaks the cache's layout. Say token 16,001 arrives, and it's placed in the slot the 40th token used to hold. The cache now reads position 38, then 16,001, then 41, so the cache is no longer in token order. Attention can still compute the right answer from that, but only if every slot now carries a separate note recording which position it actually holds. This introduces another bookkeeping cost that an in-order layout inherently avoids. So the cache is logically 90% smaller and still physically the same size. Many compression results miss this because they measure on pre-allocated contiguous tensors rather than a paged server. There's another problem. Eviction methods pick which tokens to keep by looking at the attention scores themselves (as expected). But fast attention kernels used in production, like FlashAttention, never save those scores. They compute attention in small pieces and throw the full score grid away as they go, which is also why they're fast. So the exact signal eviction methods need isn't available in memory. The workaround is to fall back to eager attention and build the full matrix, which gives up the speed FlashAttention was there to provide. NVIDIA published a method called TriAttention to solve both these problems. It never needs attention scores. Instead, it scores tokens from the geometry of the model's key and query vectors before RoPE is applied, where those vectors sit in stable clusters. For the memory problem, it runs a compaction pass every 128 decoded tokens. The surviving tokens slide forward to close the holes eviction creates, so whole blocks empty out and return to the allocator while the cache stays in token order. On long reasoning traces, the approach matches full-attention accuracy while decoding 2.5x faster and using 10.7x less KV memory. KV cache compression is a big infrastructure problem. The number that decides whether it works is the count of freed blocks, not the count of evicted tokens. You can find the NVIDIA write-up here: I wrote a first-principles breakdown of how the KV cache works. It walks through why the model stores keys and values at all, why the cache grows with every token, and a comparison of LLM generation speed with and without KV caching. Read it below.

Avi Chawla

271,839 просмотров • 2 месяцев назад

A developer in Hangzhou runs an AI that remembers everything about him for $0.40 a year. No vector database. One file that never grows past 4,000 tokens. He published the whole schema. His version starts from the opposite idea. Memory is not storage. It's a write policy. Six fields. Rewritten every time, never appended: > IDENTITY - who you are, what you build. 300 tokens. Changes monthly at most > STATE - what you're on right now. 400 tokens. Rewritten daily > DECISIONS - what's already settled, so nothing gets re-argued. 800 tokens > CORRECTIONS - every time you said "no, not like that." 600 tokens > PEOPLE - names, roles, who's waiting on what. 500 tokens > DEAD - tried and abandoned, so it never comes back as a suggestion. 400 tokens Three thousand tokens. Ceiling of four. When a section fills, the model rewrites it shorter. Nothing is ever added. Only replaced. Kimi K2.5 bills $0.10 per million cached input tokens. Four thousand tokens a turn is $0.0004. That's 2,500 turns for a dollar. The free tier hands you 1.5 million tokens a day. 375 turns before you pay anything at all. CORRECTIONS is the field nobody builds, and it's the one that does the work. A model that remembers being wrong stops repeating it. Everyone else is paying to search their own history. He pays to keep it short. The bill stopped growing when the file did. Your memory system isn't defined by what it stores. It's defined by what it agrees to delete. The article below is the full build - schema, rewrite prompts, the compaction rule that keeps it under the cap. Save it. You'll want it open in the other tab.

wast3

15,862 просмотров • 22 дней назад

Continuous batching in LLMs, clearly explained: (a popular LLM interview question; bookmark this) In traditional ML inference, a batch is a matrix. Every input is padded to the same length, one forward pass runs, and every row finishes at the same moment. LLM decoding does not work that way. One forward pass produces one token per sequence, so a request needs as many passes as it has output tokens, and nobody knows that count until the model emits a stop token. Under static batching, membership is fixed when the batch starts. A request that finishes in 30 tokens holds its slot until the slowest request in the same batch finishes at 400. The GPU keeps paying the full weight read for a batch that is mostly empty. Loading model weights out of HBM costs the same whether four slots are producing tokens or one. Continuous batching moves the decision boundary. Instead of scheduling once per batch, the scheduler runs a single forward pass, gets control back, and decides again. A finished request leaves at the next iteration boundary, and a queued request takes its slot right there. No slot stays reserved for work that is already done. Anyscale benchmarked both OPT-13B on a single A100. With uniform generation lengths, the two policies came out about level (as expected), and as output length variance rose, static batching fell to around 81 tokens per second while vLLM reached 23x the throughput of naive Hugging Face serving. Variance drives the entire gap. Production traffic mixes 30-token replies with 400-token ones, which is exactly the condition static batching handles worst. None of this alters the model. vLLM, SGLang, TGI, and TensorRT-LLM all run it by default, and NVIDIA ships the same mechanism under the name in-flight batching. The animation below runs both policies on the same 16 requests and the same 4 slots, stepping in lockstep. The only difference is when a new request is allowed in. To dive deeper into continuous batching specifically, I wrote a full breakdown of the scheduler underneath it. It covers what happens between two forward passes, how tokens get handed out against a fixed budget, why the scheduler needs no separate path for prefill and decode, and what preemption costs you when the KV cache fills up mid-generation. Read it below.

Avi Chawla

16,140 просмотров • 1 месяц назад