The advantages of the agent-based approach are still not widely recognized outside the agent research community. We believe that there is a need for guidelines that summarize the key benefits of the agent approach to nonagent experts. Agent patterns can provide that guidance. The agent community has already started to use patterns for describing best practices of agent design. However, these patterns tend to pre-suppose that the decision to follow an agent approach has already been made. In this paper we present a pattern language – a set of patterns that build on each other – as a starting point for more specific agent pattern languages. It documents the forces – the drivers, and design tradeoffs – involved in agent-based design, and a set of generic patterns that apply to all agent systems. These patterns introduce and motivate the concepts of agent society, roles, common vocabulary, delegation and mediation. The paper illustrates the application of these patterns with a case study on information agents for filtering news.