Agents repesent a new paradigm for developing software applications. In spite of the interest of this particular way of looking at problems, there is considerable discrepancy on exactly what is an agent and which are the attributes and properties that characterize them. The agent-based view offers not only a powerful repertoire of tools and techniques but also provides a powerfull metaphor that brings about a better conceptualization of the probelms in different areas of Computer Science. Many computational metaphors have become transparent. That fact has brought confusion to the use of some terms even at the velel of fundamental ideas. Mature science is supposed to converge on a theoretical characterization of the systems it studies. Instead computational approaches seem to be diverging, with no broad consensus on central concepts. In particular, the agent concept generates a good deal of controversy. We consider here a metaphor that has become close to invisible with the hope of clarifying it. This wiew knits together the different threads that make up the agent model and offers the animated metaphor as a coneptual tools for analysis, design and implementation of a diverse range of software applications. That a metaphor makes possible new ways of creating programs and, more broadly, new ways of thinking about programs.