Keras 의 4 대 design 원칙은 wiki 에 붙여놓은 manifesto 가 아니라 *API 선택 하나하나* 에 박혀있어. User-friendliness — 사람을 위한 설계, 일반 use case 에서 사용자 행동 최소화 + 명확한 에러 메시지. Modularity — model 은 standalone module 의 sequence 또는 graph. layer/optimizer/loss/regularizer 가 다 독립적인 building block. Extensibility — 새 module 추가 쉬움 (새 class·함수). Minimalism — just enough, no more.
이 4 개 들고 source 읽으면 모든 결정이 예측돼. compile 에 'adam' 문자열 받는 거 (user-friendliness), optimizer 와 loss 가 서로 안 알게 한 거 (modularity), layer subclass 가 반 화면짜리인 거 (extensibility), keras.layers 가 private 안 숨기는 거 (minimalism).