Thoughtware
Part II · The Architecture

The Architecture of Thoughtware

Three responsibilities — decision, procedure, goal — what each owns, and why cognition does not displace deterministic software.

9 min read

If judgment is to become a first-class material of software, it cannot remain concentrated inside a single undifferentiated layer labelled “AI.” It must be decomposed, assigned, composed, and governed in much the same way that software architecture already decomposes computation, data, interfaces, and services. Thoughtware therefore requires structural levels that make cognitive responsibility explicit.

At the highest level, the architecture can be understood through three distinct constructs: Cognitive Unit, Agent, and Thoughtware System.

These should not be interpreted merely as increasingly large containers. Their importance lies in the different responsibilities they own. A Cognitive Unit owns a bounded judgment. An Agent owns progress toward a goal. A Thoughtware System owns the complete behaviour of the product or operational system in which cognition participates. The three levels may be implemented in many different ways, and their internal technologies will change over time, but the separation of responsibility remains useful because it gives cognitive capability a stable architectural form.

4.1 Cognitive Unit

The Cognitive Unit is the smallest architectural unit of Thoughtware. It is responsible for one coherent cognitive decision or judgment.

A Cognitive Unit might determine whether an invoice discrepancy is material, identify the underlying intent in a user’s request, judge whether available evidence supports a claim, assess the relevance of a document, or rank several candidate actions according to a defined objective. Each of these tasks may require interpretation or reasoning, but each can still be named as a bounded responsibility.

This boundedness matters. If all cognitive work is delegated to a single general-purpose model call or broad agent, the architecture loses the ability to reason clearly about what is being decided. Failures become harder to locate, capabilities become difficult to reuse, and evaluation becomes attached to the entire system rather than to specific responsibilities. By contrast, when a judgment has a defined architectural home, its inputs, outputs, context, expected behaviour, and evaluation criteria can be made explicit.

The Cognitive Unit is therefore not defined by how many model calls it contains, which model it uses, or whether its internal implementation is simple or sophisticated. Its defining property is that it owns a coherent cognitive responsibility. The implementation may evolve while the architectural responsibility remains stable.

4.2 Agent

A single judgment rarely accomplishes a meaningful goal by itself. Real work often requires a sequence of decisions, actions, observations, and adjustments.

This is the responsibility of the Agent.

An Agent is a goal-oriented component that can determine how to proceed toward an outcome. It may invoke Cognitive Units, execute deterministic code, retrieve knowledge, use tools, consult memory, inspect intermediate results, and decide whether further work is necessary. Unlike a Cognitive Unit, which owns a decision, an Agent owns progress.

For example, an invoice-resolution Agent might retrieve an invoice and purchase order, invoke a Cognitive Unit to interpret the discrepancy, use deterministic code to calculate the numerical variance, consult another Cognitive Unit to judge whether the discrepancy is material, inspect company policy, recommend a resolution, and finally determine whether the case can be completed or must be escalated.

The important architectural distinction is that these individual judgments need not disappear inside the Agent. The Agent coordinates them. It decides what capabilities to invoke and when the goal has been sufficiently achieved, while individual cognitive responsibilities can remain separable and reusable.

This separation prevents the Agent from becoming an opaque concentration of intelligence. A large general-purpose Agent may be capable of performing many judgments internally, but architectural clarity improves when recurring and meaningful decisions are represented as explicit capabilities. The Agent can then focus on orchestration, state, sequencing, authority, and completion rather than absorbing every cognitive responsibility into its own reasoning process.

4.3 Skills as Compositional Capability

Between a single judgment and an open-ended goal lies a large amount of work whose shape is already known. A Skill packages that work.

A Skill is a named, reusable, bounded procedure that combines Cognitive Units, deterministic code, tools, and sometimes other Skills in order to perform a known capability. Its path may branch, and it may contain genuine judgment, but its overall control structure is substantially known before execution begins.

Consider a capability called Verify Invoice. It might retrieve the invoice, retrieve the purchase order, invoke a Cognitive Unit to interpret the discrepancy, calculate the numerical variance deterministically, invoke another Cognitive Unit to judge materiality, and return a verification. There is cognition inside this Skill, and its results will vary from one case to the next. What does not vary is the question of what kind of work should be undertaken. The Skill does not have to discover its own procedure.

A Cognitive Unit encapsulates a decision. A Skill encapsulates a known procedure. An Agent owns progress toward a goal.

It matters that Skill is not read as a mandatory rung between the Cognitive Unit and the Agent. It is a reusable composition that can be invoked wherever its capability is required. A Thoughtware System may call a Skill directly, an Agent may call one, one Skill may call another, and ordinary application code may call a Skill without any Agent being involved at all.

Nor is a Skill defined by its size. A Skill may contain many Cognitive Units and possess no agency whatsoever, while a small Agent remains an Agent if it must decide what to attempt next and when its goal has been sufficiently achieved.

These are responsibilities rather than scales, and the architecture is better understood as a graph of responsibilities than as a strict containment hierarchy.

4.4 Thoughtware System

The Thoughtware System is the complete software system within which these capabilities operate. It may contain one Agent or many, numerous Cognitive Units, traditional services, databases, APIs, user interfaces, policy engines, deterministic workflows, human approval points, tools, knowledge sources, and evaluation infrastructure.

This level is important because Thoughtware should not be mistaken for a collection of models or agents. A real product still has to authenticate users, persist data, enforce permissions, manage transactions, communicate with external systems, render interfaces, observe failures, comply with policy, and maintain operational integrity. Cognitive capability participates in this architecture, but it does not eliminate the rest of it.

An Agent is therefore not synonymous with Thoughtware. An Agent is one construct inside a Thoughtware architecture. A Thoughtware System may contain several specialised Agents, or in some cases no long-running Agent at all. It may rely heavily on Cognitive Units invoked through otherwise conventional application flows. What makes it Thoughtware is not the presence of a particular orchestration pattern, but the deliberate organisation of cognitive responsibility throughout the system.

This distinction is especially important while the industry is using “agentic” as a broad description for increasingly autonomous software. Autonomy is only one dimension of cognitive architecture. A system can exercise significant judgment without operating through an autonomous Agent, while an Agent may itself coordinate many deterministic operations. Treating the Agent as the entire category obscures these other structural possibilities.

Cognition and Determinism

Thoughtware also does not imply replacing ordinary software with model-driven behaviour. Deterministic mechanisms remain preferable wherever the required behaviour can be specified reliably.

Cognition belongs where judgment is required. Deterministic software belongs where procedure is sufficient.

Calculations should normally remain calculations. Permissions should be enforced deterministically. Data persistence should not depend on interpretive judgment. Transactions require explicit guarantees. Validation rules, API calls, identifiers, policy constraints, and many forms of business logic are better implemented using conventional software mechanisms when their expected behaviour can be stated precisely.

The architecture of Thoughtware therefore involves an allocation problem. Some responsibilities are computational. Others are cognitive. Many workflows combine both. A Cognitive Unit may decide what should happen, while deterministic code ensures that the resulting action is executed correctly. An Agent may determine which capability should be invoked, while conventional infrastructure controls whether that action is permitted. A Thoughtware System succeeds not by maximising the amount of cognition it contains, but by placing cognition where it creates value and preserving determinism where certainty is available.

The three levels provide a structural basis for making these decisions. Cognitive Units localise judgment. Agents organise progress toward goals. Thoughtware Systems combine these capabilities with the full machinery required to produce dependable software.

The resulting proposition is straightforward: Thoughtware does not replace software architecture. It extends software architecture with explicitly organised cognitive responsibility. Cognitive Units localise judgment, Skills package known work, and Agents own goals whose trajectories remain open at runtime. The next question is therefore how the smallest of these responsibilities should be designed. That requires examining the Cognitive Unit in greater detail.