Contents

Understanding llms through cooking

"Cake". All images provided by Tommy.

Recently this tweet was shared with me. This is basically a website that uses an agentic workflow to convert a recipe website into a matrix.

This is something I’m sure most engineers have tried to do at least once. Even I have a repository of yaml files for recipes I’ve made. The consensus is that recipe websites are 90% bloat and only 10% useful. The “life story” that composes the 90% prior to the actual recipe is the problem. At the end of the day, all I want to do is cook the thing they’re talking about, their inspiration, choice of butter, and quirky cookie cutter shapes they used is of absolutely no value to me.

But by chance, while discussing this website, I ran into a completely different conclusion: the 90% is the only relevant part of the recipe.

Domain expertise

Domain experts often view things in a very different way from non-experts. This goes beyond being highly knowledgeable, and comprises an entirely different mindset on the topic.

For instance, entrepreneurs are often perceived as people looking to sell their product to a clientele. That is, business is perceived as a search to find (or maybe even push) people to buy your product. However, entrepreneurs see themselves as people trying to find problems. They don’t look for the next client, they look for the next problem. Externally, the two may seem similar, but the mindset behind them is completely different, and hence the immediate things entrepreneurs seek are also completely different.

As another example, consider academia. Graduate students are usually looking to make something work, basically an immediate publication. Of course, they would like it to positively contribute to the field, but their immediate aim is to beat the SOTA on a benchmark, or extend a theorem to a novel setting. Fundamentally the mindset is one of getting immediate publications and improving upon existing solutions. You’ll find that tenured profs tend to instead emphasize “ideas”. They’re all about the fragility of ideas, and how important they are.

It’s fair to say that the outlook on what makes good academic work differs between the two largely due to them being at different stages in their careers. Tenured profs have less publication pressures than phd students, whose entire goal is to publish. However, it goes further than that. While phd students are often stronger in their narrow field than their advisor, they also comparatively lack experience of seeing how papers fall into obsolescence over time, and how ideas that you’d never expect to work are what survive 10 years later. In honesty, I don’t even understand the profs’ “ideas” perspective entirely, but that’s my explanation for the shift in mindset.

Value

Cake with strawberries on top

Fundamental to the shift between domain expert and non-expert mindset is a perception of what is valuable within that domain. For entrepreneurs, selling to one more client has some value, but is completely overshadowed by the value of discovering a common and obstructive problem. For tenured profs, publishing more papers does matter for their standing within the faculty/department, but it’s overshadowed by pursuing an innovative idea until it succeeds.

I suspect this is why engineers are so obsessed with removing the 90% preamble at the start of the recipe. It’s since we suck at cooking!

For engineers without that much cooking experience, the recipe is the value. A series of steps and ingredients for us to follow and recreate whatever the picture at the top of the page looks and tastes like. The fact that a particularly woolly sheep at a petting zoo the recipe writer visited was the inspiration for the amount of whipping cream is irrelevant! For us, that information is reflected in the fact that it’s 2 cups of whipping cream, not 1 cup in the recipe card.

Following the logic above, the only part of the recipe with any meaningful value may be the 90% preamble. Engineers are optimizing the wrong thing (removing the value), since we simply aren’t experienced enough to understand how to use it.

Harnessing value

Two tiered cake with strawberries and cream in the center

To understand why this may be, let’s compare a cook trying to recreate a recipe with a graduate student trying to reproduce a paper.

When I want to reproduce a paper, they often have code that will exactly reproduce what they say… sort of. Rather, it’ll reproduce their algorithm on exactly the seeds they chose, on exactly the dataset they chose, with the exact hyperparameters they found. I almost never care about that. I’m interested in seeing how the algorithm works in MY situation. With the threat model I’m considering and the benchmark I’m measuring. The paper is all I need, at most I might glance at the code for a specific detail that’s important to me, but it’s not particularly important in general.

When a seasoned cook wants to try a new pancake recipe, they too will see the exact ingredient ratios, temperatures, and times the writer used when making these pancakes. However, the cook doesn’t necessarily care about that. They almost certainly have different equipment, their regional ingredients may differ in quality. What the cook is trying to measure is how well the recipe stands up when created by them! They need to know the inspiration, the conceptual goal, and are most interested in the unusual twists that shift the recipe away from the norm.

After all, I can implement dpsgd without looking at any paper or code. All I care about is finding what’s different about this paper’s adaptation of dpsgd to then adapt it to the setting I need to measure.

After all, a cook can make pancakes with their eyes closed, they have no need for a recipe card. What they want is to see what inspired the change in this particular recipe to then reflect that change in their cooking.

Large language models

It’s no surprise then that despite the perfect recipes llamas give me, that my cooking skills pale in comparison to a seasoned cook, despite the fact that we likely spend about the same amount of time per day cooking.

In the same sense, llamas can give you perfect code, and yet somehow the end result is worse. A lot of engineers claim this is since llms are really bad at architecture, which aligns with the observation that senior devs are able to be far more productive with llms than juniors. This is part of an ever-growing sentiment that llms are basically a reflection of you, they only do well what you can already do well, which is a bit different from how humanities previously imagined artificial intelligence to be.

However, I suspect the reason llms act as if they reflect you is the value add provided by you. An expert is able to provide value add like that 90% preamble in the recipe, it’s something that a non-expert simply

  1. doesn’t see as value and
  2. can’t reproduce even if they’re told that is the value.

Just as with recipes, being given an llm allows people with no interest in learning to do software development an ability to make a website, or write a script. It might not even seem like a trivial script, at least to a non-expert, but an expert would see that the actual “value” of the script may be value low.

That’s not to say llamas aren’t able to provide value, but I do suspect they’re seriously bounded by our own ability to provide value. They can speed up doing what we can do, but are shockingly inept at providing any value themselves (other than speed) that we can’t.

Anyone can code

Bird's eye view of two-tiered cake slice lying on a plate

Anyone can cook. Indeed, I spend an average of 1.5h cooking every day, even though I have never been instructed on the matter formally. I just follow the recipe and something comes out. Llamas let me paste in a recipe and customize it a bit, which is usually limited to swapping out ingredients for ones I have, since I can’t really imagine tweaking the recipe outcome directly. That still provides real value to me (I can make food from what I have in the pantry right now!). It provides basically no culinary value I’m sure, I can’t imagine anyone wanting this at a restaurant.

Anyone can code too. There are a plethora of tools being developed now with llms. The ones that are most successful are the ones developed to solve the prompter’s own problem. They’re low-quality code snippets that nonetheless provide real end value to the user. They almost indiscriminately lack any technical value. It’s hard to imagine any individual interested in purchasing them.