Let that boy COOK!

Let him cook! :kitchen_knife: :onion:

This is a simple philosophy lesson that may or may not apply to you, but let me know if you find it useful.

Your LLM model is a cook. Your own personal chef. You give it a kitchen, utensils, ingredients, recipes and an order. He needs to be familiar with the kitchen, which needs to have utensils and ingredients where needed, and should know how to use all appliances. The recipes he should be familiar with before entering the kitchen, but you may ask him for a specific style. The order, is very specific both in recipe variation, timing and delivery. But this should be no issue if the cook is vetted, the recipe is time-tested, the ingredients are of good quality and freshness and your order is reasonable.

Here’s where you make mistakes:

  • Your order is too vague or very different than expected, the cook will have problems delivering on your expectations if you can’t explain or explain incorrectly. Clear recipes in the book are no issue for the cook, the problem arises when you ask between pages, outside the book or too much it becomes slop. This is on you to fix on your vibe coding approach towards CONTEXT ENGINEERING.
  • You change the cook on the fly. He started cooking, and then you bring a different cook, which has no idea of your previous conversations, he only sees some half-cooked food, some of the ingredients, doesn’t know where the utensils are, has no idea when you want each order and what spices to use. This is on you to fix, NEVER CHANGE CHEF IN THE KITCHEN.
  • You provide incorrect utensils or appliances, the cook will attempt it’s best effort but results might be unexpected or useless. If you want to prepare the kitchen as best as possible always ask the chef to CREATE THE RULES OF THE KITCHEN.
  • You change the recipe on the fly, while the cook is cooking, you ask for something different or completely opposite of what it’s cooking, now the cook will try to salvage some progress but the result will be inefficient because you CHANGED THE REQUIREMENTS.
  • Identical behavior to changing the cook on the fly, is moving the cook to a different kitchen on the fly. He will be fighting with everything and will attempt to slowly align the ongoing cooking based on familiar patterns, because you need to ALWAYS START FROM ZERO A NEW FRESH PROJECT.

The best results will always be when the kitchen is prepared as it best fits the cook, you don’t ever change the cook, you provide the best ingredients, and a clear order to cook, with no leftovers available.

If you did everything right, a single complete prompt will auto-run until the cooking is finished with success. A well defined explicit workflow, feature steps, rules and documentation will allow the cook to deliver 15000 lines of working code that completely and correctly implement your specs.

I won’t give you explicit model selection, rules files or strategies other than ASK THE AGENT first.

  • You don’t know which model is best? Write a small feature sample from your large projects and ask each model.
  • You didn’t get the results you wanted at a specific step or at the end? Ask the model why.
  • You can’t solve a specific issue, obtain a list of mitigation approaches by asking the model how.
  • You need a new rule for the project, something that keeps bothering you or breaking things, create a rule by asking the agent.
  • You created rules, but they are not respected, you can always rewrite or emphasize them, ask the agent how.

Shift your approach from slop remastering to one shot cooking. You are not building with bricks or legos, you are building with high volume depositions. This is a 3D printer, not a machine workshop. You one-shot your project or start over again. Instead of fixing a faulty, broken, outdated or misaligned printed piece, you throw it away and print the corrected version.

I’m gagging.

Mistakes were made.

1 Like

Did you let him cook, human?

I think I’ll try your method. I am tired of Cursor running a terminal command that throws errors and then it comes back with “Perfect!”. Yes, I do have a rule that says “Always check the terminal output for errors after running a command”. Maybe it’s the way the rule is written. Thx.

You can open any finished chat, or fork any point of the discussion and simply ask:

Analysis of the rules that contributed positively or negatively to your decision or workflow in doing X to the Y.

It should list all levels of rules that may apply and how. This needs to be run fresh, and worded in a way that matches the Agent output. Without rules, everything is garbage, especially Python project structures. Luckily, for Rust, it has a specific respectful pattern, but in Python, any small change may cause it to spawn a new completely independent duplicated separate script file.

1 Like

More cooking is needed

1 Like

Heavy cooking is required sometimes. Repeating the same rule with different wording, will cause more attention heads to take it into consideration. Sometimes grouping these repetitions or spreading them around, has different effects, but the actual token count is what matters most, then token quality.

I sometimes to have some redundancy across rules. That can get tricky, though, as then you can also start running into conflicts across rules, discrepancies in the nuances, or outright opposing recommendations.

This again, though, is something you can often have the agent and model analyze, and recommend solutions for.

Something I have noticed all the models seem to follow and recommend, is the use of MANDATORY rule requirements in .mdc files. Once these started showing up, more of the rogue behavior of the models was quelled, and they really did start doing things more exactly as I wanted.



Not sure which one is better, one is emphasis, the other is assignment, we want to enforce some requirements but maybe not too strict.

Now we move to hierarchies and conditional branching rules.

I see ULTRATHINK vs. MANDATORY as the agent did. One is a hard requirement that should not be violated. The other is not so much of a requirement but a strict marker that deeper consideration and evaluation and analysis is required to ensure viable results.

I haven’t used ULTRATHINK yet. I think I need to. :smiley: There are certainly things where the models don’t seem to quite fully understand. Now, the @Docs feature of Cursor helps a lot there, if you can index the necessary docs. But more so, Grok Code (and I think GPT-5 have no support for @Docs, and web searches are just not the same. So maybe having them ultrathink might help.

That was the best feature that attracted me to Cursor (you can teach the model new things and show it examples to use). Haven’t used this at all this summer because it will find some online docs by itself, or I can ask it to compile local documentation based on the online sources. I even forgot about this feature until you reminded me. The tool calling and occasional remote links are enough to obtain the same results now that context windows are huge.