1. A method in a computer system for assessing the relative complexity of different options for performing a task by the computer system, the method comprising the steps of: storing programming instructions on a storage medium of the computer system; executing the instructions by the computer system, wherein the executing causes the computer system to implement a method comprising the steps of: defining the task as a sequenced set data structure that specifies actions of the task, and sequence information that specifies the order in which particular actions are to be performed; storing recipes available for performing constituent actions of the task as sequenced set data structures that specify subactions of the recipes for the constituent actions, and sequence information that specifies the order in which the subactions are to be performed; determining complexity measures associated with performing the task using different combinations of recipes for constituent actions of the task, based upon complexity measures of actions specified by respective combinations of available recipes; delegating the defined task to a primary agent for execution of the task by at least one of the primary agent and one or more contracting agents, wherein determining complexity measures of the action is based on mutually exclusive measures comprising (i) the presence of recipes with the primary agent for performing the action and also the presence of agents for contracting out the action; (ii) the presence of recipes with the primary agent and the absence of agents for contracting; (iii) the presence of agents for contracting and the absence of recipes with the primary agent; and (iv) the absence of both agents and recipes; and presenting a report of the complexity measures associated with performing the task.