Concepts · Humans and machines
How ACT-R encodes facts and experiences as chunks, retrieves them with cues, and uses activation to decide what comes back.

ACT-R Chunks and Declarative Memory
In ACT-R, declarative memory is made of chunks.
A chunk is a small unit of declarative knowledge. It can represent a fact, an event, a goal state, a perceived object, or another structured piece of information.
This chapter explains what chunks are, why ACT-R uses them, and how retrieval works. It also separates ACT-R's idea of declarative memory from other meanings of "memory."
What is a chunk?
A chunk is a structured unit. It is usually described with a type and a set of slot-value pairs.
For example, a chunk can store a fact:
chunk type: city-location
city: Paris
country: FranceAnother chunk can store a task state:
chunk type: task-state
task: password-reset
user: Susan
status: failedThe exact ACT-R syntax is different. The examples above only show the idea: a chunk has named parts, and each part has a value.
Terminology
“Slot-value pair” means roughly the same thing as “field-value pair” or “key-value pair,” but it comes from the ACT-R and symbolic cognition vocabulary. Think “a named role in a mental structure,” not “a database key.”
Chunks let ACT-R represent knowledge in a form that other parts of the architecture can inspect. A chunk can sit in a buffer. A production rule can match against it. A retrieval request can ask declarative memory for a chunk with certain slot values.
Why ACT-R uses chunks
ACT-R is not only a theory of stored facts. It is a theory of how stored knowledge helps produce behavior.
For that, memory needs an interface.
A raw sentence is hard to match against. A structured chunk is easier to use.
A GPT-style model has a similar need for an interface. It cannot predict from raw text directly. The text first has to become tokens: small pieces the model can use effectively.
ACT-R chunks play a similar interface role for memory. They turn remembered material into a form the rest of the system can use. However, the analogy stops there. A token is a piece of text whose role depends on context. A chunk is a structured memory unit with named parts, and those parts can represent meaning directly.
Suppose the current task is to help Susan reset a password.
A useful memory request might look for:
user: Susan
task: password-resetIf declarative memory contains a matching chunk, ACT-R can retrieve it and place it in a retrieval buffer. A production rule can then use that retrieved chunk to decide what to do next.
This is the practical reason chunks exist in the architecture. They make declarative knowledge usable by the rest of the system.
Declarative memory vs. procedural memory
ACT-R separates knowing from doing.
Declarative memory stores what the system knows. Its units are chunks.
Procedural memory stores what the system can do. Its units are productions.
A chunk might say:
user: Susan
task: password-reset
status: failedNotice how ACT-R retains experience by encoding parts of an event as chunks. It does not store the whole experience like a recording. The model decides what details become slots, and later use changes how easy the chunk is to retrieve.
A production rule might say, in plain English:
If the goal is to resolve a password reset
and the retrieved customer record says the last reset failed,
then ask for the failure code before retrying.The chunk stores what is known.
The production stores how to act.
The what vs the how.
ACT-R keeps those roles separate. That separation is one reason the architecture is useful to study.
Chunks are retrieved by cues
ACT-R does not open memory like a file. It asks memory for a chunk.
The request uses cues. A cue is a clue about what the system is looking for.
For example:
Find a chunk where:
user = Susan
task = password-resetIf a matching chunk is available, ACT-R can put it in the retrieval buffer.
That word "available" matters here.
A chunk can be easy to retrieve, hard to retrieve, or too weak to retrieve right now.
This is where activation comes in, which connects this chapter to Ebbinghaus and Forgetting.
Activation controls availability
In ACT-R, every chunk has activation. Activation means how ready a chunk is to come into context.
A highly activated chunk is easier and faster to retrieve. A weak chunk is harder to retrieve. If it is too weak, retrieval can fail.
A simple way to write this is:
Where:
- is the activation of chunk .
- is base-level activation: how much the chunk has been used before.
- is context: how much the current situation points to the chunk.
- is a penalty or boost from the model's settings.
- is noise: retrieval is not perfectly clean.
In plain English, four ideas matter:
- Recency: recent chunks are often easier to retrieve.
- Frequency: repeated chunks are often easier to retrieve.
- Context: the current goal can make related chunks easier to retrieve.
- Noise and threshold: retrieval is not perfect. Weak chunks may not come back.
This is why ACT-R memory is not flat storage. Flat storage asks, "Was this saved?" ACT-R asks, "Which chunk is available now?"
How retrieval fits the loop
The full ACT-R model has several parts. For this chapter, we only need the simple loop.
The goal buffer holds the current goal. Declarative memory stores chunks. The retrieval buffer holds the chunk that comes back. The production system looks at the buffers. Then it chooses what to do next.
That is the loop:
goal -> cues -> retrieved chunk -> production -> actionSo a chunk is not just a stored fact. It is a fact that can become active and guide behavior.
A support-case example
Now use the same idea in an AI-memory example.
Suppose an assistant is helping with a customer support case.
The current goal is:
help Susan resolve a password reset failureThe assistant might have many stored records:
- Susan had a failed password reset yesterday.
- Susan asked about billing last month.
- BetaCo had a failed password reset last week.
- Susan changed her notification settings last quarter.
A flat store might return anything that shares a word with the query.
A memory system shaped by the ACT-R lesson asks a better question:
Which chunk fits this goal, this person, and this task right now?
The first record should be easiest to retrieve. It matches Susan, password reset, and recency. The second record matches Susan, but not the task. The third record matches the task, but not Susan. The fourth record matches Susan, but it does not help with the current goal.
That is the engineering lesson.
A memory layer should not only store records. It should help decide which records matter now.
What Achiral is borrowing
Achiral is not claiming that product memory is a full ACT-R implementation.
We are borrowing a few useful distinctions:
- Saved knowledge is not the same as available knowledge.
- A memory should have structure.
- Retrieval should depend on the current goal.
- Remembered facts are not the same as action rules.
These are design lessons. They are not a claim that an AI assistant has human memory, consciousness, or a full cognitive architecture.
That boundary matters.
ACT-R is a research architecture for modeling human cognition. Achiral is building AI memory infrastructure. The two can share useful vocabulary without being the same thing.
What chunks teach AI memory builders
The useful question is not only, "Can we save this?"
The useful questions are:
- What kind of memory is this?
- What are its slots?
- Which goal or task can use it?
- What cues should retrieve it?
- How recent and frequent is its use?
- What newer memory might override it?
- Should it be active now, inactive now, or forgotten?
These questions prevent a common mistake: treating every saved note as equally useful forever.
What chunks do not solve
Chunks do not solve trust, privacy, or governance.
A chunk can be wrong. It can be stale. It can be too broad. It can contain information that should not move from one context to another.
ACT-R helps us think about representation and retrieval. It does not give us a product policy.
An AI memory system still needs permissions, review, retention rules, conflict handling, and ways to forget.
That is especially important in shared work. A customer note, a team preference, and a private user habit should not all behave the same way.
The takeaway
A chunk is ACT-R's unit of declarative knowledge.
Chunks have structure. They can enter buffers. They can be retrieved by cues. Their retrieval depends on activation.
That gives AI builders a cleaner way to talk about memory.
Do not only ask whether a memory was saved. Ask how it is represented, what cues should retrieve it, and why it should be available in the current context.
Sources
- ACT-R research group, Carnegie Mellon University
- ACT-R reference manual
- Anderson, ACT: A Simple Theory of Complex Cognition
- Anderson et al., An Integrated Theory of the Mind
- Ebbinghaus, Memory: A Contribution to Experimental Psychology
Go back to Ebbinghaus and Forgetting, continue with ACT-R Memory vs Agent Memory, or return to the Concepts hub.