I've come to believe that design is the most important problem in Artificial Intelligence. Why? Consider the things we are trying to emulate with our AI systems: people. People have had four billion years to evolve bodies, and something like forty thousand years to evolve culture. We have to hope that our search for solutions will be much faster than nature's. That can only be because we use more intelligent search methods, or (to stay in the evolutionary metaphor) very powerful, well crafted operators.
Many people think that machine learning techniques, such as neural networks or evolutionary computing, are ways to get around the problem of design. In fact, machine learning has most of the same problems as human designers --- if there is too much complexity in the problem space, too many possible combinations of actions, and too little information to bias a result, then they will take a very long time. Indeed, many automated learning techniques may not even express there answer in a sufficiently complex representation that they could support a good solution to action selection. The representation used by the learning instrument, which is the expected representation of the final solution, is just one example of the sort of bias a designer needs to consider, regardless of whether that designer is using machine learning as part of the design process.
Design and the management of complexity are not only engineering issues; they affect natural processes such as evolution and learning as well. Even the most powerful learning algorithms take a very long time to explore the enormous quantity of information and possible actions available to an intelligent agent. For learning to be useful, it either has to have a very, very long time (like evolution) or be heavily biased towards the right solution. The design of a learning AI system must provide that bias.
The same problems (and solutions) apply to planning, the process by which an intelligent agent chooses what to do next. Even people don't consider every possible alternative action at every moment. People tend to either do things out of habit, or to think about a small set of possible alternatives that we associate with the current problem or context.
Paying attention to methodology and ease of design has had a major impact on both my control structures and my approach to learning. I am convinced it is key to the problem of developing complex behavior, whether by hand, by unsupervised learning, or anything in between.
For my publications on this subject, see Designing Intelligent Systems. For more work (by other people) on AI architectures, see my related research page.