> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Consejos para crear buenos prompts

> Consejos sobre cómo diseñar buenos prompts y redirigir a Devin de la mejor manera

export const PromptBlock = ({children, type, agent, intent, playbookId}) => {
  var utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=prompt-block';
  var tag = 'docs-use-case-gallery';
  var agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  var label = type === 'schedule' ? 'Schedule in Devin' : type === 'playbook' ? 'Create Playbook' : type === 'knowledge' ? 'Add to Knowledge' : agent === 'advanced' ? 'Try in Devin' : agent === 'dana' ? 'Try in Dana' : agent === 'ada' ? 'Try in Ask Devin' : 'Try in Devin';
  var buildUrl = function (text) {
    var encoded = encodeURIComponent(text);
    if (type === 'schedule') return 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + '&prompt=' + encoded;
    if (type === 'playbook') return 'https://app.devin.ai/settings/playbooks/create?' + utm + '&body=' + encoded;
    if (type === 'knowledge') return 'https://app.devin.ai/knowledge?' + utm + '&body=' + encoded;
    if (agent === 'ada') return 'https://app.devin.ai/search?' + utm + '&noSubmit=true&prompt=' + encoded;
    return 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encoded;
  };
  const ref = React.useRef(null);
  const [href, setHref] = React.useState('#');
  React.useEffect(() => {
    if (!ref.current) return;
    var codeEl = ref.current.querySelector('pre code');
    if (codeEl) {
      var text = codeEl.textContent.trim();
      if (text) setHref(buildUrl(text));
    }
    var header = ref.current.querySelector('[data-component-part="code-block-header"]');
    if (header && !header.querySelector('.prompt-block-devin-link')) {
      var link = document.createElement('a');
      link.href = href;
      link.target = '_blank';
      link.rel = 'noopener noreferrer';
      link.className = 'prompt-block-devin-link';
      link.style.cssText = 'display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap;background:#317CFF;transition:background 0.2s;margin-left:8px;';
      link.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg> ' + label;
      link.onmouseenter = function () {
        link.style.background = '#2968D9';
      };
      link.onmouseleave = function () {
        link.style.background = '#317CFF';
      };
      header.appendChild(link);
    }
    var existingLink = ref.current.querySelector('.prompt-block-devin-link');
    if (existingLink && href !== '#') existingLink.href = href;
  });
  return <div className="prompt-block" ref={ref}>{children}</div>;
};

<Tip>Para consultar prácticas recomendadas más completas, consulta también [Cómo instruir a Devin eficazmente](/es/essential-guidelines/instructing-devin-effectively) y [Buenas vs. malas instrucciones](/es/essential-guidelines/good-vs-bad-instructions).</Tip>

Devin necesita orientación sobre cuáles son tus preferencias y cómo comprobar si va bien encaminado. Si no las especificas, Devin tomará sus propias decisiones. Recomendamos seguir una estructura sencilla en tus prompts para asegurarte de que Devin se mantenga en el camino correcto y verifique su propio trabajo:

<CardGroup cols={1}>
  <Card title="Qué" icon="block-question" horizontal>
    Describe la tarea que quieres que Devin complete.

    **Ejemplo**: Actualizar mi proyecto de Java 7 a Java 8.
  </Card>

  <Card title="Cómo" icon="chalkboard-user" horizontal>
    Describe algunas buenas prácticas y cosas a evitar para Devin al completar la tarea (por ejemplo, desplegar usando Modal, etc.).

    **Ejemplo**: Identificar y reemplazar las API obsoletas de Java 7 por sus equivalentes en Java 8. Analizar la base de código para posibles mejoras del lenguaje y de las API de Java 8.
  </Card>

  <Card title="Resultado" icon="print" horizontal>
    Describe los resultados o comportamientos esperados que Devin debería comprobar para saber cuándo la tarea está completa.

    **Ejemplo**: Ejecutar la suite de pruebas y verificar que todas las pruebas pasen correctamente. Compilar el proyecto usando la configuración actualizada de Java 8 y verificar que la aplicación esté en funcionamiento.
  </Card>
</CardGroup>

<div id="choosing-the-right-tasks">
  ### Elegir las tareas adecuadas
</div>

Al decidir qué delegar a Devin, identifica tareas que tengan:

1. **Criterios de éxito claros**

   * Tareas cuyo éxito se pueda validar automáticamente
   * Ciclos de feedback integrados (pruebas, compilación, verificaciones de lint)
   * Medidas objetivas de calidad

2. **Ámbito adecuado**

   * Límites bien definidos y requisitos claros
   * Patrones claros a seguir en tu base de código
   * Como regla general, las tareas que te llevarían tres horas o menos son una excelente opción

3. **Elementos repetitivos**

   * Tareas que requieren aplicar cambios similares muchas veces
   * Variaciones que hacen difícil automatizar exclusivamente con scripts
   * Ejemplos existentes que se puedan seguir

4. **Ejemplos comunes**
   * Actualizaciones de versión en múltiples paquetes
   * Añadir cobertura de pruebas a módulos sin tests
   * Convertir archivos para usar nuevos patrones/estándares
   * Implementar componentes estándar de interfaz de usuario (UI)

<div id="split-complex-tasks-into-simpler-sub-tasks-across-multiple-sessions">
  #### Divide las tareas complejas en subtareas más simples, en múltiples sesiones
</div>

Devin tiene más probabilidades de tener éxito si los proyectos complejos se dividen en subtareas claras. Por ejemplo, en lugar de pedirle a Devin que actualice el código de tu aplicación, la suite de pruebas y la configuración de CI en una sola sesión, quizá prefieras dividir esto en tres sesiones separadas. Puedes ejecutarlas en paralelo [pidiéndole a Devin que delegue en Devins gestionados](/es/work-with-devin/advanced-capabilities#managed-devins).

Para tareas especialmente complejas, recomendamos trabajar con Devin en varias sesiones separadas, ya que **el rendimiento de Devin a veces puede disminuir a medida que la sesión se alarga**.

<div id="tell-devin-how-to-check-its-progress">
  #### Indica a Devin cómo comprobar su progreso
</div>

Devin funciona mejor cuando recibe pasos de verificación claros para validar su trabajo. Esto ayuda a garantizar que la tarea se complete correctamente y permite que Devin detecte posibles problemas de forma temprana.

A continuación se muestra una lista no exhaustiva de algunas formas de ayudar a Devin a verificar su trabajo:

1. **Especifica los requisitos de las pruebas**

   * Pídele a Devin que ejecute suites de pruebas específicas
   * Define qué pruebas deben pasar
   * Solicita métricas de cobertura de pruebas si es relevante

2. **Establece puntos de control y subtareas claros**

   * Divide las tareas complejas en subtareas verificables y comienza una sesión de Devin para cada subtarea
   * Define qué significa el éxito para cada subtarea y, opcionalmente, puntos de control dentro de cada subtarea
   * Pídele a Devin que informe después de completar cada punto de control o subtarea

3. **Indica a Devin cómo comprobar su trabajo**

   Aclara cómo puede Devin comprobar que va bien encaminado. Por ejemplo:

   * Al trabajar con conjuntos de datos: "Verifica que el conjunto de datos tenga al menos 500 filas y contenga las columnas X, Y, Z"
   * Al modificar APIs: "Confirma que el endpoint devuelve el código de estado 200 e incluye todos los campos requeridos"
   * Al actualizar la UI: "Comprueba que el componente se renderiza sin errores en la consola y coincide con la especificación de diseño"

Cuanto más específico seas sobre los requisitos de validación, con mayor confianza podrá Devin continuar con la tarea sin intervención.

<div id="be-clear-and-specific">
  #### Sé claro y específico
</div>

Proporciona instrucciones y requisitos claros y detallados para Devin. Por ejemplo, puedes:

1. Especificar los pasos clave necesarios para completar una tarea
2. Indicar los repositorios, bibliotecas, ramas, etc. específicos con los que quieres que Devin trabaje

Nada es “demasiado obvio” para Devin, pero hará todo lo posible por aclarar las cosas y formular preguntas a lo largo del proceso.

<div id="use-playbooks">
  #### Usa Playbooks
</div>

Para tareas repetitivas o complejas, recomendamos usar e iterar con [Playbooks](/es/product-guides/creating-playbooks). Los Playbooks son indicaciones fácilmente reutilizables y compartibles. Por ejemplo, si quieres que Devin se encargue de fallos recurrentes en las builds de CI, puedes crear un playbook que incluya los pasos generales que Devin debe seguir cada vez para resolver el problema, sin tener que incluirlos en cada indicación.

<div id="provide-references-or-examples">
  #### Proporciona referencias o ejemplos
</div>

Cuando haya disponibles, incluye documentación o ejemplos relevantes para la tarea. Si no proporcionas ningún recurso, Devin puede buscar documentación por su cuenta.

<div id="jump-in">
  #### ¡Empieza ya!
</div>

Hazle preguntas a Devin y dale instrucciones mientras trabaja, igual que lo harías con cualquier otro compañero de equipo.
