The Internet of Things (IoT) is poised to augment the Internet by enabling machine to machine (M2M) communication. However, the machines, or 'things' lack of self-reasoning capability limits their potential applications in other value-added services. Consequently, we introduce the concept of Agents of Things (AoT) as an extension to the IoT, in which the things are embedded with self-reasoning intelligent software agents to provide value-added services to humans. Two crucial issues in designing intelligent things are to determine what value-added services they should offer and the subsequent level of reasoning abilities for the things. Therefore, we need to find an optimal match between the hardware capabilities of the things and their software agents' reasoning abilities to deliver value-added services on top of performing their basic IoT functions. In this paper, we present the results of the software analyses represented by a software spectrum and the hardware analyses represented by a hardware spectrum. We then associate the two spectrums to form a structured hardware-software optimizer for the thing's design model.