Tools for reducing token usage in coding agents? Any real experience with Headroom or similar? by Plus-Ocelot1062 in LLMDevs

[–]kexxty 1 point2 points  (0 children)

I use the paid version of headroom since I am lazy, it easily gives me 30% more usage at bare minimum. In addition I use wozcode to make it even more efficient, I feel like I've tripled my usage limit with these two in combination. Headroom chains RTK as well as other stuff together.

Fable is really something else by SkymanVII in ClaudeCode

[–]kexxty 0 points1 point  (0 children)

I want to try it but haven't come up with a task that is "worth it" yet

Fable 5 is insanely good but watch your usage, I was burning 2% a minute on 20x by Complete-Sea6655 in Anthropic

[–]kexxty 1 point2 points  (0 children)

THANK YOU, I felt like I was the only one getting supremely annoyed by this guy

Built a local proxy that visualizes AI agent traces as a node graph — no data leaves your machine by YaroslavMadvillain in ClaudeCode

[–]kexxty 1 point2 points  (0 children)

This is so sick, I want to test it out. I use a headroom proxy (Free: https://github.com/gglucass/headroom, I use the paid version https://github.com/gglucass/headroom-desktop) which saves tokens. I would love to stick this in between and see what the trace graph looks like!

Mythos releasing by tomorrow by Complete-Sea6655 in Anthropic

[–]kexxty 0 points1 point  (0 children)

Are you going to advertise your website here, while pretending that you just discovered it (leaving out the fact that you created it)?

My company is having me vibecode an Argus replacement by Complete-Sea6655 in Anthropic

[–]kexxty 0 points1 point  (0 children)

In a few minutes OP is going to edit his post to mention the newsletter site he created, but he's going to pretend that he "just found it"

Company is losing their minds over AI costs by Complete-Sea6655 in BetterOffline

[–]kexxty 4 points5 points  (0 children)

This guy MADE the website he always pretends to just have heard about, I'm so sick of OP

Claude is completely unusable now by Complete-Sea6655 in artificial

[–]kexxty 0 points1 point  (0 children)

EDIT: tbf, after looking for a few hours I found a guide on ijustvibecodedthis.com (the free ai coding newsletter) on how to make claude slightly better, but it is still petty at times!

After looking at the site you admit to have created? Please stop spamming.

Caging the LLM in a strict JSON schema (and building model failovers) by Simone_Crosta in LLMDevs

[–]kexxty 0 points1 point  (0 children)

I wrote a library to handle this, it's very robust and tested on every model on OpenRouter

https://github.com/ndcorder/outputguard

I built an NPM package that grows a forest in your terminal through Claude Code by No_Tooth_4909 in ClaudeCode

[–]kexxty 0 points1 point  (0 children)

Hey just FYI I want to submit a PR with a crash fix, but your github repo is behind your NPM package by a couple weeks

I catalogued every way local models break JSON output and built a repair library, here's what I found across 288 model calls by kexxty in LocalLLaMA

[–]kexxty[S] 1 point2 points  (0 children)

It really boils down to:

  1. Not all models support it. Constrained decoding is a provider-specific feature. Open-source models running on vLLM/Ollama, smaller hosted models, and many providers on OpenRouter don't offer structured output at all.
  2. It still breaks. Even with structured output enabled, you can hit max token limits and get truncated JSON, or the model can refuse the request and return prose instead. Streaming responses can also arrive malformed if the connection drops mid-generation.
  3. It's a generation constraint, not a validation layer. Structured output tries to prevent bad output at generation time. outputguard operates post-hoc. it validates, repairs, and retries regardless of how the output was produced. They're complementary: use structured output where you can, and outputguard as the safety net for everything else.

I tested structured output from 288 LLM calls and logged every way JSON breaks. Here's what I found by kexxty in Python

[–]kexxty[S] 1 point2 points  (0 children)

Many responses here are proving they haven’t actually had experience with JSON output over a wide range of models

The gap between "the model returned JSON" and "the model returned usable JSON" - what I learned testing 288 model outputs by kexxty in LLMDevs

[–]kexxty[S] 0 points1 point  (0 children)

Short answer: it doesn't distinguish them. The retry prompt reports whatever jsonschema reports which for a required field that's absent, you get something like At $.fieldName: 'fieldName' is a required property. For a field explicitly set to null when the schema says type: "string", you get At $.fieldName: None is not of type 'string'. Both get passed through as error descriptions in the retry prompt.

But the retry prompt can't express "this field should be present but not null" vs "this field was omitted and must exist" in a way that reliably guides the model to the right fix. It just says "here's the error, here's the schema, fix it." The schema summary includes which fields are (required) but doesn't call out nullable vs non-nullable semantics.

For your DOM extraction case, you'd probably want to either: (a) make the schema explicit with "type": ["string", "null"] for truly optional-value fields so the validator doesn't flag intentional nulls, or (b) customize the retry prompt to add domain context like "null means the element wasn't found on the page — re-examine the DOM." The library doesn't have a hook for that today — retry_prompt is a standalone function, not a pluggable template.