Usually when we think about a cognitive architecture we refer to that of a human being. But throughout my work, I use this term more abstractly and analogous to that of a computer architecture in the sense that I'm not trying to figure out the cognitive architecture of human beings but rather just the parts that could serve to the goal of building digital assistants capable of speaking english or other languages in order to collaborate with us.
This way I unbind myself from any need to be correct or accuarate about my ideas in regards to it being that of a human being. My goal is not to document all possible mechanisms or the best architecture but to simply explore and experiment in this space.
Which architecture do I want to implement?
I want to discover and implement an architecture that allows 💡 Developmental Training. In other words, one that allows a being to grow into different stages of maturity, similar to that of humans or other similarly intelligent animals like chimps and crows. For example, there is a stage where we learn to learn as kids as explored in 💡 Meta Learning.
To keep this work more manageable I created a document type for 📝 Cognitive Mechanisms where each mechanism uses the 🧩 icon. The idea is that eventually these mechanisms could be utilized as modules in a 🧰 Mind Prototyping Tool where one can tweak and tune each module to produce an architecture for their specific needs.
A lot of reasoning behind theories of mind is based on the assumption that thinking is inherited by our human genes. I believe that thinking as we know it (using language) is actually an invention as proposed by Daniel Everett. Following this idea I think that most of what we consider innate of humans is probably also just inventions. This assumption clarifies how we need to prepare a Cognitive Architecture.
Here's an image on how a human architecture might work based on Joscha Bach's presentation on Attention: