frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Butter – A Behavior Cache for LLMs

https://www.butter.dev/
30•edunteman•10h ago
Hi HN! I'm Erik. We built Butter, an LLM proxy that makes agent systems deterministic by caching and replaying responses, so automations behave consistently across runs.

- It’s a chat completions compatible endpoint, making it easy to drop into existing agents with a custom base_url

- The cache is template-aware, meaning lookups can treat dynamic content (names, addresses, etc.) as variables

You can see it in action in this demo where it memorizes tic-tac-toe games: https://www.youtube.com/watch?v=PWbyeZwPjuY

Why we built this: before Butter, we were Pig.dev (YC W25), where we built computer-use agents to automate legacy Windows applications. The goal was to replace RPA. But in practice, these agents were slow, expensive, and unpredictable - a major downgrade from deterministic RPA, and unacceptable in the worlds of healthcare, lending, and government. We realized users don't want to replace RPA with AI, they just want AI to handle the edge cases.

We set out to build a system for "muscle memory" for AI automations (general purpose, not just computer-use), where agent trajectories get baked into reusable code. You may recall our first iteration of this in May, a library called Muscle Mem: https://news.ycombinator.com/item?id=43988381

Today we're relaunching it as a chat completions proxy. It emulates scripted automations by storing observed message histories in a tree structure, where each fork in the tree represents some conditional branch in the workflow's "code". We replay behaviors by walking the agent down the tree, falling back to AI to add new branches if the next step is not yet known.

The proxy is live and free to use while we work through making the template-aware engine more flexible and accurate. Please try it out and share how it went, where it breaks, and if it’s helpful.

Comments

robofanatic•5h ago
So instead of OpenAI I should pay butter?
edunteman•5h ago
It’s bring-your-own-key, so any calls proxied to OpenAI just end up billing directly to your account as normal.

You’d only pay Butter for calls that don’t go to the provider. That’d be a separate billing account with butter.

realitysballs•5h ago
Funny, we are working to implement this same logic in our in-house financial categorization agent. When we have a repeat prompt it goes to a json that stores answers and only goes to AI for edge cases.

It’s a good idea

edunteman•5h ago
Awesome to hear you’ve done similar. JSON artifacts from runs seem to be a common approach for building this in house, similar to what we did with the muscle mem. Detecting cache misses is a bit hard without seeing what the model sees, part of what inspired this proxy direction.

Thanks for the nice words!

ronbenton•5h ago
Interesting... is it legal?
edunteman•5h ago
I couldn’t see how it wouldn’t be, as it’s a free market opt-in decision to use Butter
ronbenton•5h ago
it wouldn't be the first API service to disallow someone from selling a cache layer for their API. After all, this should likely result in OpenAI (or whatever provider) making less money
edunteman•3h ago
Ah yes that makes sense, have heard of those cases too but hadn’t put much thought into it. Thanks for pointing it out!
RestartKernel•3h ago
I've seen the OpenRouter guys here on HN before, so you can probably ask them what to look out for.
puppycodes•5h ago
I like the pricing model but I'm skeptical it will last.
edunteman•5h ago
I feel the same - we’ll use it as long as we can since it’s customer aligned but I wouldn’t be surprised if competitive or COGs costs force us to change in the future.
Jayakumark•4h ago
What local models will it work with ? Also what will be the pricing for local llms?
edunteman•3h ago
Good question, I imagine you’d need to set up an ngrok endpoint to tunnel to local LLMs.

In those cases perhaps an open source (maybe even local) version would make more sense. For our hosted version we’d need to charge something, given storage requirements to run such a service, but especially for local models that feels wrong. I’ve been considering open source for this reason.

invisibleink•4h ago
interesting. is the answer not context specific most of the time? even if I ask LLM the same question again and again the answer depends on the context.

what are some use cases where you need deterministic caching?

barapa•4h ago
We often will repeat calls to try again. Or sometimes we make the same call multiple times to get multiple answers and then score or merge them.

Is this used only in cases where you assume the answer from your first call is correct?

edunteman•3h ago
I’d love your opinion here!

Right now, we assume first call is correct, and will eagerly take the first match we find while traversing the tree.

One of the worst things that could currently happen is we cache a bad run, and now instead of occasional failures you’re given 100% failures.

A few approaches we’ve considered - maintain a staging tree, and only promote to live if multiple sibling nodes (messages) look similar enough. Decision to promote could be via tempting, regex, fuzzy, semantic, or LLM-judged - add some feedback APIs for a client to score end-to-end runs so that path could develop some reputation

mountainriver•4h ago
I also did computer agents with a vc backed startup, ran into the same issues, and we built a fairly similar thing at one point.

It’s useful but it has limitations, it seems to only work well in environments that are perfectly predictable otherwise it gets in the way of the agent.

I think I prefer RL over these approaches but it requires a bit more data.

rajit•3h ago
We spoke to a number of browser agent companies who said deterministic RPA with an AI fallback was their "secret" :)
edunteman•3h ago
Very, very common approach!

Wrote more on that here: https://blog.butter.dev/the-messy-world-of-deterministic-age...

Show HN: Butter – A Behavior Cache for LLMs

https://www.butter.dev/
30•edunteman•10h ago•19 comments

Show HN: Bash Screensavers

https://github.com/attogram/bash-screensavers
211•attogram•18h ago•74 comments

Show HN: ISS in Real Time – 25 Years Aboard the International Space Station

https://issinrealtime.org
145•bfeist•1d ago•22 comments

Show HN: Dexto – Connect your AI Agents with real-world tools and data

https://github.com/truffle-ai/dexto
33•shaunaks•14h ago•3 comments

Show HN: HortusFox – FOSS system for houseplants with enterprise-scale features

https://github.com/danielbrendel/hortusfox-web
4•foxiel•4h ago•0 comments

Show HN: UndatasIO's document parser MCP server is online

https://docs.undatas.io/mcp/undatas-mcp/
3•jojogh•4h ago•0 comments

Show HN: JSON Query

https://jsonquerylang.org/
145•wofo•1d ago•68 comments

Show HN: Erdos – open-source, AI data science IDE

https://www.lotas.ai/erdos
84•jorgeoguerra•1d ago•32 comments

Show HN: Write Go code in JavaScript files

https://www.npmjs.com/package/vite-plugin-use-golang
152•yar-kravtsov•2d ago•47 comments

Show HN: MyraOS – My 32-bit operating system in C and ASM (Hack Club project)

https://github.com/dvir-biton/MyraOS
241•dvirbt•2d ago•54 comments

Show HN: I was tired of people dmming me just "hi", so I made this - NoGreeting

https://nogreeting.kuber.studio
13•kuberwastaken•20h ago•11 comments

Show HN: Dlog – Journaling and AI coach that learns what drives wellbeing (Mac)

https://dlog.pro/
43•dr-j•1d ago•33 comments

Show HN: Ordered – A sorted collection library for Zig

19•habedi0•1d ago•6 comments

Show HN: Git Auto Commit (GAC) – LLM-powered Git commit command line tool

https://github.com/cellwebb/gac
52•merge-conflict•1d ago•34 comments

Show HN: Permit Watch, Turning Ireland's work permits into a job-demand proxy

https://www.permitwatch.ie/
3•fredthedeve•8h ago•0 comments

Show HN: Apache Fory Rust – 10-20x faster serialization than JSON/Protobuf

https://fory.apache.org/blog/2025/10/29/fory_rust_versatile_serialization_framework/
64•chaokunyang•12h ago•42 comments

Show HN: Tamagotchi P1 for FPGAs

https://github.com/agg23/fpga-tamagotchi
2•agg23•10h ago•0 comments

Show HN: OpenAI Apps Handbook

https://github.com/hemanth/OpenAI-Apps-Handbook
5•init0•11h ago•0 comments

Show HN: Ball X Pit – Physics Roguelite with 42 Ball Evolutions

https://ballxpit.net/
4•aishu001•17h ago•0 comments

Show HN: Rewriting Scratch 3.0 from scratch in Lua (browser-free native runtime)

https://github.com/fox2d-engine/ScratchLove
2•sixddc•12h ago•0 comments

Show HN: I made semantic search engine for engineering blogs and conferences

https://devblogs.sh/
9•iillexial•12h ago•0 comments

Show HN: VS Code extension to run/debug Go table tests

https://github.com/sergiobonfiglio/go-testing-plus
2•drakyoko•13h ago•0 comments

Show HN: Thymis.io Device management – images pre-loaded with your applications

https://thymis.io/
2•elikoga•13h ago•0 comments

Show HN: Linux CLI game, quiz, cheatsheet and map from my mind mapping app

https://mindmapsonline.com/linux_commands_quiz
5•max002•13h ago•0 comments

Show HN: Pipelex – declarative language for repeatable AI workflows (MIT)

https://github.com/Pipelex/pipelex
24•lchoquel•13h ago•6 comments

Show HN: Helium Browser for Android with extensions support, based on Vanadium

https://github.com/jqssun/android-helium-browser
62•jqssun•2d ago•29 comments

Show HN: Shadcn/UI theme editor – Design and share Shadcn themes

https://shadcnthemer.com
133•miketromba•3d ago•40 comments

Show HN: Web extension to remove social metrics on web

https://trashpandaextension.com/
3•chiefofgxbxl•14h ago•0 comments

Show HN: C# analyzer for error handling patterns in your including call graph

https://github.com/wieslawsoltes/ThrowsAnalyzer
2•wiso•17h ago•0 comments

Show HN: LLM Rescuer – Fixing the billion dollar mistake in Ruby

https://github.com/barodeur/llm_rescuer
95•barodeur•4d ago•14 comments