For the past few years I have been working on the development of agent communication languages protocols. These are intended to be high-level languages and protocols to support the communication among intelligent software agents. This work has grown out of the DARPA-sponsored Knowledge Sharing Effort (KSE) -- a distributed research program which is developing a methodology and software tools for coordination and knowledge sharing in intelligent information systems or "agents". This research focuses on the ability of such agents to effectively interoperate by communicating information and knowledge in spite of problems introduced by heterogeneity of platforms, implementation technology, operating environments, and development. This communication requires a common language or language framework which involves syntactic, semantic and pragmatic components. The KSE has developed KQML as a language and protocol for exchanging information and knowledge which addresses the pragmatics level of the communication. It focuses on an extensible set of performatives, which defines the permissible operations that agents may attempt on each other's knowledge and goal stores. The performatives comprise a substrate on which to develop higher-level models of inter-agent interaction such as contract nets and negotiation. In addition, KQML provides a basic architecture for knowledge sharing through a special class of agents called communication facilitators which coordinate the interactions of other agents The ideas which underlie the evolving design of KQML are currently being explored through experimental prototype systems which are being used to support several testbeds in such areas as concurrent engineering, intelligent design and intelligent planning and scheduling. Our focus has been on supporting non-mobile agents but we realize that mobile knowledge -- i.e., knowledge that is shared among non-mobile agents -- has many of the properties of mobile-code. A version of a preliminary note on "Mobile knowledge as mobile code" is available at .