I'll be teaching a multi-agent systems research workshop at RSM on January 21-23 and on March 10-11. A tentative schedule is available now. This can also serve as a categorized agent library for our project. Enjoy the articles! Wolf
www.bestbuyfinder.com http://dealtime.com/ http://www.shopping.com -- (rebranded from dealtime.com) close-coupled agent design that integrates different PCAs into its architecture -- while you start searching it gives you product suggestions, an advocate agent would give you products related to your preferences since it got to know you over time
An aggregate of the 3 main PCAs with social tagging and customer reviews http://www.pronto.com/
A *wonderful* mini-essay, Arun! I especially like a couple of terms you use, which we perhaps should carry forward in our evolving discussion vocabulary. AgentWorlds/ServiceLands. I suspect that we will have more so say about this interaction space as we move forward with our visioning, reference architectures and implementations.
I have been mulling a few other thoughts and issues that are not fully formed yet, but should enter into our mix of discussion...
- I am becoming increasingly convinced that a large number of high-powered, supporting technologies in areas of Information Retrieval (IR), meta-information creation and manipulation/management and semantic web support will be essential to our vision and reference development directions.
I am now moving onto a new project in which I will be responsible for portions of UI and infrastructure to support a "showcase" for current and evolving technologies that our department is proficient in and working on. A growing number of these technologies are (and will continue to be) related to information retrieval (IR) and knowledge engineering/inference from data and meta-data made available by IR and subsequent text analytic tasks. My early research into available tools to support these technologies indicates that there are many now, and the number is growing rapidly (see LingPipe and its very nice summary page of this product's perceived "competition" at: http://www.alias-i.com/lingpipe/web/competition.html).
*** Advocate agents will absolutely need to work in this problem space as part of their (likely) insatiable need for dynamically/continuously updated (meta-)data/information/knowledge to support their behaviors.
Current directions and tools in support of the Semantic Web nicely dovetail with these technologies, and will also form an essential part of a reasonable "advocate agent technology stack". See the current MIT work on the SIMILE projects (http://simile.mit.edu/) for (what I consider to be) exciting "teases" of the necessary directions in which we must go to realize a powerful vision of human assistance by advocate agents. As Wolf has intimated, these directions will most likely need to address (as easy as possible) "mashup-ability" of features, content and meta-information.
We need to include and pragmatically limit these considerations in our vision and directions.
- Focusing a bit more on the "pragmatics" I mention above ... It would be extremely easy to create a grand vision that would be highly desirable, but impossible to meet in a realistic manner in any reasonable timeframe. I suggest that we a) articulate and maintain an evolving/living grand vision statement, but, to make our efforts see continuing value, b) set realistic time-boxed goals that incrementally move the effort forward in meaningful ways.
I strongly suggest that these time-boxes be no longer than 6 months in length, with both demonstration and documentary deliverables at the end of each of these cycles. I suspect that there would typically be several agile development iterations within each of these larger goal-cycles.
Some suggested process to guide our efforts:
The above approach would give our project efforts some structure. Our first "goal cycle" would include a) development and publication of a first version of our (living) "big picture" vision, b) development and publication of a set of goals for the next (first) 6-month project iteration.
We could then flesh this out with a (very) few agile, all-hands planning sessions to determine the a) prioritized "vision" backlog of tasks, b) prioritized backlog of stories and tasks for the NEXT goal-cycle (including work assignments to specific persons). The stories, tasks and priorities will be updated during regular meetings, and specifically during start-of-iteration planning meetings. We should hold retrospectives on the process at least every goal-cycle. Goal cycles will end with demonstrations of substantive results and publication of supporting documentation and related scholarly papers, internally and to relevant conferences.
If there are no objections, I suggest we apply a variant of Scrum to do this and guide our process steps and process improvement. We may or may not want to use a tool such as the freely available ScrumWorks Basic (http://danube.com/scrumworks/basic) to help us keep track of our "burndown" or "burnup" and productivity "velocity" statistics.
We will need group collaboration tools. I am open to suggestions here, but I think that perhaps Skype (to support free international telecon) plus a collaborative meeting/appSharing tool will be needed. NetMeeting will most likely work. More than a handful of others are certainly available. (Any recommendations? - don't forget to explain why!)
We have an opportunity to use the Qwaq forum product (www.qwaq.com) to good advantage here, if we are willing and able to spend ~$50 per person per month for persistent cyberspace access to one or more virtual planning and meeting "rooms" devoted to advocate agent projects (perhaps running in parallel). This service provides VOIP + collaboration support in virtual world settings, so we might be able to do without Skype if we go this route. What do others think?
I have an interesting observation that most folks who are interested in web services (HTTP transports and XML payloads) are also interested in Agents (the converse seems also true, though to a lesser extent). Needless to say, I am one of those folks.
When I visualize the trends of both Agents and Web-services, I see convergence happening. I also see the rate of convergence increasing. There must be a very strong feedback loop that is making this happen.
Of many things that are catalyzing this convergence, I would like to point-out a rather obscure but in my mind a relevant trend that is precipitating this confluence - which is the miniaturization of form-factor.
I would like to describe the form-factor as the magnitude of footprint or weight of a widget/agent/service/component . To take an example, the form-factors of a silicon transistor has decreased many times over since they were interested. That has resulted in packing more and more power in the same amount of space, which means we have full-blown computers in your hand - like the iPod.
Similarly, I have noticed the trend of Agents is loosened up a bit. Lighter weight frameworks are springing up. In the past (I go back to 2000, when working with Wolf), you always looked for Agent platforms - which were more or less proprietary - and the vision I get is big,heavy,inertia . Overtime, as the memes spread, innovations happened, we have reached a stage - take this blog as an example, where we are not afraid to talk about agents running on the most ubiquitous platform - the browser. Yes, the browser now is the platform.
From a web-services front, what started as SOAP, as our understanding of what is practical and what is needed, the form of the web-services has changed significantly to take the current form of REST-based services. Where as SOAP was "opaque", REST was transparent. As things become more transparent, they become more useful and innovations spring forth. REST being a style and not an API or framework, the non-programmers started innovating. Services have sprung all over, even SOAP is adopting REST. i.e. Web services have become commoditized.
Now with so much power and so much access to information, the land has been tilled and fertilized for the next level of innovations to grow.
Agents folks, in AgentWorld, suddenly have the limitless access to search services, encyclopaedia services (wikipedia etc.), product cataloges, consumer trends - that are a result of massive, internet-scale intelligence - all in just a few lines of code(very small form-factor). With a few learning algorithms, they could get wiser. Agents meet Web services.
In the other-world, say ServiceLand. Service developers have all this power in their hands, expressed in again very few lines of code. With the world-knowledge in their hands and in essence ability to collaborate with any number of other services, it is but obvious that with a little bit more infusion of autonomy, proactivity, learning the value of their service suddenly becomes much more valuable. Web services meet Agents.
A welcome convergence of AgentWorlds with ServiceLands - in no small part due to the miniaturizations of their form-factors.
I see an opportunity to leverage these tools in our project as an analysis of a customer on a particular website. An Advocate Agent would need to combine different sources and make its overall judgment. The caveat is that these tools are usually attached to a particular vendor and so again not on the client side. Maybe we can learn from the type of services they are offering, and get inspiration for our development.