The challenge is specifying which subsets of queries should be directed to the service. Foursquare won't be able to handle appointment requests, but it does handle restaurant requests. How does the Foursquare part of Siri specify this?
Perhaps you're suggesting that all services answer all queries, and then there's some sort of ranking on the results from each service to decide which one responds. Foursquare would give a low score answer to appointment queries, so the calendar app would get preference. This would be the best suggestion I've heard, but requires processing every request against every agent, which may be OK for Apple, but only some independent developers would be able to provide their own hardware. They may have to provide software to run on Apple servers...
Any company that wants to provide "Siri-compatible" services registers on the apple developer website. Apple defines a set of services that it believes customers will be asking for (appointments, location-based recommendations, product-recommendations, weather, stock data, general search, etc...) and each provider can register their API endpoint and the query types they support. It seems that they already do this categorization to determine what to use (the built-in stock app for example) for a given query. Siri-compatable devices will regularly ping apple for a list of supported API endpoints and report back to Apple on how well these endpoints are performing on query speed and user adoption/satisfaction.
Perhaps you're suggesting that all services answer all queries, and then there's some sort of ranking on the results from each service to decide which one responds. Foursquare would give a low score answer to appointment queries, so the calendar app would get preference. This would be the best suggestion I've heard, but requires processing every request against every agent, which may be OK for Apple, but only some independent developers would be able to provide their own hardware. They may have to provide software to run on Apple servers...