There has been an increasing interest in developing computational theories of agents which are typically reactive. However theoretical foundations of such agents are less developed. It is also not clear what combination of bottom up and top down approaches is the best. We develop a formal model of reactive agency and use it to analyze the interactions among complexities of goals, multi-agent system and its environment. Using the notion of coupling that captures dependency within the internal structure of an agent system, we show that more complex goals demand higher coupling or more behaviors or more complex environment. Visiting Herbert Simon’s conjecture that behaviors look complex because they occur in a complex environment, we conclude that complexity of an environment is also related to complexity of goals being fulfilled and in fact, an environment becomes more complex as one tries to externalize interhal state with markers. Warning that global effects of adding markers need to be analyzed, we show that behaviors with longer stimuli have the potential to make environments more complex. These results enable us to identify agent-environment-goal tradeoffs. We use these constraints to obtain a specification of multi-agent systems. These architecture independent constraints provide a useful tool for automated agent design.