Methods, systems, and apparatus, including computer programs encoded on computer storage media, for implementing an intelligence aggregation system. One of the methods includes receiving, by an agent, one or more goal criteria. A search to identify one or more other agents in the system is performed. Connections with the one or more other agents are established, with each connection having an initial weight. Data outputs generated by each connected agent are received to iteratively update a model using the received data outputs and associated weights. If the current model generated from current weights for the connections of the one or more connected agents satisfies the one or more goal criteria, the output of the current model is published to a search engine.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to implement a plurality of agents, each agent being configured to perform operations comprising: receiving one or more goal criteria; performing a search to identify one or more other agents in the system that generate data outputs that are candidate features for training a model satisfying the goal criteria; establishing a respective connection with the one or more other agents, each connection having an initial weight; receiving data outputs generated by each connected agent; iteratively training a model using the received data outputs from each connected agent as features and adjusting the respective weights of the connections for each connected agent; determining that a current model generated from current weights for the connections of the one or more connected agents satisfies the one or more goal criteria; and publishing output of the current model to a search engine. 2. The system of claim 1, wherein the operations further comprise: evaluating each subset of a plurality of subsets of the data outputs generated by the connected agents, including: generating an initial model using only data sources in the subset, determining, for each data source in the subset, whether the data source is sufficiently predictive of a target variable of the goal criteria, and adding, to a final set of data sources, only the data sources in the subset that are sufficiently predictive of the target variable of the goal criteria; and training the model using only data sources in the final set of data sources. 3. The system of claim 2, wherein each initial model has fewer inputs, less training data, and requires less training time, than the final model. 4. The system of claim 1, wherein the operations further comprise: receiving, from another agent, a request to establish a connection; and providing the output of the current model to the other agent for consumption by the other agent in response to the request. 5. The system of claim 1, wherein the one or more storage devices further store instructions that are operable, when executed by the one or more computers, to cause the one or more computers to implement a search engine configured to perform operations comprising: receiving, from a first agent, a publication of output data generated by the first agent; receiving, from a second agent, a query for output data; determining that the output data generated by the first agent satisfies the query; and providing an identification of the first agent to the second agent. 6. The system of claim 5, wherein the query specifies one or more keywords, and wherein determining that the output data generated by the first agent satisfies the query comprises determining that the output data has an attribute name matching the keywords in the query. 7. The system of claim 5, wherein the query specifies a shape of an output curve, and wherein determining that the output data generated by the first agent satisfies the query comprises determining that the output data matches the shape of the output curve specified in the query. 8. The system of claim 5, wherein the one or more computers implementing the search engine perform operations comprising obtaining a random or pseudorandom sample of agents in the system. 9. The system of claim 1, wherein the operations further comprise: after adjusting the respective weights of the connections for each connected agent, determining that a particular weight of a particular connection satisfies a threshold; and in response to determining that a particular weight of a particular connection satisfies a threshold, terminating the connection. 10. The system of claim 1, wherein the goal criteria specifies an attribute name of a desired output, and wherein the operations further comprise performing a search to identify one or more other agents that generate data outputs matching the attribute name of the desired output. 11. The system of claim 1, wherein the goal criteria include one or more input parameters, wherein each input parameter specifies an attribute name of a feature to use to train the model. 12. The system of claim 11, wherein performing a search to identify one or more other agents in the system that generate data outputs that are candidate features for training a model satisfying the goal criteria comprises performing a search to identify one or more other agents that generate outputs matching at least one attribute name in the one or more input parameters. 13. The system of claim 1, wherein the goal criteria include a performance metric and a quality threshold, wherein the operations further comprise computing the performance metric after each model is trained, and wherein determining that the current model satisfies the one or more goal criteria comprises determining that the computed performance metric satisfies the quality threshold. 14. The system of claim 1, wherein the operations further comprise performing a search to identify one or more system-configured adapters that are configured to ingest data from outside the system and to generate outputs corresponding to the ingested data. 15. A computer-implemented method for implementing a plurality of agents in an intelligence aggregation system, the method comprising: receiving, by an agent, one or more goal criteria; performing, by the agent, a search to identify one or more other agents in the intelligence aggregation system that generate data outputs that are candidate features for training a model satisfying the goal criteria; establishing, by the agent, a respective connection with the one or more other agents, each connection having an initial weight; receiving, by the agent, data outputs generated by each connected agent; iteratively training, by the agent, a model using the received data outputs from each connected agent as features and adjusting the respective weights of the connections for each connected agent; determining, by the agent, that a current model generated from current weights for the connections of the one or more connected agents satisfies the one or more goal criteria; and publishing, by the agent, output of the current model to a search engine, thereby making the output of the current model available for consumption by other agents in the intelligence aggregation system. 16. The method of claim 15, further comprising: evaluating each subset of a plurality of subsets of the data outputs generated by the connected agents, including: generating an initial model using only data sources in the subset, determining, for each data source in the subset, whether the data source is sufficiently predictive of a target variable of the goal criteria, and adding, to a final set of data sources, only the data sources in the subset that are sufficiently predictive of the target variable of the goal criteria; and training the model using only data sources in the final set of data sources. 17. The method of claim 16, wherein each initial model has fewer inputs, less training data, and requires less training time, than the final model. 18. The method of claim 15, further comprising: receiving, from another agent, a request to establish a connection; and providing the output of the current model to the other agent for consumption by the other agent in response to the request. 19. The method of claim 15, further comprising: receiving, by a search engine from a first agent, a publication of output data generated by the first agent; receiving, by the search engine from a second agent, a query for output data; determining, by the search engine, that the output data generated by the first agent satisfies the query; and providing, by the search engine, an identification of the first agent to the second agent. 20. One or more non-transitory computer storage media encoded with computer program instructions that when executed by one or more computers cause the one or more computers to perform operations implementing a plurality of agents in an intelligence aggregation system, each agent being configured to perform operations comprising: receiving one or more goal criteria; performing a search to identify one or more other agents in the system that generate data outputs that are candidate features for training a model satisfying the goal criteria; establishing a respective connection with the one or more other agents, each connection having an initial weight; receiving data outputs generated by each connected agent; iteratively training a model using the received data outputs from each connected agent as features and adjusting the respective weights of the connections for each connected agent; determining that a current model generated from current weights for the connections of the one or more connected agents satisfies the one or more goal criteria; and publishing output of the current model to a search engine.