En informática , un agente de software es un programa informático que actúa en nombre de un usuario o de otro programa en una relación de agencia.
El término agente deriva del latín agere (hacer): un acuerdo para actuar en nombre de alguien. Dicha "acción en nombre de" implica la autoridad para decidir qué acción, si la hay, es apropiada. [ 1 ] [ 2 ] Algunos agentes se conocen coloquialmente como bots , de robot . Pueden estar encarnados, como cuando la ejecución se combina con un cuerpo robótico, o como software como un chatbot que se ejecuta en una computadora , como un dispositivo móvil , por ejemplo Siri . Los agentes de software pueden ser autónomos o trabajar junto con otros agentes o personas. Los agentes de software que interactúan con personas (por ejemplo, chatbots , entornos de interacción humano-robot ) pueden poseer cualidades similares a las humanas, como comprensión del lenguaje natural y habla, personalidad o encarnar forma humanoide (ver Asimo ).
Entre los conceptos relacionados y derivados se incluyen los agentes inteligentes (que exhiben, en particular, algunos aspectos de la inteligencia artificial , como el razonamiento ), los agentes autónomos (capaces de modificar los métodos para lograr sus objetivos), los agentes distribuidos (que se ejecutan en ordenadores físicamente distintos), los sistemas multiagente (agentes distribuidos que trabajan juntos para lograr un objetivo que no podría ser alcanzado por un solo agente actuando solo) y los agentes móviles (agentes que pueden trasladar su ejecución a diferentes procesadores).
Conceptos
Los atributos básicos de un agente de software autónomo son que los agentes:
- No se invocan estrictamente para una tarea, sino que se activan por sí mismos.
- puede residir en estado de espera en un host, percibiendo el contexto,
- puede obtener estado de ejecución en un host al iniciar las condiciones,
- no requieren interacción del usuario,
- puede implicar otras tareas, incluida la comunicación.

El concepto de agente proporciona un método para describir una entidad de software compleja capaz de actuar con cierto grado de autonomía para realizar tareas en nombre de su anfitrión. Pero a diferencia de los objetos, que se definen en términos de métodos y atributos , un agente se define en términos de su comportamiento. [ 3 ]
Diversos autores han propuesto diferentes definiciones de agentes, que comúnmente incluyen conceptos como:
- persistencia: el código no se ejecuta bajo demanda, sino que se ejecuta continuamente y decide por sí mismo cuándo debe realizar alguna actividad;
- autonomía: los agentes tienen capacidad de selección de tareas, priorización, comportamiento orientado a objetivos y toma de decisiones sin intervención humana;
- Habilidad social: los agentes son capaces de interactuar con otros componentes a través de algún tipo de comunicación y coordinación, y pueden colaborar en una tarea;
- Reactividad: los agentes perciben el contexto en el que operan y reaccionan a él de forma apropiada.
Distinguir agentes de programas
Todos los agentes son programas, pero no todos los programas son agentes. Contrastar el término con conceptos relacionados puede ayudar a aclarar su significado. Franklin y Graesser (1997) [ 4 ] analizan cuatro nociones clave que distinguen a los agentes de los programas arbitrarios: reacción al entorno, autonomía, orientación a objetivos y persistencia .
Distinción intuitiva de agentes y objetos
- Los agentes son más autónomos que los objetos .
- Los agentes tienen un comportamiento flexible: reactivo , proactivo , social.
- Los agentes tienen al menos un hilo de control, pero pueden tener más. [ 5 ]
Diferenciación entre agentes y sistemas expertos
- Los sistemas expertos no están acoplados a su entorno.
- Los sistemas expertos no están diseñados para un comportamiento reactivo y proactivo.
- Los sistemas expertos no consideran la habilidad social. [ 5 ]
Distinción entre agentes de software inteligentes y agentes inteligentes en IA
- Los agentes inteligentes (también conocidos como agentes racionales ) no son solo programas informáticos: también pueden ser máquinas, seres humanos, comunidades de seres humanos (como empresas ) o cualquier cosa capaz de comportarse con un objetivo en mente.
Impacto de los agentes de software
Los agentes de software pueden ofrecer diversas ventajas a sus usuarios finales al automatizar tareas complejas o repetitivas. [ 6 ] Sin embargo, existen impactos organizacionales y culturales de esta tecnología que deben considerarse antes de implementar agentes de software.
Impacto organizacional
El bienestar laboral y la satisfacción en el trabajo tienen un impacto significativo.
A las personas les gusta realizar tareas sencillas que les proporcionen una sensación de éxito, a menos que la repetición de dichas tareas afecte al resultado general. En general, la implementación de agentes de software para realizar tareas administrativas aumenta considerablemente la satisfacción laboral, ya que administrar el propio trabajo nunca resulta agradable para el trabajador. El esfuerzo liberado permite un mayor grado de compromiso con las tareas sustanciales del trabajo individual. Por lo tanto, los agentes de software pueden proporcionar las bases para implementar un trabajo autogestionado, libre de controles jerárquicos e interferencias. [ 7 ] Estas condiciones pueden garantizarse mediante la aplicación de agentes de software para el soporte formal necesario.
Impacto cultural
Los efectos culturales de la implementación de agentes de software incluyen la pérdida de confianza, el deterioro de habilidades, la disminución de la privacidad y el distanciamiento social. Algunos usuarios pueden no sentirse del todo cómodos delegando completamente tareas importantes a aplicaciones de software. Quienes comienzan a depender exclusivamente de agentes inteligentes pueden perder habilidades importantes, por ejemplo, relacionadas con la alfabetización informacional. Para actuar en nombre de un usuario, un agente de software necesita comprender completamente su perfil, incluyendo sus preferencias personales. Esto, a su vez, puede generar problemas de privacidad impredecibles. Cuando los usuarios comienzan a depender más de sus agentes de software, especialmente para actividades de comunicación, pueden perder el contacto con otros usuarios humanos y ver el mundo a través de los ojos de sus agentes. Estas consecuencias son las que los investigadores y usuarios de agentes deben considerar al trabajar con tecnologías de agentes inteligentes. [ 8 ]
Historia
El concepto de agente se remonta al Modelo de Actor de Hewitt (Hewitt, 1977): "Un objeto autónomo, interactivo y de ejecución concurrente, que posee un estado interno y capacidad de comunicación".
En términos más académicos, los sistemas de agentes de software son una evolución directa de los sistemas multiagente (MAS). Los MAS evolucionaron a partir de la inteligencia artificial distribuida (DAI), la resolución de problemas distribuidos (DPS) y la IA paralela (PAI), heredando así todas las características (buenas y malas) de la DAI y la IA .
El vídeo " Knowledge Navigator " de John Sculley de 1987 mostraba una imagen de la relación entre los usuarios finales y los agentes. Si bien este campo fue un primer paso ideal, sufrió una serie de implementaciones descendentes fallidas, en lugar de un enfoque ascendente y gradual. La variedad de tipos de agentes es ahora (desde 1990) amplia: la web, los motores de búsqueda, etc.
Ejemplos de agentes de software inteligentes
Agentes de compra (bots de compra)
Los agentes de compra [ 9 ] viajan por una red (por ejemplo, internet) recuperando información sobre bienes y servicios. Estos agentes, también conocidos como «bots de compra», funcionan de manera muy eficiente para productos básicos como CD, libros, componentes electrónicos y otros productos de talla única. Los agentes de compra suelen estar optimizados para permitir los servicios de pago digital utilizados en el comercio electrónico y en los negocios tradicionales. [ 10 ]
Agentes de usuario (agentes personales)
Los agentes de usuario, o agentes personales, son agentes inteligentes que actúan en su nombre. En esta categoría se incluyen aquellos agentes inteligentes que ya realizan, o que pronto realizarán, las siguientes tareas:
- Revisa tu correo electrónico, ordénalo según el orden de preferencia del usuario y avísate cuando lleguen correos importantes.
- Juega a videojuegos como tu oponente o patrulla las zonas de juego por ti.
- Creamos informes de noticias personalizados para ti. Existen varias versiones, incluyendo CNN.
- Encuentra información sobre el tema que elijas.
- Rellena automáticamente los formularios en la web, almacenando tu información para futuras consultas.
- Escanee las páginas web buscando y resaltando el texto que constituye la parte "importante" de la información.
- Hablaremos de temas que van desde tus miedos más profundos hasta los deportes.
- Facilitar las tareas de búsqueda de empleo en línea mediante la revisión de portales de empleo conocidos y el envío del currículum a las oportunidades que cumplan con los criterios deseados.
- Sincronización de perfiles en redes sociales heterogéneas
Agentes de monitoreo y vigilancia (predictivos)
Los agentes de monitoreo y vigilancia se utilizan para observar e informar sobre equipos, generalmente sistemas informáticos. Estos agentes pueden controlar los niveles de inventario de la empresa, observar los precios de la competencia y transmitirlos a la empresa, vigilar la manipulación de acciones mediante información privilegiada y rumores, etc.

Por ejemplo, el Laboratorio de Propulsión a Chorro de la NASA cuenta con un agente que supervisa el inventario, planifica, programa los pedidos de equipos para reducir costos y administra las instalaciones de almacenamiento de alimentos. Estos agentes suelen supervisar redes informáticas complejas que permiten controlar la configuración de cada computadora conectada a la red.
Un caso especial de agentes de monitoreo y vigilancia son las organizaciones de agentes que automatizan el proceso de toma de decisiones durante las operaciones tácticas. Estos agentes monitorean el estado de los recursos (municiones, armas disponibles, plataformas de transporte, etc.) y reciben objetivos de agentes de nivel superior. Posteriormente, los agentes persiguen los objetivos con los recursos disponibles, minimizando el gasto de estos y maximizando el logro de los mismos.
Agentes de minería de datos
Este agente utiliza tecnología de la información para encontrar tendencias y patrones en una gran cantidad de información proveniente de diversas fuentes. El usuario puede filtrar esta información para encontrar la que busca.
Un agente de minería de datos opera en un almacén de datos descubriendo información. Un almacén de datos reúne información de diversas fuentes. La minería de datos es el proceso de examinar el almacén de datos para encontrar información útil para tomar medidas, como aumentar las ventas o retener a los clientes que están considerando irse.
La clasificación es uno de los tipos más comunes de minería de datos, que encuentra patrones en la información y los categoriza en diferentes clases. Los agentes de minería de datos también pueden detectar cambios importantes en las tendencias o en un indicador clave, así como detectar la presencia de nueva información y alertar al usuario. Por ejemplo, el agente puede detectar una caída en el sector de la construcción en una economía; con base en esta información, las empresas constructoras podrán tomar decisiones inteligentes sobre la contratación o el despido de empleados, o la compra o el arrendamiento de equipos, para optimizar sus operaciones.
Agentes de redes y comunicación
Otros ejemplos de agentes inteligentes actuales incluyen algunos filtros de spam , bots de juegos y herramientas de monitorización de servidores. Los bots de indexación de motores de búsqueda también se consideran agentes inteligentes.
- Agente de usuario : para navegar por la World Wide Web.
- Agente del comprador [ 11 ] - A partir de 2025, los agentes de IA avanzados permiten el comercio agente, manejando de forma autónoma el descubrimiento de productos, la comparación de precios y las transacciones en plataformas como las integraciones de OpenAI [ 12 ] .
- Agente de transferencia de correo : para servir correo electrónico, como Microsoft Outlook . ¿Por qué? Se comunica con el servidor de correo POP3 sin que los usuarios tengan que entender los protocolos de comandos POP3 . Incluso cuenta con conjuntos de reglas que filtran el correo automáticamente, evitando así que el usuario tenga que hacerlo manualmente.
- Agente SNMP
- En los servidores de red de estilo Unix, httpd es un demonio HTTP que implementa el Protocolo de Transferencia de Hipertexto en la raíz de la World Wide Web.
- Agentes de gestión utilizados para gestionar dispositivos de telecomunicaciones
- Simulación de multitudes para planificación de seguridad o gráficos 3D por computadora ,
- El agente de balizamiento inalámbrico es una entidad de tarea única alojada en un proceso simple para implementar cerraduras inalámbricas o correas electrónicas junto con agentes de software más complejos alojados, por ejemplo, en receptores inalámbricos.
- Uso de agentes autónomos (equipados deliberadamente con ruido) para optimizar la coordinación en grupos en línea. [ 13 ]
Agentes de desarrollo de software (también conocidos como bots de software)
Los bots de software están adquiriendo importancia en la ingeniería de software. [ 14 ]
Agentes de seguridad
Los agentes también se utilizan en aplicaciones de seguridad de software para interceptar, examinar y actuar sobre diversos tipos de contenido. Algunos ejemplos son:
- Agentes de prevención de pérdida de datos (DLP) [ 15 ] : examinan las operaciones del usuario en un ordenador o red, las comparan con las políticas que especifican las acciones permitidas y toman las medidas adecuadas (por ejemplo, permitir, alertar, bloquear). Los agentes DLP más completos también pueden utilizarse para realizar funciones EDR.
- Agentes de detección y respuesta en puntos finales (EDR): supervisan toda la actividad en un equipo de punto final para detectar y responder a actividades maliciosas.
- Agentes Cloud Access Security Broker (CASB): similares a los agentes DLP, pero que examinan el tráfico que se dirige a las aplicaciones en la nube.
Problemas de diseño
Los aspectos a considerar en el desarrollo de sistemas basados en agentes incluyen:
- cómo se programan las tareas y cómo se logra la sincronización de las mismas
- cómo los agentes priorizan las tareas
- cómo los agentes pueden colaborar o reclutar recursos,
- cómo se pueden volver a instanciar los agentes en diferentes entornos y cómo se puede almacenar su estado interno,
- cómo se analizará el entorno y cómo un cambio de entorno conduce a cambios de comportamiento de los agentes.
- cómo se puede lograr la mensajería y la comunicación,
- ¿Qué jerarquías de agentes son útiles (por ejemplo, agentes de ejecución de tareas, agentes de planificación, proveedores de recursos...)?
Para que los agentes de software trabajen juntos de manera eficiente, deben compartir la semántica de sus elementos de datos. Esto se puede lograr haciendo que los sistemas informáticos publiquen sus metadatos .
La definición de procesamiento de agentes puede abordarse desde dos direcciones interrelacionadas:
- procesamiento de estado interno y ontologías para la representación del conocimiento
- protocolos de interacción : estándares para especificar la comunicación de tareas
Los sistemas de agentes se utilizan para modelar sistemas del mundo real con procesamiento concurrente o paralelo.
- Maquinaria de agentes: motores de diversos tipos que soportan los distintos grados de inteligencia.
- Contenido del agente: datos empleados por el mecanismo de razonamiento y aprendizaje.
- Acceso del agente: métodos para permitir que la maquinaria perciba el contenido y realice acciones como resultado del razonamiento.
- Seguridad de los agentes: preocupaciones relacionadas con la computación distribuida, complementadas con algunas preocupaciones especiales relacionadas con los agentes.
El agente utiliza sus métodos de acceso para buscar contenido en bases de datos locales y remotas. Estos métodos pueden incluir la configuración de la entrega de flujos de noticias al agente, la recuperación de tablones de anuncios o el uso de un rastreador web. El contenido recuperado de esta manera probablemente ya esté parcialmente filtrado , mediante la selección del flujo de noticias o las bases de datos consultadas. A continuación, el agente puede utilizar su maquinaria de búsqueda detallada o de procesamiento del lenguaje para extraer palabras clave o firmas del contenido recibido o recuperado. Este contenido abstracto (o evento) se pasa a la maquinaria de razonamiento o inferencia del agente para decidir qué hacer con el nuevo contenido. Este proceso combina el contenido del evento con el contenido basado en reglas o conocimiento proporcionado por el usuario. Si este proceso encuentra una buena coincidencia en el nuevo contenido, el agente puede utilizar otra parte de su maquinaria para realizar una búsqueda más detallada. Finalmente, el agente puede decidir tomar una acción en función del nuevo contenido; por ejemplo, notificar al usuario que ha ocurrido un evento importante. Esta acción es verificada por una función de seguridad y, posteriormente, se le otorga la autorización del usuario. El agente utiliza un método de acceso de usuario para entregarle el mensaje. Si el usuario confirma la importancia del evento actuando con rapidez tras la notificación, el agente también puede emplear su sistema de aprendizaje para aumentar la prioridad que le otorga a este tipo de eventos.
Los bots pueden actuar en nombre de sus creadores para hacer tanto el bien como el mal. Existen varias maneras de crear bots para demostrar que están diseñados con buenas intenciones y no para causar daño. En primer lugar, el bot debe identificarse en el encabezado HTTP user-agent al comunicarse con un sitio. La dirección IP de origen también debe validarse para confirmar su legitimidad. Además, el bot siempre debe respetar el archivo robots.txt del sitio, ya que se ha convertido en el estándar en la mayor parte de la web. Al igual que con el archivo robots.txt, los bots deben evitar ser demasiado agresivos y respetar las instrucciones de retardo de rastreo. [ 16 ]
Nociones y marcos conceptuales para agentes
- DAML (Lenguaje de marcado de agentes de DARPA)
- 3APL (Lenguaje de Programación de Agentes Autónomos Artificiales)
- Lenguaje de programación de agentes GOAL
- Arquitectura de Agente Abierto (OAA)
- Lenguaje de Ontología Web (OWL)
- demonios ensistemas tipo Unix .
- Plantilla de agente Java (JAT)
- Marco de desarrollo de agentes Java (JADE)
- Marco de trabajo Java para agentes inteligentes y móviles (JAFIMA)
- Lenguaje de programación de agentes SARL (posiblemente un paradigma orientado a actores y no a agentes).
Véase también
Referencias
- ↑ Nwana, H. S. (1996). "Agentes de software: una visión general". Knowledge Engineering Review . 21 (3): 205– 244. CiteSeerX 10.1.1.50.660 . doi : 10.1017/s026988890000789x . S2CID 7839197 .
- ↑ Schermer, B. W. (2007). Agentes de software, vigilancia y el derecho a la privacidad: Un marco legislativo para la vigilancia habilitada por agentes (edición de bolsillo) . Vol. 21. Leiden University Press. pp. 140, 205–244 . hdl : 1887/11951 . ISBN 978-0-596-00712-6. Consultado el 30 de octubre de 2012 .
- ↑ Wooldridge, M.; Jennings, NR (1995). "Agentes inteligentes: teoría y práctica". Knowledge Engineering Review . 10 (2): 115– 152. doi : 10.1017/S0269888900008122 . hdl : 10044/1/35975 .
- ↑ Franklin, S.; Graesser, A. (1996). "¿Es un agente o simplemente un programa?: Una taxonomía para agentes autónomos". Agentes inteligentes III: Teorías, arquitecturas y lenguajes de agentes . Notas de clase en informática. Vol. 1193. Universidad de Memphis, Instituto de Sistemas Inteligentes. págs. 21–35 . doi : 10.1007/BFb0013570 . ISBN 978-3-540-62507-0.
- 1 2 Wooldridge, Michael J. (2002). Introducción a los sistemas multiagente . Nueva York: John Wiley & Sons. pág. 27. ISBN 978-0-471-49691-5.
- ↑ Serenko, A.; Detlor, B. (2004). "Agentes inteligentes como innovaciones" (PDF) . Inteligencia Artificial y Sociedad . 18 (4): 364– 381.
- ↑ Adonisi, M. (2003). "La relación entre el espíritu empresarial corporativo, la orientación al mercado, la flexibilidad organizacional y la satisfacción laboral" (PDF) (Tesis). Facultad de Economía y Ciencias de la Gestión, Universidad de Pretoria. Archivado del original (PDF) el 8 de diciembre de 2005.
- ↑ Serenko, A.; Ruhi, U.; Cocosila, M. (2007). "Efectos no planificados de los agentes inteligentes en el uso de Internet: un enfoque de informática social" (PDF) . Inteligencia Artificial y Sociedad . 21 ( 1–2 ): 141–166 .
- ↑ Haag, Stephen; Cummings, Maeve; Dawkins, James (2006). Sistemas de información de gestión para la era de la información . págs. 224–228 .
- ↑ "Maximiza el impacto de tu negocio | Cómo usar los chatbots de Facebook" . Keystone Click . 26 de agosto de 2016. Archivado del original el 8 de septiembre de 2017. Consultado el 7 de septiembre de 2017 .
- ↑ "Presentación de AgentKit" . openai.com . 29 de octubre de 2025. Consultado el 31 de octubre de 2025 .
- ↑ "Presentación de AgentKit" . openai.com . 29 de octubre de 2025. Consultado el 31 de octubre de 2025 .
- ↑ Shirado, Hirokazu; Christakis, Nicholas A (2017). "Los agentes autónomos con ruido local mejoran la coordinación humana global en experimentos de red" . Nature . 545 ( 7654): 370–374 . Bibcode : 2017Natur.545..370S . doi : 10.1038/nature22332 . PMC 5912653. PMID 28516927 .
- ↑ Lebeuf, Carlene; Storey, Margaret-Anne ; Zagalsky, Alexey (2018). "Software Bots". IEEE Software . 35 : 18–23 . doi : 10.1109/MS.2017.4541027 . S2CID 31931036 .
- ↑ "Software de IP empresarial y DLP | Digital Guardian" (PDF) . info.digitalguardian.com . Consultado el 25 de diciembre de 2024 .
- ↑ "Cómo vivir según el código de los buenos bots" . DARKReading de Information World . 27 de septiembre de 2017. Consultado el 14 de noviembre de 2017 .
Enlaces externos
- Agentes de software: una visión general Archivado el 17 de julio de 2011 en Wayback Machine , Hyacinth S. Nwana. Knowledge Engineering Review , 11(3):1–40, septiembre de 1996. Cambridge University Press .
- FIPA La Fundación para Agentes Físicos Inteligentes
- JADE Java Agent Developing Framework, un framework de código abierto desarrollado por Telecom Italia Labs.
- Centro Europeo de Investigación de Agentes de Software. Archivado el 14 de septiembre de 2017 en Wayback Machine.
- JAFIMA : Un marco de trabajo basado en Java para agentes inteligentes y móviles.
- SemanticAgent Un marco de código abierto para desarrollar agentes basados en SWRL sobre JADE
- Mobile-C: Una plataforma multiagente para agentes móviles C/C++.
- HLL ( High-Level Logic), proyecto de código abierto.
- KATO es un proyecto de código abierto para desarrolladores de PHP y Java que permite escribir agentes de software.
- Inteligencia artificial
- Software basado en agentes