5. An adaptive agent configured to follow rules, each rule comprising an input vector paired with an output vector, the agent comprising: a plurality of inputs responsive to events to provide input vectors to the adaptive agent; a plurality of outputs providing outputs to external components; a first repertoire comprising a plurality of members, each member comprising an abstract representation of an input vector; a second repertoire comprising a plurality of members, each member comprising an abstract representation of an output vector; a tact component operative to output an abstract representation from the first repertoire in response to a particular instance of an input vector; a pliance component operative to respond to an abstract representation from the second repertoire by outputting a particular instance of an output vector; and an intraverbal component operative to store associations between members of the first repertoire and members of the second repertoire.
5. An adaptive agent configured to follow rules, each rule comprising an input vector paired with an output vector, the agent comprising: a plurality of inputs responsive to events to provide input vectors to the adaptive agent; a plurality of outputs providing outputs to external components; a first repertoire comprising a plurality of members, each member comprising an abstract representation of an input vector; a second repertoire comprising a plurality of members, each member comprising an abstract representation of an output vector; a tact component operative to output an abstract representation from the first repertoire in response to a particular instance of an input vector; a pliance component operative to respond to an abstract representation from the second repertoire by outputting a particular instance of an output vector; and an intraverbal component operative to store associations between members of the first repertoire and members of the second repertoire. 7. The adaptive agent of claim 5 wherein each member of the second repertoire represents a name for a particular output vector and the pliance component implements a mapping from each name for a particular output vector to a corresponding output vector.