Changelog #0008

Search for a command to run...

No comments yet. Be the first to comment.
As of last week, Butter’s proxy now offers automatic template induction for its response cache! We’ve prepared the following blog post to help explain its significance and potential to help you serve more LLM responses from cache. You can also read t...
Happy Friday! Nothing user-facing to report in this week’s changelog, so hang tight. We continue to invest in internal tooling: evals, infra rewrite, and prepping last week’s automatic template induction POC for production. For fun, here’s a shout-ou...

Hi all, this week’s changelog is quick and simple, nothing user-visible to announce. We’ve been making R&D progress towards better template-aware-caching, and infra progress rethinking the storage system to work with higher availability. We’ve also p...

Welcome to Butter’s latest weekly changelog. Today’s log is light, as we strengthen our focus on the R&D-side of templated caching. This week, we’ve also seen some more signups, which have brought about a higher volume of requests through Butter’s pr...

Welcome to Butter’s eighth changelog! Just like grandma on Thanksgiving morning, we’ve spent a whole lot of time cooking.
Starting with:
As a Thanksgiving treat, we launched cookwithbutter.com, which uses Butter’s LLM response caching to help generate, and cache, popular holiday cooking recipes.
Look up popular pre-computed recipes, or try your own! Gramma wants all your favorite recipes, from standard stuffing to creative butter, covered in butter, with a butter garnish.

The remainder of our time has been focused on internal tech improvements, which are still in-progress so we’ll only briefly highlight them below:
Part necessity and part premature optimization, we’ve been rewriting our data backend to structure the cache tree in a much more efficient, S3-centric way.
This project, once completed, will include:
As low as 0 round trips to S3 for serving hot-path responses.
Truly stateless servers able to horizontally replicate and achieve high availability.
The ability to say we “rewrote in Rust” (meme).
The goal of template-aware caching is to expand the generalizability of cache entries by converting literal text messages into a more powerful composition of templates and dynamic variables.
Currently, this is a manual process, where users must explicitly flag their dynamic content in the butter-bindings request headers in order for those variables to be stripped into template placeholders. Powerful, but cumbersome, especially when agent intent isn’t known in at the time of programming.
Our goal is to make the process automatic, using hints such as attention values to map out which parts of the context window are noise (ignored), which are dynamic (templated), and which are structural (cached).
Two days ago, thanks to hard work from teammate Raymond, we’ve got our first proof-of-concept working end to end:




That’s it for this week! We’re excited to get this above work out in a more public form so you can see the magic of it.
Until then, keep on cooking!