# Thinking Fast and Slow in AI: the Role of Metacognition

arXiv: https://arxiv.org/abs/2110.01834 · HTML: https://mlsanity.com/paper/2110.01834/

## Key facts

- Cited by 11 papers in the map (data through 14 Oct 2026).
- Builds on 12 of its 30 references that are in the map.
- First posted on arXiv 5 Oct 2021.

## Builds on (most cited first, 12 of 12)

- [Thinking Fast and Slow with Deep Learning and Tree Search](https://mlsanity.com/paper/1705.08439/) (2017)
- [The Next Decade in AI: Four Steps Towards Robust Artificial Intelligence](https://mlsanity.com/paper/2002.06177/) (2020)
- [Automated Algorithm Selection: Survey and Perspectives](https://mlsanity.com/paper/1811.11597/) (2018)
- [The Consciousness Prior](https://mlsanity.com/paper/1709.08568/) (2017)
- [Thinking Fast and Slow in AI](https://mlsanity.com/paper/2010.06002/) (2020)
- [Thinking Fast and Slow: Optimization Decomposition Across Timescales](https://mlsanity.com/paper/1704.07785/) (2017)
- [Building Ethically Bounded AI](https://mlsanity.com/paper/1812.03980/) (2018)
- [Incorporating Behavioral Constraints in Online AI Systems](https://mlsanity.com/paper/1809.05720/) (2018)
- [Deep Reasoning Networks: Thinking Fast and Slow](https://mlsanity.com/paper/1906.00855/) (2019)
- [Thinking, Fast and Slow: Combining Vector Spaces and Knowledge Graphs](https://mlsanity.com/paper/1708.03310/) (2017)
- [Making Human-Like Trade-offs in Constrained Environments by Learning from Demonstrations](https://mlsanity.com/paper/2109.11018/) (2021)
- [Interleaving Fast and Slow Decision Making](https://mlsanity.com/paper/2010.16244/) (2020)

## Built on by (most cited first, 11 of 11)

- [SwiftSage: A Generative Agent with Fast and Slow Thinking for Complex Interactive Tasks](https://mlsanity.com/paper/2305.17390/) (2023)
- [o1-Coder: an o1 Replication for Coding](https://mlsanity.com/paper/2412.00154/) (2024)
- [System-1.x: Learning to Balance Fast and Slow Planning with Language Models](https://mlsanity.com/paper/2407.14414/) (2024)
- [Learning by Self-Explaining](https://mlsanity.com/paper/2309.08395/) (2023)
- [Fast and Slow Planning](https://mlsanity.com/paper/2303.04283/) (2023)
- [Neurosymbolic AI approach to Attribution in Large Language Models](https://mlsanity.com/paper/2410.03726/) (2024)
- [A Metacognitive Approach to Out-of-Distribution Detection for Segmentation](https://mlsanity.com/paper/2311.07578/) (2023)
- [Value-based Fast and Slow AI Nudging](https://mlsanity.com/paper/2307.07628/) (2023)
- [Integrating Symbolic Reasoning into Neural Generative Models for Design Generation](https://mlsanity.com/paper/2310.09383/) (2023)
- [Dual Process Motion Planning](https://mlsanity.com/paper/2609.01260/) (2026)
- [Unlocking a New Rust Programming Experience: Fast and Slow Thinking with LLMs to Conquer Undefined Behaviors](https://mlsanity.com/paper/2503.02335/) (2025)

## Abstract (arXiv)

AI systems have seen dramatic advancement in recent years, bringing many applications that pervade our everyday life. However, we are still mostly seeing instances of narrow AI: many of these recent developments are typically focused on a very limited set of competencies and goals, e.g., image interpretation, natural language processing, classification, prediction, and many others. Moreover, while these successes can be accredited to improved algorithms and techniques, they are also tightly linked to the availability of huge datasets and computational power. State-of-the-art AI still lacks many capabilities that would naturally be included in a notion of (human) intelligence. We argue that a better study of the mechanisms that allow humans to have these capabilities can help us understand how to imbue AI systems with these competencies. We focus especially on D. Kahneman's theory of thinking fast and slow, and we propose a multi-agent AI architecture where incoming problems are solved by either system 1 (or "fast") agents, that react by exploiting only past experience, or by system 2 (or "slow") agents, that are deliberately activated when there is the need to reason and search for optimal solutions beyond what is expected from the system 1 agent. Both kinds of agents are supported by a model of the world, containing domain knowledge about the environment, and a model of "self", containing information about past actions of the system and solvers' skills.
