Agents, ranging from personal assistants to complex automated systems, are transforming technology interactions by utilizing a straightforward architecture centered around a while loop that facilitates tool calls. This simple and flexible design, akin to UNIX pipes and React components, allows for handling complexity without becoming overly complicated, enabling the extension to sub-agents and multi-agents. The focus is on optimizing tool design, context engineering, and evaluation, with tools forming a significant part of the agent's context. Effective tool design involves presenting only essential parameters to avoid overwhelming the language model, while context engineering ensures tool outputs are clear and concise. Evaluation is crucial for building an agent system, requiring a representative dataset and scorers for continuous improvement. The enduring core architecture of agents—comprising a language model, system prompt, and tools—absorbs complexity at the edges, making it adaptable to advancements in AI models and tools, emphasizing simplicity and reliability for successful adaptation to technological changes.