2025-07-01
Functions for computation, cognitive units for thinking
The basic move of Thoughtware is the same move software already made for code, package the material so you can point at it.
Software became maintainable when computation was packaged into functions. Nobody argues for functions anymore. The argument was won so decisively that we stopped noticing it had been an argument at all.
What we gained was not capability. A program with functions can do nothing a program without them cannot do. What we gained was the ability to point at things: and from pointing followed testing, reuse, cost attribution, division of labour, and the idea that a component could have known properties.
The claim of Thoughtware is that the same move is available now, in a place where it has not yet been made.
The shape already exists
Every framework in wide use has some version of “template plus inputs plus one call.” Every team that has built anything substantial has reinvented it locally. Nobody needs convincing that the shape is meaningful. What has not happened is treating that shape as a cognitive unit with a theory attached: a named goal, declared inputs and outputs, a way to evaluate it in isolation, a cost that composes, and a path to share it in a library.
What follows from the name
Once the unit has an edge, you can ask questions that were previously ambient:
- Does this step fail, or the agent that called it?
- What does this decision cost, across features?
- Can another agent reuse the same unit without copying a prompt?
- Has behavior stabilized enough to compile a fast path behind the same interface?
Without the name, those questions dissolve into “the model” or “the prompt.” With the name, they become engineering.
Agents assemble, units think
An agent is not a bigger prompt. It is a goal-driven assembly of cognitive units and deterministic code. Most smartness lives in the units, the agent provides orchestration, stop conditions, and the boundary to tools through code.
Start with decisions. Name candidate units before you write templates. Keep exact work in code. That is the basic move, functions for computation, cognitive units for thinking.