Ir al contenido

IDEAS PRÁCTICAS · ASIMOV INGENIERÍA

8. Cómo escribir prompts efectivos para controlar un agente

Aprende a diseñar instrucciones claras y precisas para agentes de inteligencia artificial, descubre qué elementos debe tener un buen prompt y conoce estrategias para obtener respuestas más consistentes, útiles y controladas.

Table of contents

No titles in the blog post

En los artículos anteriores hemos aprendido qué son los agentes de inteligencia artificial, cómo razonan, cómo se clasifican según su autonomía, qué herramientas pueden utilizar, cómo funciona su memoria y cómo podemos construirlos utilizando diferentes frameworks. Ahora tenemos los componentes básicos para crear un agente, pero todavía existe una pregunta fundamental: ¿cómo conseguimos que el agente se comporte como nosotros queremos?

La respuesta está, en gran medida, en las instrucciones que le proporcionamos.

Un agente puede tener acceso a un modelo muy potente, varias herramientas y una memoria capaz de almacenar información, pero si no recibe instrucciones adecuadas puede comportarse de manera inconsistente. Puede utilizar una herramienta cuando no debería, responder con demasiada información, ignorar determinadas restricciones o interpretar una tarea de una manera diferente a la que esperábamos.

Por esta razón, aprender a escribir buenos prompts es una habilidad fundamental para desarrollar agentes de IA. Un prompt no es solamente una pregunta que escribimos en un chatbot. En un agente, puede funcionar como un conjunto de instrucciones que define su comportamiento, sus objetivos, sus límites y la manera en que debe utilizar sus capacidades.

En este artículo veremos cómo construir instrucciones efectivas para agentes, qué elementos debemos incluir, cuáles son los errores más comunes y cómo mejorar nuestros prompts mediante ejemplos prácticos.

1. ¿Qué es un prompt?

Un prompt es una instrucción o conjunto de instrucciones que proporcionamos a un modelo de inteligencia artificial para indicarle qué queremos obtener.

En una conversación sencilla podemos escribir:

"Explícame qué es Python."

El modelo interpreta la solicitud y genera una respuesta.

Sin embargo, cuando trabajamos con agentes, el prompt puede ser mucho más elaborado.

Podemos indicarle cuál es su función, quién es el usuario, qué herramientas tiene disponibles, qué reglas debe seguir, qué información debe solicitar y cómo debe responder.

Por ejemplo, podríamos crear un agente con una instrucción como:

"Actúa como un asistente especializado en programación Python. Explica los conceptos de manera clara y utiliza ejemplos prácticos. Si necesitas realizar cálculos, utiliza la herramienta de cálculo. No inventes información cuando no tengas suficientes datos."

Esta instrucción ya proporciona mucho más contexto que una pregunta aislada.

El objetivo es conseguir que el comportamiento del agente sea más predecible.

2. Prompt para un chatbot y prompt para un agente

Aunque ambos utilizan instrucciones, existe una diferencia importante.

En un chatbot tradicional, normalmente queremos obtener una respuesta.

En un agente queremos conseguir que el sistema realice una tarea.

Por ejemplo:

"Explícame qué es una API."

Esta solicitud busca información.

En cambio:

"Consulta la API de inventario y dime cuáles son los productos con menos de cinco unidades."

requiere que el agente realice una acción.

El segundo prompt debe proporcionar suficiente información para que el agente comprenda el objetivo y sepa qué resultado esperamos.

Por eso, cuando diseñamos prompts para agentes debemos pensar no solamente en la respuesta final, sino también en el proceso necesario para obtenerla.

3. Definir claramente el rol del agente

Uno de los elementos más útiles de un prompt es definir el rol.

El rol establece qué tipo de asistente queremos crear.

Podemos decir:

"Eres un asistente de soporte técnico."

O:

"Eres un analista de datos especializado en Python."

También podemos crear:

"Eres un asistente para automatización industrial."

Definir el rol ayuda al modelo a interpretar las solicitudes desde una perspectiva específica.

Sin embargo, el rol por sí solo no es suficiente.

Decir "eres un experto en todo" no proporciona reglas claras.

Es mejor explicar qué tareas debe realizar y qué límites tiene.

Por ejemplo:

"Eres un asistente de soporte técnico para una empresa de automatización. Tu función es ayudar a los usuarios a identificar problemas básicos en sensores, actuadores y sistemas de control."

Esta descripción es mucho más útil porque delimita el propósito del agente.

4. Definir el objetivo

Después del rol debemos establecer el objetivo.

El objetivo responde a una pregunta sencilla:

¿Qué debe conseguir el agente?

Por ejemplo:

"Tu objetivo es ayudar al usuario a identificar la causa probable de un error de programación."

O:

"Tu objetivo es analizar los datos proporcionados y generar un reporte."

Un objetivo claro ayuda a evitar que el agente realice acciones innecesarias.

Imaginemos que tenemos un agente para analizar ventas.

Una instrucción poco clara sería:

"Analiza las ventas."

Una instrucción más precisa sería:

"Analiza las ventas del periodo solicitado, identifica los productos con mayor cantidad de unidades vendidas y presenta los tres productos principales junto con sus cantidades."

La segunda instrucción proporciona un resultado mucho más definido.

5. Explicar qué puede hacer el agente

Cuando un agente tiene herramientas, es recomendable explicar claramente qué capacidades tiene.

Supongamos que nuestro agente dispone de tres herramientas:

Una calculadora.

Una herramienta para consultar una base de datos.

Una herramienta para enviar correos.

Podemos indicarle para qué sirve cada una.

Por ejemplo:

"Utiliza la calculadora cuando necesites realizar operaciones matemáticas."

"Utiliza la base de datos para consultar información de productos."

"Utiliza la herramienta de correo únicamente cuando el usuario solicite enviar un mensaje."

Estas instrucciones ayudan a establecer reglas de comportamiento.

También podemos indicar qué herramienta no debe utilizar en determinadas situaciones.

Mientras más claras sean las condiciones, menor será la posibilidad de que el agente utilice una herramienta incorrectamente.

6. Indicar cuándo utilizar una herramienta

Una de las partes más importantes de un prompt para agentes es establecer cuándo debe utilizar las herramientas.

Supongamos que tenemos una herramienta llamada "consultar_inventario".

Podemos indicar:

"Utiliza consultar_inventario cuando el usuario solicite información sobre existencias, cantidades disponibles o productos en inventario."

De esta manera, el modelo tiene una referencia sobre cuándo utilizarla.

También podemos establecer:

"No inventes cantidades de inventario. Si el usuario solicita información sobre existencias, consulta primero la herramienta."

Esta segunda regla es especialmente importante.

Un modelo de lenguaje puede generar una respuesta aunque no tenga información real. Si el agente está conectado a datos empresariales, esto podría provocar información incorrecta.

El prompt puede ayudar a establecer que determinados datos deben obtenerse mediante una herramienta.

7. Establecer restricciones

Un buen agente no solamente necesita saber qué hacer.

También necesita saber qué no debe hacer.

Por ejemplo:

"No elimines registros."

"No compartas información confidencial."

"No ejecutes acciones irreversibles sin autorización."

"No inventes información."

Estas restricciones pueden ser fundamentales para mantener control sobre el sistema.

Imaginemos un agente que tiene acceso a una base de datos.

Si solamente le decimos:

"Consulta y administra la base de datos."

le estamos dando un margen demasiado amplio.

En cambio:

"Puedes consultar registros y generar reportes, pero no puedes eliminar ni modificar registros sin autorización."

define claramente los límites.

Las restricciones deben estar alineadas con los permisos reales del sistema. No tiene sentido indicarle al agente que nunca puede realizar una acción si la aplicación necesita que pueda realizarla, pero tampoco debemos permitir acciones innecesarias.

8. Explicar cómo debe responder

Otro elemento importante es definir el formato de las respuestas.

Podemos indicar que queremos respuestas breves, detalladas, técnicas o adaptadas a principiantes.

Por ejemplo:

"Explica los conceptos utilizando lenguaje sencillo y proporciona ejemplos prácticos."

También podemos indicar:

"Presenta los resultados en una tabla cuando existan varios elementos."

O:

"Cuando encuentres un error, explica primero cuál es el problema y después proporciona una posible solución."

Estas reglas permiten obtener respuestas más consistentes.

Si el agente se utiliza dentro de una empresa, también puede ser importante establecer un formato específico para los reportes.

Por ejemplo:

"El reporte debe contener un resumen, los datos principales, los problemas detectados y las recomendaciones."

9. Dar ejemplos al agente

Los ejemplos son una de las técnicas más útiles para explicar al modelo qué esperamos.

En lugar de describir únicamente una regla, podemos mostrar un ejemplo de entrada y salida.

Por ejemplo:

Usuario: "¿Qué productos tienen menos de cinco unidades?"

Agente: "Los productos con menos de cinco unidades son..."

Esto ayuda al modelo a identificar el estilo y la estructura que esperamos.

Los ejemplos también pueden utilizarse para explicar casos especiales.

Por ejemplo:

Usuario: "Elimina todos los productos."

Agente: "No puedo realizar esa acción sin autorización explícita."

Este tipo de ejemplo ayuda a establecer cómo debe reaccionar el agente ante determinadas solicitudes.

Los ejemplos no tienen que cubrir absolutamente todas las situaciones. Basta con proporcionar algunos casos representativos.

10. Evitar instrucciones contradictorias

Un problema frecuente al crear prompts complejos es incluir reglas que se contradicen entre sí.

Por ejemplo:

"Responde siempre de manera breve."

y posteriormente:

"Explica todos los conceptos con mucho detalle."

El agente tendrá dificultades para determinar qué instrucción debe priorizar.

Otro ejemplo sería:

"Utiliza herramientas únicamente cuando sea necesario."

y después:

"Siempre utiliza la herramienta de búsqueda."

Estas instrucciones pueden generar comportamientos inconsistentes.

Por eso debemos revisar nuestros prompts y eliminar contradicciones.

Cuando existen varias reglas, también puede ser útil establecer prioridades.

Por ejemplo:

"Las reglas de seguridad tienen prioridad sobre las demás instrucciones."

Esto ayuda a establecer una jerarquía.

11. No hacer prompts innecesariamente largos

Un prompt largo no necesariamente es un prompt mejor.

Es posible escribir instrucciones extremadamente extensas que terminen dificultando la comprensión del agente.

La clave está en proporcionar información relevante.

Cada instrucción debería tener un propósito.

En lugar de escribir varios párrafos para explicar una regla sencilla, podemos expresarla de manera directa.

Por ejemplo:

"Si faltan datos importantes, solicita la información necesaria antes de ejecutar la tarea."

Esta instrucción es clara y fácil de interpretar.

Sin embargo, cuando el agente realiza tareas complejas, puede ser necesario utilizar instrucciones más extensas.

La longitud debe depender de la complejidad del sistema.

12. Separar instrucciones de información

También es recomendable diferenciar entre las reglas del agente y los datos que debe utilizar.

Por ejemplo:

INSTRUCCIONES:

"Analiza los datos de ventas y encuentra los productos con mayor crecimiento."

DATOS:

"Producto A: 120 unidades."

"Producto B: 180 unidades."

Esta separación hace que la estructura sea más clara.

En sistemas reales, los datos pueden llegar desde una base de datos, un archivo, una API o una herramienta externa.

Las instrucciones permanecen relativamente estables mientras que la información puede cambiar constantemente.

13. Un ejemplo de prompt completo

Imaginemos que queremos construir un agente para soporte técnico.

Podríamos utilizar una instrucción como:

"Eres un asistente de soporte técnico especializado en sistemas de automatización.

Tu objetivo es ayudar al usuario a identificar problemas y proponer soluciones seguras.

Explica los conceptos de manera clara y evita utilizar lenguaje excesivamente técnico cuando no sea necesario.

Puedes consultar la base de datos de dispositivos cuando el usuario solicite información sobre un equipo específico.

Puedes utilizar la herramienta de diagnóstico cuando el usuario proporcione los datos necesarios.

No inventes información sobre dispositivos.

Si no tienes suficientes datos, solicita al usuario la información necesaria.

No ejecutes acciones que puedan afectar físicamente un equipo sin autorización.

Cuando presentes una solución, explica primero el problema identificado y después las acciones recomendadas."

Este prompt establece varias cosas.

Define el rol.

Define el objetivo.

Explica las herramientas.

Establece restricciones.

Indica cómo debe responder.

También establece qué debe hacer cuando no tenga suficiente información.

Este tipo de estructura puede servir como punto de partida para muchos agentes especializados.

14. Prompts y agentes autónomos

Las instrucciones son todavía más importantes cuando aumentamos el nivel de autonomía.

Un agente supervisado puede recibir instrucciones constantemente de una persona.

Un agente autónomo puede ejecutar varias acciones sin intervención humana.

Por eso, debemos establecer límites mucho más claros.

Podemos indicar qué acciones puede realizar automáticamente, cuáles necesitan autorización y qué condiciones deben detener el proceso.

Por ejemplo:

"Puedes consultar información automáticamente. Puedes generar reportes automáticamente. Antes de enviar un correo externo, solicita confirmación."

Estas reglas ayudan a controlar el comportamiento del agente.

La autonomía no significa ausencia de reglas.

Al contrario, mientras más autónomo sea un agente, más importante es definir correctamente sus límites.

15. Probar y mejorar un prompt

Un prompt no debería considerarse terminado después de escribirlo por primera vez.

La mejor forma de mejorarlo es probarlo.

Podemos crear diferentes casos de prueba.

Por ejemplo:

Una solicitud normal.

Una solicitud ambigua.

Una solicitud que requiere una herramienta.

Una solicitud con información incorrecta.

Una solicitud que intenta realizar una acción prohibida.

Después observamos cómo responde el agente.

Si encontramos un problema, modificamos las instrucciones.

Este proceso puede repetirse varias veces.

Por ejemplo, si descubrimos que el agente intenta inventar datos cuando una herramienta no responde, podemos añadir:

"Si una herramienta falla o no devuelve información, informa al usuario del problema. No inventes un resultado."

Una pequeña modificación puede mejorar considerablemente el comportamiento.

16. Prompt engineering como proceso de diseño

El término "prompt engineering" se utiliza para describir el diseño y optimización de instrucciones para modelos de inteligencia artificial.

Sin embargo, cuando trabajamos con agentes, no se trata simplemente de encontrar una frase mágica que produzca buenos resultados.

Es un proceso de diseño.

Debemos comprender qué queremos conseguir.

Después debemos definir el comportamiento esperado.

Posteriormente debemos crear instrucciones.

Luego debemos realizar pruebas.

Finalmente debemos medir los resultados y modificar las instrucciones cuando sea necesario.

Este enfoque es mucho más útil que intentar escribir prompts utilizando únicamente frases complejas.

Un buen prompt nace de entender correctamente el problema.

17. El prompt no reemplaza la programación

Es importante recordar que un prompt no puede solucionar todos los problemas.

Las instrucciones pueden ayudar a controlar el comportamiento del modelo, pero no reemplazan mecanismos técnicos como permisos, validaciones y controles de seguridad.

Por ejemplo, podemos escribir:

"No elimines ningún archivo."

Pero si nuestra aplicación proporciona al agente una herramienta que permite eliminar archivos sin ningún control, depender únicamente del prompt sería una mala práctica.

La seguridad debe implementarse también en el código.

El prompt puede establecer la intención y las reglas de comportamiento.

La aplicación debe encargarse de hacer cumplir las restricciones importantes.

Esta combinación es mucho más segura.

18. Una estructura recomendable para nuestros prompts

Cuando creemos un agente podemos utilizar una estructura sencilla.

Primero definimos el rol.

Después establecemos el objetivo.

A continuación describimos las herramientas disponibles.

Después indicamos las reglas para utilizarlas.

Posteriormente establecemos restricciones.

Finalmente definimos el formato de las respuestas y qué debe hacer el agente cuando no tenga suficiente información.

No existe una única estructura correcta, pero este orden puede servir como punto de partida.

Lo importante es que las instrucciones sean claras, consistentes y fáciles de mantener.

19. Cómo mejorar progresivamente un agente

Cuando un agente no funciona correctamente, no siempre debemos cambiar el modelo.

Primero podemos revisar las instrucciones.

Si el agente utiliza una herramienta incorrectamente, podemos mejorar la descripción de esa herramienta.

Si responde con demasiada información, podemos modificar el formato esperado.

Si inventa datos, podemos indicarle que consulte una fuente externa.

Si ejecuta acciones incorrectas, podemos establecer límites más claros.

Este proceso permite mejorar el sistema sin tener que reconstruirlo completamente.

Los prompts forman parte de la arquitectura del agente y deben considerarse un elemento que puede evolucionar junto con el proyecto.

​

20. Conclusiones

Los prompts son una parte fundamental del desarrollo de agentes de inteligencia artificial porque permiten establecer su comportamiento, objetivos, herramientas, restricciones y formato de respuesta.

Un buen prompt no necesita ser complicado. Debe ser claro, específico y coherente con las capacidades reales del sistema.

Al diseñar un agente debemos explicar qué función tiene, qué debe conseguir, qué herramientas puede utilizar, cuándo debe utilizarlas, qué acciones están prohibidas y qué debe hacer cuando no tenga suficiente información.

También debemos probar nuestros prompts con diferentes situaciones y mejorarlos progresivamente.

Sin embargo, es importante recordar que las instrucciones no sustituyen la programación ni los mecanismos de seguridad. Un sistema profesional debe combinar prompts con permisos, validaciones y controles técnicos.

Ahora que sabemos cómo controlar el comportamiento de un agente mediante instrucciones, el siguiente paso será analizar qué puede salir mal durante su desarrollo. En el próximo artículo veremos los errores comunes al crear agentes inteligentes y cómo evitarlos, desde respuestas incorrectas hasta problemas con herramientas, memoria y autonomía.

​​Anterior  ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​Siguiente