Many AI researchers are today striving to build agent teams for comple
x, dynamic multi-agent domains, with intended applications in arenas s
uch as education, training, entertainment, information integration, an
d collective robotics. Unfortunately, uncertainties in these complex,
dynamic domains obstruct coherent teamwork. In particular, team member
s often encounter differing, incomplete, and possibly inconsistent vie
ws of their environment. Furthermore, team members can unexpectedly fa
il in fulfilling responsibilities or discover unexpected opportunities
. Highly flexible coordination and communication is key in addressing
such uncertainties. Simply fitting individual agents with precomputed
coordination plans will not do, for their inflexibility can cause seve
re failures in teamwork, and their domain-specificity hinders reusabil
ity. Our central hypothesis is that the key to such flexibility and re
usability is providing agents with general models of teamwork. Agents
exploit such models to autonomously reason about coordination and comm
unication, providing requisite flexibility. Furthermore, the models en
able reuse across domains, both saving implementation effort and enfor
cing consistency. This article presents one general, implemented model
of teamwork, called STEAM. The basic building block of teamwork in ST
EAM is joint intentions (Cohen & Levesque, 1991b); teamwork in STEAM i
s based on agents' building up a (partial) hierarchy of joint intentio
ns (this hierarchy is seen to parallel Grosz & Kraus's partial Shared-
Plans, 1996). Furthermore, in STEAM, team members monitor the team's a
nd individual members' performance, reorganizing the team as necessary
. Finally, decision-theoretic communication selectivity in STEAM ensur
es reduction in communication overheads of teamwork, with appropriate
sensitivity to the environmental conditions. This article describes ST
EAM's application in three different complex domains, and presents det
ailed empirical results.