Verdent Docs
Prácticas recomendadas

Ingeniería de prompts

Buenas prácticas para escribir prompts efectivos


Los prompts efectivos son la base de un desarrollo asistido por IA exitoso. Las solicitudes claras y específicas con el contexto adecuado permiten que Verdent entregue resultados precisos y relevantes.

Lo que aprenderás

  • Buenas prácticas para escribir prompts efectivos
  • Cómo proporcionar contexto y evitar errores comunes
  • Técnicas avanzadas como las @-menciones y la delegación a subagentes
  • Ejemplos de prompts bien estructurados
  • Estrategias de refinamiento iterativo

Qué hace que un prompt sea efectivo

Los prompts efectivos son claros, específicos y proporcionan el contexto necesario para que Verdent comprenda tu intención y entregue resultados precisos.

Principios clave:

  • Sé específico - Indica exactamente lo que necesitas, no solicitudes vagas
  • Incluye detalles - Proporciona especificaciones técnicas cuando tengas preferencias
  • Especifica el alcance - Aclara qué archivos o componentes están involucrados
  • Proporciona contexto - Ayuda a Verdent a entender tu arquitectura
  • Indica los resultados - Describe cómo se ve el éxito
  • Usa lenguaje natural - No se requiere sintaxis especial

Ejemplos de transformaciones:

Malo:

Fix the code

Bueno:

Add input validation to the email field in ContactForm.js to reject invalid email formats

Malo:

Add authentication

Bueno:

Add JWT authentication using the same middleware pattern as auth.js, store tokens in httpOnly cookies

Errores comunes al escribir prompts

Ejemplos de prompts:

Make the app better
Fix the bugs
ProblemaSolución
Verdent no sabe qué mejoras quieres ni qué errores abordarEspecifica exactamente qué necesita mejorarse o qué error corregir

Ejemplos de prompts:

Add authentication
ProblemaSolución
Verdent podría implementar JWT cuando usas OAuth, o viceversaEspecifica el enfoque de implementación, los patrones existentes y los requisitos técnicos

Ejemplos de prompts:

Build the entire user management system with authentication, authorization, profiles, settings, and admin dashboard
ProblemaSolución
Las solicitudes complejas de múltiples sistemas son más difíciles de ejecutar correctamente de una sola vezDivídelas en tareas más pequeñas: comienza con la autenticación, luego la autorización y después los perfiles

Ejemplos de prompts:

Update the validation logic
ProblemaSolución
No queda claro qué archivos o validación modificarEspecifica el alcance: "Actualiza la validación en UserController.js para exigir contraseñas seguras"

Ejemplos de prompts:

Expecting Verdent to know your specific business rules or constraints
ProblemaSolución
Verdent implementa soluciones genéricas sin tus requisitos específicosIndica de forma explícita todas las restricciones, reglas de negocio y requisitos

Ejemplos de prompts:

Referencing files without including them in context
ProblemaSolución
Verdent podría no tener acceso a los archivos que estás comentandoUsa @filename.js para incluir explícitamente los archivos relevantes

Ejemplos de prompts:

Repeatedly asking for the same thing when Verdent encounters errors
ProblemaSolución
El mismo enfoque produce los mismos erroresLee los mensajes de error y ajusta el prompt según lo que falló

Ejemplos de prompts:

Requesting large refactorings or multi-file changes without using Plan Mode first
ProblemaSolución
No ves el alcance completo hasta que los archivos ya están modificadosCambia a Plan Mode para tareas complejas y revisa el enfoque antes de la ejecución

Activa Plan Mode para cambios complejos y revisa el enfoque antes de la ejecución; esto detecta malentendidos a tiempo.

Ejemplos de prompts:

Using Auto-Run or Skip Permission Mode without Git initialized
ProblemaSolución
No hay una red de seguridad si Verdent hace cambios no deseadosTen siempre Git inicializado y con commits antes de usar modos permisivos

Ejemplos de prompts:

Providing incomplete requirements and expecting Verdent to guess correctly
ProblemaSolución
Verdent implementa basándose en suposiciones que pueden no coincidir con tus necesidadesPídele a Verdent que te entreviste: "Hazme preguntas aclaratorias sobre los requisitos antes de crear el plan"

Ejemplos de prompts bien estructurados

Crear nuevas funcionalidades con requisitos y restricciones claros:

Create a POST /api/tasks endpoint that:
- Accepts task title (required), description (optional), and category_id (required)
- Validates that the category exists in the database
- Returns 400 if validation fails with descriptive error messages
- Saves the task to the database and returns the created task with 201 status
- Add this to the existing tasks router in routes/tasks.js
- Create the controller method in controllers/taskController.js
- Use the existing error handling pattern from other controllers

Qué lo hace efectivo:

  • Requisitos claros para las entradas y la validación
  • Ubicaciones específicas de archivos para la implementación
  • Referencia a patrones existentes para mantener la coherencia
  • Códigos de estado HTTP esperados y manejo de errores

Describir problemas con contexto y soluciones propuestas:

Fix the race condition in payment processing at checkout. When multiple users submit payments simultaneously, some transactions fail with "duplicate order ID" errors. The issue appears to be in PaymentController.js around line 45 where we generate order IDs. Implement proper locking or use UUID generation to ensure unique IDs even under concurrent load.

Qué lo hace efectivo:

  • Descripción clara del problema con síntomas
  • Ubicación específica del problema (archivo y número de línea)
  • Contexto sobre cuándo ocurre (usuarios concurrentes)
  • Enfoques de solución sugeridos

Cambiar la implementación preservando el comportamiento:

Refactor the authentication middleware in middleware/auth.js to use JWT tokens instead of session cookies. Keep the same authorization logic, but:
- Replace session validation with JWT verification
- Store tokens in httpOnly cookies
- Maintain the existing user object structure that routes expect
- Update only the authentication mechanism, don't change authorization rules
- Ensure all existing routes continue to work without modification

Qué lo hace efectivo:

  • Objetivo claro (JWT en lugar de sesiones)
  • Archivo específico para refactorizar
  • Restricciones explícitas (lo que NO debe cambiar)
  • Requisito de compatibilidad con versiones anteriores

Escribir pruebas con cobertura integral:

Write comprehensive unit tests for the UserService class in services/UserService.js. Cover:
- User creation with valid and invalid data
- Email validation edge cases (empty, malformed, duplicate)
- Password hashing verification
- User lookup by ID and email
- Error handling for database failures
Use Jest and follow the testing patterns in existing service tests

Qué lo hace efectivo:

  • Clase o archivo específico para probar
  • Lista completa de escenarios por cubrir
  • Framework de pruebas especificado
  • Referencia a patrones de prueba existentes

Construir componentes de interfaz con especificaciones detalladas:

Create a reusable SearchBar component for the product catalog with:
- Text input with real-time debounced search (300ms delay)
- Category dropdown filter (fetch options from /api/categories)
- Price range slider (min $0, max $1000)
- Clear filters button
- Use Material-UI components to match existing design
- Emit search parameters via onChange callback to parent
- Include PropTypes for all props

Qué lo hace efectivo:

  • Lista completa de funcionalidades con detalles específicos
  • Especificaciones técnicas (debounce de 300 ms, rango de precios)
  • Biblioteca de interfaz especificada (Material-UI)
  • Enfoque de integración (callback al componente padre)

Técnicas avanzadas para escribir prompts

Hacer referencia a archivos, componentes o subagentes específicos:

@auth.js @UserController.js Refactor authentication to use the same validation pattern

Beneficios:

  • Garantiza que Verdent tenga el contexto exacto al incluir explícitamente archivos específicos
  • Evita la ambigüedad en bases de código grandes con nombres de archivo similares
  • Garantiza que todo el código relevante sea visible simultáneamente para una refactorización y coincidencia de patrones precisas
  • Esencial al referenciar patrones de implementación de un archivo para aplicarlos en otro

Cambia a Plan Mode antes de la ejecución para cambios grandes:

Switch to Plan Mode
Refactor the entire API layer to use TypeScript with strict type checking

Beneficios:

  • Revisa el enfoque completo de Verdent antes de que se modifique cualquier archivo
  • Evita errores costosos en refactorizaciones grandes o cambios arquitectónicos
  • Itera sobre el plan, agrega restricciones o redirígelo por completo antes de que comience la ejecución
  • Solicita que Verdent te entreviste con preguntas aclaratorias para reunir todos los requisitos por adelantado

Delega tareas especializadas a subagentes integrados o personalizados:

@Code-reviewer Review the security vulnerabilities in authentication flow
@Explorer Find all files that import the deprecated API client
@Verifier Validate the authentication logic in the middleware

Beneficios:

  • Aprovecha agentes especializados optimizados para tareas específicas (exploración, verificación, revisión de código)
  • Experiencia enfocada y resultados más rápidos que el procesamiento de propósito general
  • Ejecuta múltiples análisis en paralelo para reducir drásticamente el tiempo total de ejecución
  • Crea subagentes personalizados con conocimiento específico del dominio para los requisitos únicos de tu proyecto

Subagentes predeterminados integrados:

  • @Verifier - Verificaciones y validaciones rápidas de código
  • @Explorer - Exploración rápida de la base de código y búsqueda de archivos
  • @Code-reviewer - Evaluación de la calidad del código

Usa @Explorer para preguntas sobre la base de código y @Code-reviewer para análisis de seguridad; la delegación dirigida es más rápida que el enrutamiento del agente principal.

Activa el razonamiento extendido para desafíos sofisticados:

Think: Design the optimal database schema for a multi-tenant SaaS application

Beneficios:

  • Activa el razonamiento extendido para un análisis más profundo de problemas complejos desde múltiples ángulos
  • Evalúa enfoques alternativos y casos límite de forma más exhaustiva
  • Produce soluciones robustas donde la corrección es primordial
  • Respuestas más lentas y mayor uso de créditos, pero evita un retrabajo costoso por soluciones apresuradas y subóptimas

Think Hard Mode destaca en decisiones de arquitectura, depuración compleja y problemas algorítmicos que requieren un análisis profundo.

Construye sobre respuestas previas con un refinamiento progresivo:

Initial: "Create a dashboard component"
Follow-up: "Add real-time data updates using WebSockets"
Follow-up: "Now add filtering and sorting capabilities"

Beneficios:

  • Permite el desarrollo incremental con pruebas en cada paso antes de agregar complejidad
  • Reduce el riesgo al validar que cada capa funcione correctamente antes de construir sobre ella
  • Corrige el rumbo de inmediato si las iteraciones producen resultados inesperados
  • Facilita identificar qué cambio específico introdujo un error, ya que cada iteración es pequeña y contenida

El refinamiento iterativo reduce el riesgo: comienza con un alcance pequeño, verifica los resultados y luego amplía gradualmente.

Especifica lo que NO se debe cambiar junto con lo que sí se debe cambiar:

Add caching to the API endpoints, but:
- Don't modify the authentication middleware
- Keep the existing error handling unchanged
- Maintain backward compatibility with mobile clients

Beneficios:

  • Define explícitamente los límites para evitar modificar sistemas críticos (autenticación, pagos)
  • Protege los sistemas estables que deben permanecer sin cambios por requisitos de cumplimiento o riesgo
  • Evita ciclos costosos de implementar cambios, descubrir funcionalidades rotas y rehacer soluciones
  • Mantiene la compatibilidad con versiones anteriores y protege el código probado en producción de refactorizaciones innecesarias

Señala código existente como ejemplos de implementación:

Implement the new ProductService following the same pattern as UserService.js, including error handling, validation, and database transaction management

Beneficios:

  • Garantiza que las nuevas implementaciones mantengan coherencia con las convenciones establecidas
  • Hace que la base de código sea más mantenible y predecible
  • Reduce drásticamente la explicación necesaria: señala ejemplos en lugar de describir enfoques en detalle
  • Aprovecha patrones probados en producción en lugar de reinventar soluciones
  • Reduce errores y garantiza una integración fluida con los sistemas existentes

Crea un archivo todos.md para hacer seguimiento de tareas complejas de múltiples pasos:

Create a todos.md file with these tasks:
1. Refactor authentication to use JWT tokens
2. Update all controllers to use new auth middleware
3. Add tests for authentication flow
4. Update API documentation

Beneficios:

  • Crea una hoja de ruta clara y escrita que se puede revisar, refinar y compartir con tus compañeros de equipo
  • Se ajusta fácilmente a medida que los requisitos evolucionan a lo largo del proyecto
  • Persiste entre sesiones para que puedas pausar el trabajo, reanudarlo después y entender de inmediato dónde lo dejaste
  • Sirve como un artefacto del proyecto que documenta lo planificado, lo completado y lo pendiente para el mantenimiento futuro y la incorporación de nuevos integrantes

Inicia nuevas sesiones entre distintos pendientes para tener un contexto fresco:

After completing todo #1: "Start a new session"
Then: "Let's work on todo #2 from todos.md"

Beneficios:

  • Evita la contaminación del contexto, donde los detalles de tareas previas influyen de forma inapropiada en el trabajo actual
  • Garantiza el enfoque únicamente en el pendiente actual, sin la carga de tareas anteriores
  • Reduce el uso de tokens al no cargar historial de conversación innecesario
  • Hace que las respuestas sean más rápidas y eficientes en cuanto a créditos
  • Crea puntos de control naturales para probar y confirmar cambios, manteniendo un historial de git limpio y un aislamiento de problemas más sencillo

Usa servidores MCP (Model Context Protocol) para inyectar contexto especializado:

  • Documentación específica del proyecto
  • Especificaciones de API (OpenAPI, esquemas de GraphQL)
  • Conocimiento específico del framework

Beneficios:

  • Mejora la comprensión de Verdent sobre frameworks personalizados, herramientas internas y dominios especializados que no están en sus datos de entrenamiento
  • Elimina la necesidad de explicar repetidamente los sistemas personalizados al inyectar directamente especificaciones de API y documentación específicas de la organización
  • Permite el uso correcto de APIs internas y sistemas propietarios que serían imposibles de transmitir solo mediante prompts

Incluir contexto en los prompts

Incluir explícitamente los archivos relevantes en el contexto:

@models/User.js @controllers/UserController.js Add password reset functionality

Cuándo usarlo:

  • Al trabajar con archivos fuertemente acoplados (modelo y controlador, servicio y pruebas)
  • Al referenciar patrones de implementación de un archivo para aplicarlos en otro
  • Al coordinar cambios entre múltiples archivos relacionados
  • En bases de código grandes con nombres de archivo similares, donde la detección automática podría pasar por alto el contexto
  • Úsalo siempre al pedirle a Verdent que "siga el mismo patrón que..." para garantizar que tenga el código exacto

Incluir contexto de alto nivel sobre tu stack:

This is a MERN stack application (MongoDB, Express, React, Node.js) with JWT authentication. Add role-based access control following our existing middleware pattern.

Cuándo usarlo:

  • Al implementar funcionalidades que necesitan integrarse con tu stack tecnológico existente
  • En el primer trabajo en una base de código o en funcionalidades que abarcan múltiples capas (del frontend a la base de datos)
  • Cuando tu stack tiene posturas marcadas (GraphQL vs REST, Redux vs Context API) que afectan las decisiones de implementación
  • Cuando necesitas que Verdent elija el enfoque que se ajusta a tu sistema en lugar de una solución genérica

Señalar código que demuestra tus convenciones:

Follow the same error handling pattern used in ProductController.js - return consistent error objects with status codes and descriptive messages

Cuándo usarlo:

  • Cuando quieres que el nuevo código mantenga coherencia con las convenciones establecidas (manejo de errores, validación, logging, pruebas)
  • Al implementar funcionalidades similares en una nueva área de la base de código
  • Al incorporarte a partes desconocidas de la base de código donde quieres aprender y replicar los patrones existentes
  • Cuando quieres evitar describir los patrones en detalle y necesitas que Verdent capte matices difíciles de articular

Indicar limitaciones o requisitos:

We're using TypeScript with strict mode enabled, React 18 with hooks only (no class components), and Material-UI v5 for styling

Cuándo usarlo:

  • Cuando tu proyecto tiene requisitos tecnológicos específicos (modo estricto de TypeScript, solo React hooks, sin dependencias externas)
  • Al trabajar con restricciones heredadas (soporte de IE11, compatibilidad con Node.js 14)
  • Cuando los requisitos de cumplimiento dictan las decisiones (accesibilidad WCAG, manejo de datos según el RGPD)
  • Al usar versiones específicas de bibliotecas con cambios incompatibles entre versiones
  • Cuando necesitas evitar que Verdent proponga soluciones que violen los límites técnicos de tu proyecto

Explicar reglas específicas del dominio:

Users can only view tasks assigned to them or their team. Managers can view all tasks in their department. Admins can view everything.

Cuándo usarlo:

  • Al implementar funcionalidades con reglas específicas del dominio que Verdent no puede inferir solo del código
  • Lógica de autorización (quién puede acceder a qué), flujos de trabajo de negocio (procesos de aprobación, máquinas de estado)
  • Reglas de validación (políticas de contraseñas, restricciones de datos), restricciones de dominio (límites de inventario, reglas de precios)
  • Al construir modelos de datos donde las relaciones entre entidades y la cardinalidad necesitan explicación
  • Al implementar cálculos (reglas de descuento, cálculo de impuestos, estructuras de comisiones)
  • Cuando necesitas que Verdent aplique correctamente las reglas de negocio de tu organización, no solo código funcional

Compartir mensajes de error o registros al depurar:

Getting "TypeError: Cannot read property 'id' of undefined" at UserController.js:42 when trying to update user profiles. The req.user object exists but doesn't have an id property after the recent auth middleware changes.

Cuándo usarlo:

  • Incluye siempre mensajes de error completos, trazas de pila y registros al corregir errores
  • Errores en tiempo de ejecución (excepciones, fallos), fallos de compilación (errores de compilación, violaciones de linting)
  • Fallos de pruebas (errores de aserción, problemas de tiempo de espera), comportamiento inesperado (salida incorrecta, datos faltantes)
  • Cuando tienes mensajes de error exactos con números de línea y la traza de pila completa que muestra la cadena de llamadas
  • Cuando puedes proporcionar contexto sobre cuándo ocurre (siempre, de forma intermitente, en condiciones específicas)
  • Cuando quieres mejorar drásticamente la capacidad de Verdent para identificar las causas raíz en lugar de adivinar

Verdent carga automáticamente los archivos relevantes según tu solicitud:

  • Archivos mencionados por nombre en los prompts
  • Archivos relacionados en el mismo directorio
  • Archivos del proyecto a los que se accede con frecuencia

Cuándo confiar en esto:

  • Para referencias estándar de archivos donde las relaciones son obvias
  • Al mencionar componentes por nombre y Verdent necesita cargar ese archivo específico
  • Al trabajar con archivos en el mismo directorio que suelen funcionar juntos
  • Al acceder a archivos del proyecto de uso frecuente (package.json, archivos de configuración)
  • Funciona bien para escenarios sencillos en bases de código bien organizadas
  • Para refactorizaciones complejas de múltiples archivos, partes distantes de la base de código o nombres de archivo ambiguos, usa @-menciones explícitas en su lugar

Configura contexto persistente mediante archivos de reglas (Settings → Rules):

Reglas de usuario (VERDENT.md): Preferencias globales aplicadas en todos los proyectos

Reglas de proyecto (AGENTS.md): Estándares específicos del proyecto: patrones arquitectónicos, estándares de codificación

Reglas de plan (plan_rules.md): Personaliza el formato y el contenido del plan en Plan Mode

Cuándo usarlo:

  • Cuando proporcionas repetidamente el mismo contexto entre sesiones
  • Reglas de usuario para preferencias personales (estilo de codificación, bibliotecas preferidas, patrones que favoreces)
  • Reglas de proyecto para estándares del equipo (decisiones arquitectónicas, convenciones de nombres, requisitos de pruebas)
  • Valioso para la incorporación de nuevos integrantes del equipo (codifica el conocimiento tribal)
  • Mantener la coherencia en equipos grandes y reducir la verbosidad de los prompts
  • Invierte en archivos de reglas cuando tu proyecto haya madurado lo suficiente como para tener patrones establecidos que valga la pena documentar

Incluir capturas de pantalla, mockups o diagramas:

@screenshot.png Implement this UI design with React components

Cuándo usarlo:

  • Cuando la información visual comunica los requisitos de forma más efectiva que el texto
  • Implementación de UI/UX (mockups de diseño, wireframes, flujos de usuario)
  • Depuración de problemas visuales (captura de pantalla de un diseño roto, problemas de renderizado)
  • Comprensión de arquitecturas complejas (diagramas de sistema, esquemas de base de datos, diagramas de flujo)
  • Esencial para el diseño responsivo, el análisis de accesibilidad y la reproducción de errores
  • Traducir diseños de herramientas como Figma o Sketch a código
  • Una sola captura de pantalla bien tomada a menudo transmite detalles que tomarían párrafos describir

Hacer referencia a documentación o ejemplos externos:

Ultrathink: Read this API documentation at https://api-docs.example.com/v1/endpoints and implement the authentication flow

Cuándo usarlo:

  • Al implementar integraciones con APIs o bibliotecas externas que tienen documentación oficial en línea
  • Especialmente valioso cuando la biblioteca tiene opciones de configuración o flujos de autenticación complejos
  • Usa el prefijo "Ultrathink:" para indicarle a Verdent que obtenga y analice el contenido web antes de generar código
  • Esencial para APIs en rápida evolución donde la documentación está más actualizada que los datos de entrenamiento
  • Al seguir patrones específicos de un framework (Next.js App Router, Vue Composition API)
  • Garantiza que las implementaciones coincidan con las versiones actuales de API y sigan las recomendaciones oficiales

Estrategias de refinamiento iterativo

Prompt inicial:

Add authentication to the API

La respuesta de Verdent podría ser genérica. Refínala:

Use JWT tokens stored in httpOnly cookies, implement refresh token rotation, and follow the authentication pattern from our existing UserController

Cuándo usarlo: Cuando comienzas con una solicitud general y luego agregas detalles según la respuesta inicial

Si la implementación de Verdent no coincide con tus expectativas:

The validation logic is good, but use Joi schema validation instead of manual checks. Match the validation pattern in ProductController.js

Cuándo usarlo: Después de revisar la salida e identificar mejoras específicas

Construye de forma incremental:

Initial: "Create a UserProfile component"
Follow-up: "Add an avatar upload feature with image preview"
Follow-up: "Add validation - max 5MB, only jpg/png formats"
Follow-up: "Show upload progress with a progress bar"

Cuándo usarlo: Al construir funcionalidades progresivamente en la misma sesión

Si la implementación parece inesperada:

Why did you use Redux instead of Context API? Can you explain the trade-offs for this use case?

Luego refina según tu comprensión:

Actually, use Context API for consistency with the rest of our application

Cuándo usarlo: Para entender el razonamiento antes de solicitar cambios

Para cambios complejos:

Switch to Plan Mode
Show me how you would refactor the authentication system to support OAuth providers

Revisa el plan, haz preguntas e itera sobre el enfoque antes de la ejecución.

Cuándo usarlo: Para cambios arquitectónicos importantes que requieren revisión

Si el estilo de Verdent no coincide con el tuyo:

The component structure is close, but use this pattern instead:
[paste example of your preferred structure]
Apply this same pattern to the remaining components

Cuándo usarlo: Para establecer o reforzar las preferencias de estilo de código

Si la salida viola restricciones no declaradas:

Good approach, but don't modify the database schema - work within the existing User table structure

Cuándo usarlo: Para agregar restricciones descubiertas después de ver la implementación inicial

Comienza con la funcionalidad central y agrega funcionalidades de forma iterativa:

Step 1: "Create basic CRUD endpoints for tasks"
Step 2: "Add pagination to the GET endpoint"
Step 3: "Add filtering by status and priority"
Step 4: "Add full-text search across title and description"

Cuándo usarlo: Al construir funcionalidades complejas de forma incremental con pruebas en cada paso


Preguntas frecuentes

¿Qué tan específicos deben ser mis prompts?

Sé lo suficientemente específico para eliminar la ambigüedad, pero no expliques en exceso los detalles obvios. Incluye: rutas exactas de archivos, enfoque de implementación, resultados esperados y restricciones. Malo: "Arregla el código" - demasiado vago. Bueno: "Agrega validación de entrada al campo de email en ContactForm.js para rechazar formatos de email no válidos" - alcance y objetivo claros. En caso de duda, inclínate por una mayor especificidad.

¿Cuál es la diferencia entre las @-menciones y la carga automática de archivos?

Verdent carga automáticamente los archivos mencionados por nombre en los prompts y los archivos relacionados en el mismo directorio. @-mentions (@filename.js) garantizan explícitamente que un archivo esté en el contexto, lo cual es fundamental al trabajar con archivos fuertemente acoplados, al referenciar patrones de un archivo para aplicarlos en otro, o cuando la detección automática podría pasar por alto el contexto en bases de código grandes. Usa siempre @-mentions al pedirle a Verdent que "siga el mismo patrón que..." para garantizar una referencia de código exacta.

¿Cuándo debo usar Plan Mode en lugar del modo normal?

Usa Plan Mode para: refactorizaciones grandes o cambios arquitectónicos, modificaciones de múltiples archivos donde quieres revisar el alcance antes de la ejecución, tareas complejas donde no estás seguro de los requisitos, o cuando quieres que Verdent te entreviste con preguntas aclaratorias antes de la implementación. Omite Plan Mode para: tareas simples y bien definidas, correcciones rápidas de errores u operaciones rutinarias. Plan Mode agrega sobrecarga, pero evita errores costosos en trabajos complejos.

¿Qué pasa si Verdent no entiende o no sigue mi prompt correctamente?

Usa el refinamiento iterativo: revisa la salida, identifica qué está mal y luego proporciona correcciones en un prompt de seguimiento. Ejemplo: "La lógica de validación está bien, pero usa la validación de esquemas de Joi en lugar de verificaciones manuales. Sigue el patrón de validación de ProductController.js." También puedes pedir explicaciones: "¿Por qué usaste Redux en lugar de Context API?" y luego refinar según tu comprensión. No repitas el mismo prompt: ajústalo según lo que falló.

¿Necesito repetir el contexto del proyecto en cada prompt durante una sesión?

No: Verdent mantiene el contexto de la conversación dentro de una sesión, así que no necesitas repetir los detalles de arquitectura o las convenciones que ya se comentaron. Sin embargo, para restricciones críticas o cuando las sesiones se vuelven largas (100+ mensajes), reitera el contexto importante. Mejor enfoque: usa reglas de proyecto (AGENTS.md) para documentar contexto persistente como el stack tecnológico, los estándares de codificación y los patrones; así nunca necesitarás repetirlos.

Los prompts bien estructurados, con una intención clara, contexto relevante y restricciones específicas, producen consistentemente mejores resultados.


Consulta también