Escribir prompts efectivos para Bob
Escribe prompts efectivos para IBM Bob añadiendo un rol, contexto y ejemplos, y luego refina una solicitud vaga en código Python documentado con manejo de errores.
IBM Bob produce código más preciso cuando tu prompt indica la tarea, un rol, contexto y un ejemplo. En este tutorial reescribe una solicitud vaga en un prompt estructurado, luego compara los resultados.
Prerrequisitos
Para completar este tutorial, necesitas lo siguiente:
- Bob IDE instalado y con la sesión iniciada.
- Aunque no es obligatorio, considera realizar el tutorial de inicio rápido para familiarizarte con la interfaz y las funciones de Bob.
¿Qué es un prompt?
Un prompt es una pregunta, solicitud o comando que le das a Bob para obtener el output que deseas. Los prompts vagos producen respuestas vagas. Un buen prompt es claro, específico y proporciona suficiente contexto para que Bob entienda lo que quieres.
Componentes de un prompt
Un prompt efectivo combina los siguientes componentes:
| Componente | Propósito | Ejemplo |
|---|---|---|
| Instrucción | Le indica a Bob qué tarea realizar. Las instrucciones sólidas reducen la ambigüedad. | "Genera un software bill of materials (SBOM) para esta API." |
| Rol | Asigna una persona para que Bob adapte la respuesta a esa perspectiva. | "Eres un ingeniero de software senior con experiencia en Python." |
| Contexto | Añade información de fondo, como la situación, la audiencia, el tono o las restricciones. | "La función se ejecuta en un servicio de producción y debe incluir manejo de errores." |
| Ejemplo | Muestra el patrón, formato o estilo que quieres que Bob siga. | "Sigue la estructura de @src/api/users.py." |
| Pista | Introduce la respuesta que deseas, generalmente al final del prompt. | "Devuelve únicamente la función, comenzando con def." |
Puedes guardar tus prompts como slash commands personalizados para reutilizarlos y compartirlos con tu equipo.
¿Qué hace que un prompt sea efectivo?
Las siguientes buenas prácticas pueden ayudarte a escribir prompts efectivos para Bob.
- Sé específico: Cuanto más específico sea tu prompt, mejor puede Bob entender lo que quieres. En lugar de preguntar "¿Cómo escribo una función de Python?", pregunta "¿Cómo escribo una función de Python que tome una lista de números y devuelva el promedio?"
- Proporciona contexto: Si tu prompt trata sobre un proyecto o base de código específico, proporciona algo de contexto al respecto. Esto ayuda a Bob a generar una respuesta que sea relevante para tu situación. Usa las menciones de contexto @ de Bob para referenciar archivos específicos.
- Divide las tareas: Como lo harías al refinar una tarea en tu backlog, divide las tareas complejas en pasos más pequeños y manejables. Esto puede ayudar a Bob a generar respuestas más precisas y enfocadas.
- Incluye ejemplos: Si estás añadiendo una nueva API, indica a Bob que revise APIs bien escritas en tu base de código para usarlas como ejemplos. También puedes incluir ejemplos en tu prompt para mostrarle a Bob el formato o estilo que deseas.
Refinar un prompt vago
En esta sección, escribirás un prompt vago para Bob y revisarás el output. Luego refinarás tu prompt basándote en las buenas prácticas para mejorar la calidad de la respuesta.
El objetivo es que Bob genere una función de Python que imprima la fecha y hora actuales en formato UTC. La función debe estar bien documentada e incluir manejo de errores.
Si la interfaz de chat está cerrada, ábrela haciendo clic en el icono de Bob junto a la barra de navegación o usa el atajo Option + Command + B (Mac) o Ctrl + Alt + B (Windows).

Selecciona Agent del selector de modo en la interfaz de chat. Para más detalles, consulta Modo Agent.
Ingresa el siguiente prompt:
Write a Python function that prints the date and time.Bob generará una respuesta, pero es posible que no cumpla todos tus requisitos.
from datetime import datetime
def print_datetime():
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))La función no tiene manejo de errores e imprime la hora local, no UTC.
Inicia un nuevo chat para limpiar la ventana de contexto.
Refina tu prompt con los componentes de un prompt:
- Rol: "You are a senior software engineer with expertise in Python 3."
- Instrucción: "Write a Python 3 function that prints the current date and time in UTC format."
- Contexto: "The function should be well documented and include error handling."
- Ejemplo: Indica a Bob una fuente autorizada, como las buenas prácticas de manejo de excepciones de Real Python.
Ingresa el prompt refinado:
You are a senior software engineer with expertise in Python 3.
Write a Python 3 function that prints the current date and time in UTC format.
The function should be well documented and include error handling,
modeled after https://realpython.com/ref/best-practices/exception-handling/."""
utc_datetime.py — Utility for printing the current UTC date and time.
"""
from datetime import datetime, timezone
def print_utc_datetime() -> None:
"""Print the current date and time in UTC (ISO 8601 format).
Retrieves the current moment from the system clock, attaches UTC timezone
info, formats it as an ISO 8601 string, and writes it to stdout.
Returns:
None
Raises:
OSError: If the system clock cannot be read (e.g., hardware failure or
OS-level permission restrictions).
ValueError: If datetime formatting unexpectedly fails (e.g., year out
of the supported range).
Example:
>>> print_utc_datetime()
Current UTC date and time: 2025-07-15T13:42:00.123456+00:00
"""
try:
now_utc: datetime = datetime.now(tz=timezone.utc)
except OSError as exc:
# System clock is unavailable or inaccessible.
raise OSError("Failed to read the system clock.") from exc
try:
formatted: str = now_utc.isoformat()
except ValueError as exc:
# Extremely unlikely, but guard against out-of-range datetime values.
raise ValueError(
f"Failed to format the datetime object: {now_utc!r}"
) from exc
print(f"Current UTC date and time: {formatted}")
if __name__ == "__main__":
print_utc_datetime()La respuesta de Bob ahora debería estar más alineada con tus requisitos, demostrando la importancia de escribir prompts efectivos.
IBM SkillsBuild
IBM SkillsBuild es una plataforma de aprendizaje en línea gratuita que ofrece cursos y recursos para ayudarte a desarrollar tus habilidades en varios dominios tecnológicos, incluyendo IA y aprendizaje automático. Puedes encontrar cursos sobre cómo escribir prompts efectivos para asistentes de IA como Bob, así como otros temas relacionados con el desarrollo de software y la tecnología.
Para aprender más sobre la escritura de buenos prompts, realiza el curso Craft Precise Prompts for AI Models.
Próximos pasos
En este tutorial, aprendiste los componentes de un prompt efectivo y refinaste un prompt vago en uno que produce de forma confiable el output que deseas.
Avanza a Usar un skill para convertir un prompt bien escrito en un flujo de trabajo reutilizable y repetible que Bob puede aplicar automáticamente.
Iniciar un proyecto con /init y AGENTS.md
Proporcione a Bob contexto de proyecto persistente a través de conversaciones y modos con /init, que genera automáticamente archivos AGENTS.md.
Crear y usar skills
Crea un skill reutilizable que enseña a Bob un flujo de trabajo repetible para entradas de changelog, luego invócalo explícitamente y deja que Bob lo active automáticamente.