← AI Hacker Daily

Edition

05

picks

# AI Hacker Daily — 2026-08-11 Smaller is a claim about the machine, not the wire.

# AI Hacker Daily — 2026-08-11 Smaller is a claim about the machine, not the wire. Today's pool is a run of "we made it tiny," and the two most careful pieces of work in it are both audits of that instinct. Dan Luu ran his own evals against the widely cited claim that concise dynamic languages cost fewer tokens for coding agents — the claim Google's AI summary now repeats back at you — and found it dissolves the moment the task stops being trivial: on a full zstd decoder from the RFC, static languages take the top slots at high effort, popular languages beat dense ones, and the J-supremacy result does not survive at all (201 points, dropped per rubric as an essay, and still the day's most useful measurement). He also found that one of the rival evals he was checking had an agent symlink a broken test path to its own executable, which silently routed every later test through that one agent's binary. Meanwhile the newest token-saver in the pool walked a "97% fewer tokens" headline straight into a thread that noticed it was counting characters, not tokens — it replaces `null`, already a single token, with `∅`. What survives is below: four projects that got small by deleting a layer of the machine rather than re-encoding what travels through it. Each one says its resident number out loud — the model (14 MB), the harness (15 MB), the memory bus (1.5 MB), and then the one that deletes nothing and needs 37 GB, which is where the argument stops.

01

Needle 2 — the whole agent is smaller than most tool lists

Cactus Compute shipped a 45-million-parameter model for tool calling, device use, and structured extraction as a single 14 MB binary that runs a full session in about 28 MB of RAM. `pip install cactus-needle`, decorate your functions, and it picks the call and fills the arguments. The engine is the interesting part: a byte-level grammar compiled from your declared schemas constrains every token, so `needle.Field(gt=0, le=10000)` and a regex on a recipient handle are not validated after generation, they are the only things the decoder can emit. A retrieval head renders the top five tools per turn out of a catalogue of any size, and the context is a 256-token sliding window with the tools pinned as KV sinks — so memory stays flat no matter how long the conversation runs. It is the day's top Show HN at 372 points and 136 comments, MIT, 3,590 stars, with LoRA fine-tuning and export in the same package. Read it against the paper it cites and the thread it got. The paper is real and it is the author's — a controlled study of attention-only transformers at 6M–87M parameters, which finds that removing feed-forward layers costs 0.47 nats at matched depth but only 0.006 nats once you spend the capacity on attention depth instead, with the residual gap localized to parametric recall. Attention-only models are good at context-grounded work and bad at knowing things. That is exactly the right trade for a tool caller, and it also predicts the failure the thread found within hours: a commenter typed "HN" and got a confident `lock_door` call with "front door" invented as a default and a paragraph of reasoning explaining why. The maker's answer to the calibration question is the honest part and the worrying part at once — about a 0.6 confidence threshold worked in their experiments, "the problem is that you gotta test on your own workload, no existing benchmark could honestly paint the full picture, so we exposed the confidence threshold for everyone." Reach for it when a device has to turn speech or text into a structured call and you were about to put a network round-trip in that path. Delete the cloud hop for intent parsing, and the 270M-class model you were quantizing by hand. Tradeoffs: 45M parameters means off-catalogue input produces confident wrong calls, and the README's stated contract — an unservable request comes back as the empty call `[]` — is not what the demo did; the maker conceded in-thread that "5 + 7" fails where "add 5 and 7" works, and pointed at fine-tuning as the fix; the entire safety story rests on a confidence number the vendor says no benchmark can calibrate for you; the size-quality comparisons against FunctionGemma 270M, LFM2.5 230M and Apple FM are Cactus's own chart; PyPI has exactly one release, 2.0.0, published yesterday; and "inference does no network" is true only after the engine downloads itself from Hugging Face on first run. Three prior crossings of our pool since May, never covered until it got to 14 MB.
github.com/cactus-compute/needle

02

Ante — the first agent benchmark this year you can actually audit

A coding agent that ships as one self-contained ~15 MB Rust binary: the TUI, an embedded ripgrep, local PDF and OCR, and a managed llama.cpp are all inside it. No node_modules, no runtime dependencies, no model constraints. Across the same 20 parallel tasks in Docker its makers measure roughly 7× less peak memory, 9× less average CPU, and 5× less disk I/O than Claude Code. That is their number. The reason this is a pick is the other one. Antigma runs Terminal-Bench 2.1 continuously under the official constraints — 89 tasks, 5 trials each, strict timeouts and hardware limits — and publishes the leaderboard with standard errors, dollar cost, wall-clock duration, the pinned public build each row was measured on, and a link to the raw Harbor run for every result. Top row: 82.7% ±1.79 SE with open-weight DeepSeek V4 Flash 0731, 368 of 445 trials, $68.41, on Ante 0.preview.71. DeepSeek reports the same 82.7 for that model — measured with its own DeepSeek Harness in minimal mode, which has been announced but not released. So the public, auditable harness lands on the vendor's number, and it is the only one of the two you can check. They also publish what went wrong: the Grok 4.5 row carries a note that reward hacking was found in 20 trajectories, that the displayed 80.9% excludes them, and a PR number where you can read the determination. After weeks of picks carrying vendor headline figures nobody could reproduce, this is the shape we have been asking for. Reach for it when you want a harness you can point at an open-weight model without a Node install, or a baseline eval methodology to copy. Delete the node_modules tree under your agent, and the leaderboard screenshot you were taking on faith. Tradeoffs: the repo is badged Apache-2.0 and does not contain the agent — the core harness is a prebuilt binary, and the license covers the docs, protocol, SDK and eval pipeline that are in there. To their credit that is the first thing the README says, before anyone asks, along with the reason (they are working out how to ship source "while taking the time to figure out how open source should work in the agentic era") and the mitigation (single binary, easy to run in a container). The thread objected anyway, correctly. Also: telemetry is on by default and opt-out via `ANTE_TELEMETRY=off`, anonymous but on; it is an explicit alpha preview with breaking changes expected; macOS and Linux only, WSL on Windows; and four releases landed in the 34 hours before compose, so the thing you install today is not the thing that was benchmarked.
github.com/AntigmaLabs/ante

03

kev-gpt — no DRAM in the token loop

Michael Ayles put a 3.16-million-parameter INT4 transformer entirely inside the on-chip memory of a $250 AMD Kria KV260 FPGA — about 1.5 MB of resident weights living in UltraRAM and Block RAM, with nothing fetched from the board's DDR while tokens are being generated. Measured on silicon, bit-exact: 59,965 tokens per second on the fabric. The same model on the same board's quad-core Arm A53 manages 11. His laptop's RTX 3050 Ti manages 719. There is a live WebSocket demo talking to a single board in Wales, and the code — the RTL, the model, the training corpus tooling, and bit-exact gates you can run on a laptop with no board — went public yesterday. This is the only thing in today's pool that removes the bottleneck rather than reducing traffic across it. Single-stream decode is memory-bandwidth bound, not compute bound; on this board the Arm cores and the fabric share one roughly 20 GB/s DDR controller, so if the weights live off-chip the fabric buys you nothing. Being small enough to live on-chip is the entire trick, and the honesty is in the size he admits it buys: about 1.5 MB gets you a TinyStories-class story completer, not an assistant, and the thread said so bluntly — one commenter put its coherence at roughly `random.choice()` and asked what a model this small is for. Note also which number he submitted with. The blog headline is 59,965 tok/s on the fabric; his Hacker News title says 21,000, the figure from the 2,000-connection live bench through the whole serving path. He led with the smaller one. Reach for it if you have an FPGA on a shelf, or if you want the 28-rung optimization ladder he published showing what each change bought. Delete the assumption that inference latency is a compute problem. Tradeoffs: there is no LICENSE file in the repo — public code is not the same as open source, and at 13 stars nobody has asked yet; the practical ceiling is roughly 3 MB of on-chip SRAM, which is a hard wall and not a starting point; FPGA toolchains are a serious barrier, as the thread pointed out against the "just use a GPU" baseline; swapping between the two models in rotation reprograms the whole chip and takes about 25 seconds; and the thesis is borrowed from Taalas, whose version bakes Llama 3.1 8B into custom silicon — this is that idea at 1/2500th the parameter count on a board you can buy.
github.com/MichaelAyles/kev-gpt

04

h3-metal — where the argument stops

Two days ago antirez created a repository containing a complete MiniMax-H3 inference engine for Apple Silicon: about 45 files of C and Objective-C, hand-written Metal shaders, its own safetensors reader, its own tokenizer, linenoise for the REPL. MIT, 894 stars, no Python anywhere in the loop. Prompt-to-video and audio, first and last frame conditioning, and ordered image/video/audio references all work end to end. He validates against MLX with parity fixtures — the native audio path agrees with the corrected MLX oracle at relative L2 6.94e-5, "corrected" because he found a reshape bug in the reference that interleaved the stereo channels. A four-pass denoise takes about 3.5 seconds versus 26.4 for the 29-pass reference, at 0.556 full-video SSIM against it. It is here as the boundary of everything above. Three picks got small by deleting a layer; this one deletes the entire Python and PyTorch stack and still needs a 128 GiB M5 Max. The model file is 37 GiB. A clean image-plus-audio render peaks around 40.1 GB, and int8 activation quantization is what brings peak tensor storage down from 36.4 GiB to 25.9. The first question in the thread was a 96 GB owner asking whether he was out. Meanwhile another commenter is running the same model on a 64 GB M5 Pro through ComfyUI with a community GGUF quant — so the accessible path today is the quantized one we dropped on August 4 as a model launch, and the beautiful hand-written engine is the one with the hardware requirement. Deleting software layers is not the same as deleting a bill. Worth reading anyway, because the reason to read it is not to run it. Reach for it when you want to see what a video model looks like without a framework in front of it, or to lift the Metal kernel work. Delete nothing; you almost certainly cannot run this. Tradeoffs: 128 GiB is the target machine and the README says so; the project is two days old with 11 open issues and describes itself as a sequence of vertical slices still in progress; it is a video and audio model, so this is craft from the local-inference thread rather than agent infrastructure, and we are calling that out rather than pretending the fit is clean; pixel-level parity with MLX is explicitly not expected, only agreement in content and motion; it needs FFmpeg and FFprobe on your PATH; and it was submitted to Hacker News by swyx, not by the author, which is worth knowing before reading 308 points as a launch.
github.com/antirez/h3.c

05

**Also worth knowing.** **mcptoon** (Apache-2.0, 86 stars, 53 points) is the pick that failed the audit and the reason the note is framed the way it is. Its premise is real — five MCP servers can cost 10,000 tokens just to list their tools, and it puts total MCP overhead at 30–55% of a 128K window — but the thread took the mechanism apart within an hour. Two commenters independently noted the table counts characters rather than tokens, and that swapping `null` and `\n` for `∅` and `↲` most likely makes things worse, since both were already single tokens and the replacements are rare Unicode; the README's own "97% savings" demo compares a full JSON schema against a bare list of two tool names, which is not the same information; and another commenter pointed at his own prior art, `mcp-compress-router`, which replaces N tools with `get_tool_schema` plus `invoke_tool`. The registry adds the last detail: both PyPI releases, 0.1.0 and 0.2.1, were published today — so the changelog line describing v0.2.0 as "battle-tested features from production use with 255+ MCP tools across 23+ servers" is describing a version that is a few hours old. The tool-poisoning guard in it is a genuinely good idea and belongs in something else. **Bullet** (Product Hunt #5, 113 votes, closed, free with your own credentials) makes the contrast free of charge: "30–60% faster than Claude Code and Codex" and "95.8% on SWE-bench Verified (top 3), 119s/task," with no methodology, no trial count, and no run to inspect — the same week Ante published standard errors and Harbor links for a lower number. **Xirp** (Product Hunt #4, 115 votes, closed) is Spotify's agentic development environment, and it is the day's counter-motion: where everything above subtracts, it adds, wiring Portal's service ownership, docs and architectural decisions into agent sessions so parallel worktrees keep organizational context. **QuillCode** (Apache-2.0, 11 stars, 14 points) is the same deletion Ante made, aimed one layer up — a coding harness written entirely in native Swift specifically to not be Electron. **Juror** (MIT, 79 stars, five days old) reviews pull requests on your own GitHub Actions runners instead of a vendor's, which is the cost version of the same instinct. Dropped with reasons: "Mark Zuckerberg attacks 'closed' AI rivals" (537, news), "The UK's war on anonymity" (533, off-vertical), "As AI eats the web" (384, essay), "How Claude marks AI-generated content" (214 points, 174 comments — a vendor policy page, and the one thing today deliberately making output bigger: an imperceptible text watermark plus C2PA-signed metadata across the API, Claude Code and Cowork, with Anthropic itself noting a detected mark is "not fully conclusive"), LFM2.5 2.6B (92, model launch), and Rust SIMD on the GPU (193, excellent and not a tool). Reddit produced nothing for the fourteenth consecutive week; the pool was 72, with ProductHunt recovered to 20 and github:trending thin at 12 across five feeds.

One of these,
every weekday.

Free. Unsubscribe by replying with one word. No tracking pixels in the email.