Architectures, in general, have divergent features that lead to different properties. For example, some utilize a uniform knowledge representation, some a heterogeneous representation, and others, no explicit representation at all. These decisions then lead to the support of specific capabilities. The choice of features is often made by following some explicit methodological assumptions, often driven by the domains and environments in which the architecture will be used. The variety of these choices are what is responsible for the variety of architectures. One way to further constrain the number of choices is to use examples of psychological or neuroscientific validity in architecture design. An additional advantage of this approach is that there is synergistic interchange between the studies of artificial and biological intelligence; in particular, Newell has proposed that computer modeling tools as represented by cognitive architectures now allow the formulation of unified theories of cognition.
However, many researchers purposely ignore the constraints posed by human cognition. Often this is because they are interested in developing agents which populate and behave effectively in some environment; studying the interactions between the architecture and the environment (which could be a static, problem-solving situation or a highly dynamic, reactive environment) is of primary concern. In this sense, the term cognitive architecture is a little misleading. Although it is used throughout the document, a better term might be agent architecture which would include both those systems that made a explicit attempt to model human psychology (i.e. cognitive architectures) and those which simply explored some aspects of general intelligent behavior.