16:20 | 17:00
When automation is the hype we need to focus on solving ever complex problems. The key of solving such large and complex task is on cooperation, not in monolithic solutions that require too much resources to run.
If you prepare a team of smart agents specialized in specific tasks is much more efficient and scalable than prepare a single big and difficult system. Then the problem moves from training a big system (which is slow and expensive) to design a few specialized agents easy to train and very focused on solving simple tasks. I have designed several of this systems to solve complex problems like manage whole security on a Linux Server or be able to read and write (copywriting agents), that allows to solve problems with less training (up to 10 times less computing time on my tests).
For the design of these agents I have used the reference architecture proposed by Soham back in 1993, and evolved so any agent have a message queue, a basic IO interface and a workflow, which is now an evolution strategy (ES) trained to solve a single problem. From these basics I after added to main features, vertical and horizontal scalability.
Vertical scalability intended as the ability to call other agents to solve other problems (which is accomplished by keeping a contact book with address and domain), when the agent faces a request which cannot address, simply forwards to more likely agent type. Horizontal scalability, or self cloning, is the ability to create another independent process (local or remote) with same data of the current instance and add it to the contact book, which allows the agent to forward request when it have too much load to answer. Also agents must have the ability to train themselves, for what they stop taking requests, train and go back online.