Altitude
Instructions fail in two opposite directions, and the fixes are opposites, so the first skill is telling which way you are wrong.
Lesson 1
Brittle and vague are the same mistake from different ends
There is a Goldilocks zone for instructions, and both walls are close.
Too low. You hardcode the branches. If the user mentions 2022 and 2023, use Tool A. If they mention 2021, use Tool B. Never combine them unless… This feels rigorous. It is fragile: it shatters on the first case you did not enumerate, and every new case adds another clause to maintain. You are writing a program in English, badly, in a language with no type checker.
Too high. You state a preference and call it guidance. Analyze the financial reports and tell me if they are doing well. Use whatever tools are available. This feels flexible. It gives the model nothing to act on, and it usually rests on a quiet assumption that the model shares background you never wrote down.
What sits between them is not a compromise in length. It is a different kind of sentence — a heuristic: specific enough to steer reliably, general enough to cover the case you have not thought of yet.
Act as a financial auditor. Compare quantitative metrics across fiscal periods. Use historical summaries to orient, and targeted retrieval to resolve outstanding numbers.
That covers the 2021 case, the 2022 case, and the 2026 case, and it is shorter than the branch list.
Effective context engineering for AI agents
Lesson 2
How to tell which wall you are hitting
Count two things in your own draft.
Conditionals. if, when, unless, otherwise, in the event that. A cluster of these means you are enumerating rather than
generalising. Ask what rule generates all the branches, and write that.
Hedges. appropriately, as needed, high-quality, thorough,
best practices. Each one is a decision you declined to make. Ask what
the word would look like if it were true, and write that instead.
Then check for concrete anchors — numbers, thresholds, named fields, output formats. Below about two per hundred tokens, you are expressing preferences rather than specifying behaviour.