Si estás leyendo esto, probablemente ya entiendes algunos de los casos de uso y las limitaciones de los LLM. Cuanto mejores sean el prompt y el contexto que proporciones al modelo de IA, mejor será el resultado. De forma similar en Windsurf, existen prácticas recomendadas para crear prompts más efectivos, sacar el máximo provecho de la herramienta y obtener el código de mayor calidad posible para acelerar tus flujos de trabajo.
Para tareas más complejas que puedan requerir @-mencionar bloques de código específicos, usa Chat en lugar de Command.

Componentes de un prompt de alta calidad

  • Objetivo o resultado claro
    • ¿Qué le estás pidiendo al modelo de IA que produzca?
    • ¿Le estás pidiendo al modelo de IA un plan? ¿Código nuevo? ¿Un refactor?
  • Todo el contexto relevante para realizar la(s) tarea(s)
    • ¿Has usado correctamente las @-menciones para asegurarte de que se incluya el contexto adecuado?
    • ¿Hay algún contexto específico de un cliente que pueda no ser claro para Windsurf?
  • Restricciones necesarias
    • ¿Hay frameworks, bibliotecas o lenguajes específicos que deban utilizarse?
    • ¿Hay restricciones de complejidad en espacio o en tiempo?
    • ¿Hay consideraciones de seguridad?

Ejemplos

Ejemplo n.º 1:
  • Malo: Escribe pruebas unitarias para todos los casos de prueba de un objeto Order Book.
  • Bueno: Usando @class:unit-testing-module, escribe pruebas unitarias para @func:src-order-book-add verificando las excepciones que se lanzan cuando está por encima o por debajo del stop loss
Ejemplo n.º 2:
  • Malo: Refactoriza rawDataTransform.
  • Bueno: Refactoriza @func:rawDataTransform convirtiendo el bucle while en un bucle for y usando la misma estructura de salida de datos que @func:otherDataTransformer
Ejemplo n.º 3:
  • Malo: Crea un nuevo Button para el formulario de contacto.
  • Bueno: Crea un nuevo componente Button para @class:ContactForm utilizando la guía de estilos de @repo:frontend-components que diga “Continue”