Architectural design of AI software: the 3 layers