Every agent starts from the same few parts: a model that reads and writes text, a loop that feeds results back in, and tools that reach outside the conversation. The interesting part is how those parts arrange themselves around a task.
This post follows that idea one shape at a time.