The author proposes a shift in software engineering methodology as AI agents become more prevalent in development. While traditional system design focuses on individual components and their interactions, the environment-based approach emphasizes creating conditions that allow systems to emerge and evolve through agent activity.

In this model, the architect acts as a designer of the 'workshop' or environment. Instead of dictating every step, the architect sets goals, constraints, and validation criteria. Agents, whether human or AI, operate within these parameters to find architectural solutions and implement code.

The environment-based approach draws on concepts from the 1970s and 1980s, comparing the process to gardening or ecosystem restoration. The architect must continuously observe the environment, adjusting conditions if agents repeatedly make the same errors or fail to receive necessary feedback.

A critical aspect of this approach is defining architectural constraints and quality metrics. Since software development lacks inherent physical laws to prevent poor code structure, architects must implement technical mechanisms to enforce rules and detect violations before accepting any results.

The author distinguishes between the environment where code is generated and the final software product. While the creation process becomes more flexible and automated, the resulting software must still meet traditional requirements for deterministic behavior and reliability.