Module 3 · Planning, Context & Multi-agent Systems · scripted
Cognitive Load: The Two Loads
A judgment failure, not a budget failure
We have priced the conversation carefully — the recurrence, the window, the cost of every carried word. Now watch a failure that no budget explains:
Find and book a venue for the March workshop — 40 people, and it must be wheelchair-accessible; two of our speakers require it.
⟨tool_use⟩
search_venues(city = "Molde", capacity = 40)⟨tool_result⟩
[6 venues, full specifications: floor plans, AV inventories,
catering menus, parking, cancellation policies — 4 pages]⟨tool_use⟩
get_availability(venue = "all", month = "March")⟨tool_result⟩
[availability grids for 6 venues × 31 days — 2 pages]⟨tool_use⟩
get_pricing(venue = "all")⟨tool_result⟩
[rate cards, seasonal discounts, deposit schedules — 3 pages]⟨tool_use⟩
book_venue(venue = "Fjordgården Loft", date = "2026-03-12")⟨tool_result⟩
Booked: Fjordgården Loft, 12 March.Booked the Fjordgården Loft for 12 March — best rate of the six, available all month, and the AV setup covers your needs.
⟨tool_use⟩
search_venues(city = "Molde", capacity = 40,
accessible = true)⟨tool_result⟩
2 venues match (of 6; 4 excluded — no step-free access):
[#V2] Kulturhuset Sal B — 60 cap, ground floor
[#V5] Havnesenteret — 45 cap, elevator + ramp⟨tool_use⟩
book_venue(venue = "V5", date = "2026-03-12")Booked Havnesenteret for 12 March — it seats 45 and has full step-free access. Four other venues were excluded on accessibility.
The reader who always just arrived
Why does a crowded conversation degrade judgment, mechanically? Because of the fact we have leaned on since the beginning: the LLM has no memory. It does not "keep track" of the conversation as it goes — every iteration, the entire conversation is presented fresh, to a reader encountering it for the first time. Look at what one iteration actually is:
What iteration 23 really does
Steps 1–2 are repeated at EVERY iteration — and every word on the wall, live or dead, is re-read and re-judged for relevance by a reader who has never seen any of it before.
Call step 2 the re-orientation tax. It is charged in two currencies at once:
Paid twice
Every word on the wall is paid for TWICE, every iteration:
once in TOKENS — the recurrence bills it
once in JUDGMENT — a fresh reader must notice it,
weigh it, and decide it doesn't
matter... without error, every time
The first payment shows up on an invoice.
The second shows up in Example 1a.Two kinds of load
There is a name for this in the learning sciences. Cognitive load theory — Sweller's framework for how minds handle complex tasks — divides the burden of any task into two parts, and the division transfers to agents almost perfectly:
The two loads
In Example 1a: judging two accessible venues = intrinsic. Re-reading nine pages to find them = extraneous.
The classical advice about human learners is: you can't remove intrinsic load — it is the task — so design ruthlessly against extraneous load. For agents, the advice is better than that, and this is the central claim of these lessons: for agents, both loads are designed. Extraneous load is set by what we let onto the wall — that gets its own lesson. But intrinsic load is set by something we chose even earlier.
Intrinsic load is chosen at formulation
The intrinsic difficulty of the agent's job is not the difficulty of the problem. It is the difficulty of the problem as formulated — under the representation we chose and the tool language we granted. Watch the same genuinely hard problem under two formulations:
Schedule the department's 14 exams into 5 days: no student sits
two exams in one day, statistics before econometrics, room B is
unavailable Wednesday, and Prof. Berg is away Friday.
Tools: get_enrollments(), post_schedule(assignments).
⟨tool_use⟩
get_enrollments()⟨tool_result⟩
[14 courses × enrollment lists — 212 students, overlapping]Let me attempt an assignment. Monday: statistics (9:00, room A), microeconomics (13:00, room B)… but 31 students take both statistics and micro — moving micro to Tuesday. Then econometrics must follow statistics, so Wednesday — but room B is unavailable Wednesday, so room A — but marketing was in room A Wednesday, moving marketing to Thursday… wait, marketing shares 18 students with organizational behavior, which I placed Thursday…
Same task. Tools: get_enrollments(),
solve_constraints(model), post_schedule(assignments).
⟨tool_use⟩
get_enrollments()⟨tool_result⟩
[summary: 14 courses; 37 conflicting pairs listed by ID]⟨tool_use⟩
solve_constraints(model = "
vars: exam[1..14] in {Mon..Fri} × {A, B} × {9:00, 13:00}
no student-conflict pair on the same day (37 pairs)
exam[stats] before exam[econometrics]
room B unavailable Wednesday
exams graded by Berg not on Friday
")⟨tool_result⟩
Solution found (0.2s): [14 assignments, all constraints
satisfied]. Note: solution is not unique; 6 alternatives exist.⟨tool_use⟩
post_schedule(assignments = "[the solution]")The formulation principle
Hire the model to FORMULATE, not to labor. Intrinsic load is the difficulty of the CAST, not of the problem: an agent's best move against a hard problem is to express it in a form something else can solve exactly. The judgment stays; the search leaves.
This is a thread we've pulled before, now said at full strength. The framing lesson showed that representation chooses the reasoning — circles are hard in the wrong coordinates. The tool lessons showed the tool set is a hypothesis about how the problem will be solved. Put together: the formulation — representation plus tool language — sets the intrinsic load before the conversation begins. Solvers, databases, compilers, statistics engines: every one is an opportunity to move labor out of the conversation and shrink the agent's job to modeling and judgment.
- In Example 2b, what mistakes can the agent still make? Notice: every one of them is a judgment mistake — miscasting the world — not a search mistake. Why is that the right place to spend a model?
- Take a computation-heavy task from your research. What is its solver — the tool that would turn your agent from laborer into formulator? Does it exist already?
The two dials
The design space, in one view
One dial was set before the conversation began; the other is managed while it runs. We've just turned the first. The next lesson builds the instrument for the second — a way to see extraneous load, so it can be engineered instead of felt.
Take an agent task from your domain that feels expensive. Split one page in two columns: everything the agent must genuinely judge (intrinsic), and everything it merely wades through (extraneous). Then re-formulate: name the tool — solver, database, script, search — that would move the largest intrinsic item out of the conversation, and write the tool call the agent would make instead. What is left on the intrinsic list? That remainder is what you are actually paying a model for.