Engineering for Bounded Cognition
a month ago
- The human mind can only hold about four separate items in working memory at once, much smaller than the software systems we build.
- Attention is narrow and unreliable, as shown by experiments like inattentional blindness (missing a gorilla) and change blindness (missing a swapped person).
- Software engineering must account for this 'bounded cognition' by designing systems that small, distractible minds (human or AI) can work on safely, using practices like clear naming, boundaries, testing, and undo functionality.
- Designing for constrained users (e.g., arthritic hands) often results in better tools for everyone, a principle that applies to software as well.
- Large language models exhibit similar cognitive limitations, such as limited context windows and reduced attention to middle inputs, mirroring human flaws.