Introducción

El término crowd computing se acuñó a mediados de la pasada década para hacer referencia a un nuevo enfoque tecnológico destinado a aprovechar el potencial de las masas conectadas a Internet para llevar a cabo tareas que resultan demasiado complejas para un equipo de personas y que sobrepasan las capacidades de razonamiento actualmente al alcance de los ordenadores, si bien éstos pueden dar cuenta de tareas rutinarias o de fuerza bruta como elemento clave para abordar problemas a gran escala. El objetivo del enfoque se centra en identificar aquellos aspectos de un determinado problema que admiten solución por parte de un ordenador, y separarlos de aquellos otros en los que la inteligencia humana y la discriminación efectiva que le aportan su formación y/o sus sentidos todavía resultan cualidades fuera del alcance de los ordenadores (entender, sentir, intuir, reconocer…). Esta separación permite abordar un problema combinando o complementando los aportes de personas y ordenadores a los subproblemas para los que su capacidad y cualidades resulten más idóneas.

Con cada vez más voces hablando del crowdsourcing y crowd computing como pilares tecnológicos de la industria y la sociedad del conocimiento del futuro, complementando los papeles de la inteligencia artificial y la robótica, se prevé un impacto notable en la forma de hacer negocio incluso en áreas de producción ajenas a los sistemas de información, generalizando la externalización de tareas y alumbrando nuevos tipos de relaciones entre empresas y empleados (más desacopladas, menos estables y predecibles) con las inevitables transformaciones sociales que ello comporta.

Hoy en día, las plataformas de crowdsourcing para la gestión de trabajo en línea se están consolidando como una realidad eficiente en una sociedad que prima la flexibilidad en los nuevos modelos de relación entre trabajador y empresario. El Mechanical Turk se ha convertido en una plataforma que gestiona más de un millón de personas pendientes de encargos de todo tipo, y en la que se pueden encontrar más de 300.000 tareas ofertadas en cualquier momento del día, y un sinfín de nuevos lanzamientos en áreas de aplicación insospechadas tiempo atrás, con un nivel de competencia creciente en muchas de ellas. Y, sin embargo, lejos de ostentar una posición dominante en el sector, es testigo de la aparición continua de múltiples plataformas que nacen con la ambición de potenciar dicha flexibilidad (Outsourcely, Fiverr, PeopleperHour, 99designs, Witmart…). Destaca especialmente el caso de UpWork, que en muy poco tiempo se ha erigido en la plataforma de crowdsourcing líder del sector en el campo de las tecnologías de la información, con varios millones de trabajadores independientes compitiendo actualmente por 3 millones de nuevas tareas al año.

Con todo, esta explosión de soporte tecnológico para gestionar las iniciativas empresariales de tipo crowdsourcing se limita habitualmente a proveer de una plataforma de emparejamiento de la oferta/demanda de tareas y de mecanismos de valoración mutua de la labor de ofertantes y trabajadores. En el ámbito del crowdsourcing, por ejemplo, no existen actualmente mecanismos de ayuda a la hora de descomponer el problema en varias tareas para que el trabajo pueda ser realizado en paralelo, aprovechando la fuerza laboral de las masas presentes en Internet. Estas carencias se mantienen en crowd computing y se ven acentuadas cuando incluimos en la ecuación algunos de sus elementos característicos:

  • El reparto de tareas entre personas y máquinas en función de sus distintas capacidades (de hecho, por algo en el Mechanical Turk las tareas reciben el nombre de HITs –Human Intelligent Tasks–, aduciendo al objetivo de que sean tareas resolubles por personas).
  • La selección (semi)automática de personas y aplicaciones para resolver según qué problemas en función de esas cualidades que caracterizan de forma individual tanto a personas como a aplicaciones software.

No hay actualmente ningún tipo de soporte en el estado del arte para ayudar a los diseñadores en ese proceso de identificación de las tareas apropiadas para personas y máquinas (y mucho menos la combinación de las soluciones a estas subtareas para obtener la solución al problema global), ni en la identificación inteligente (más allá de su rating histórico) de los trabajadores más adecuados o con mayor probabilidad de alcanzar el éxito, ni en la selección de las aplicaciones más apropiadas en función de las características o restricciones de la tarea.

Asimismo, resultaría necesario dotar a estas herramientas de mecanismos de gestión del conocimiento imperfecto a lo largo del proceso de desarrollo de un sistema de crowd computing. Es claro que en muchos dominios de aplicación no cabe esperar que exista una única representación válida del conocimiento, sino más bien múltiples puntos de vista que habrán de poder gestionarse en paralelo. Es probable, dependiendo de la etapa del desarrollo, que estos diferentes puntos de vista resulten incluso contradictorios entre sí, reflejando la natural incertidumbre que rodea a cualquier proyecto en sus etapas iniciales. En este sentido, también debe contemplarse la situación de que las distintas soluciones parciales proporcionadas por máquinas y personas presenten características contradictorias, o, al menos, de conciliación no inmediata. Este abanico de orígenes de conocimiento contradictorio y/o incompleto debe poder gestionarse y conciliarse hasta que se esté en condiciones de resolver las incertidumbres o de tomar una decisión sobre la alternativa más apropiada.

La creación de ese cuerpo de herramientas que implementen procedimientos sistemáticos que den soporte al proceso de creación de servicios de crowd computing es, sin duda, un problema abierto en el estado del arte de este prometedor campo, y una necesidad apremiante para caracterizarlo como una rama de la ingeniería.