| Thanks for the thoughtful questions. Here are my thoughts on your questions 1. The incentive for a developer is to get better exposure. This is working with the assumption that the metabot has a larger userbase than individual chatbots. In general, the incentive is similar to what causes an online store to setup a 'store' on amazon's market place or retail sites to list on a price comparison engine. 2. As regards the second point, my thoughts when writing the was that it will infact be a direct pass through i.e. the metabot will not need to bother about the structure or nature of the requests/response but will instead focus on knowing about the bots and their capabilities. If it does this effectively, it theoretically pipes all requests for a specific task to the same bot to complete. This comes with it's own complexities as well. 3. To rank bots in the same doamin, an option is to guage the satisfaction of multiple users of the bots. For instance if a bot is faster to complete a flight reservation and the 'user' confirms to the metabot that it is satisfied with the service, that's a positive signal. This can be compared across multiple bots to measure the effectiveness of each bot. 4. Indeed, I agree it will be challenging. But I think the challenge is less of structuring the queries. If the meta-bot acts primarily as a pipe, its most important task is to identify who handles what and know the state of the conversation. There are a lot of kinks to be worked out though... |
3. Your response is valid when a meta-bot is tracking bot usage and user feedback on bots. That's what I would call a warm ranking. However cold ranking is when a meta-bot is just starting up and has no usage data about the bots.
4. Even working as a pipe the meta-bot would need to figure out how to pipe the query to a bot especially consider this scenario: The user has asked "Book me 2 tickets and a hotel in San Diego for May 15th". The meta-bot has determined this is a travel query and found that Bot A is highest ranked for travel queries. It pipes the query to Bot A. However Bot A does not understand how to process this query because it excels at processing queries like "Book me 2 economy tickets and a 3 to 4 star hotel for 3 nights in San Diego" and it received high satisfaction ratings when it was queried like that. However in this vague query scenario Bot B does a much better job but the meta-bot won't know about it.
This is fascinating. I have an Amazon Echo and ever since I got it when it was not widely available I've been fascinated with the potential of it and Amazon went in the direction that I predicted it would with that. However Amazon Echo still uses APIs to interact with services and provides a nice NLP interface to it. This is a friction point for getting new things in the Echo and I have been wondering how to remove this friction.