Los desarrolladores se encuentran con los prompts en dos lugares: al pedir a un asistente de IA que cambie código y al escribir prompts que se distribuyen dentro de una aplicación. Las habilidades se solapan, pero los modos de fallo son distintos. Esta guía cubre ambos.
Parte 1: Prompts para asistentes de programación con IA
Escribe una especificación, no un deseo
Un asistente de programación al que se da una sola frase tiene que deducir el alcance, las restricciones y qué significa «terminado». Dale lo mismo que pondrías en un buen ticket.
fix login issue and make google login work and don't break anything
## Objective
Fix the login failure and make Google login work.
## Constraints
- Do not change the existing email and password flow.
- Keep the public API of AuthService unchanged.
## Edge cases
- Expired or revoked OAuth tokens.
- A Google account whose email already exists as a password account.
## Testing
- Add unit tests for the token exchange and the account-linking path.
## Acceptance criteria
- Existing auth tests pass. New tests cover both edge cases.
## Expected output
A summary of the cause, then the changed files as diffs.
El segundo prompt tarda un minuto más en escribirse y ahorra una ronda de «no es eso lo que quería decir». La extensión de VS Code de PromptFlowEngine genera esta estructura a partir de una tarea de una línea y los archivos relevantes.
Aporta el código adecuado, no todo el código
Las ventanas de contexto son grandes, pero la atención no es ilimitada. Incluye los archivos que toca el cambio, las interfaces que debe respetar y un ejemplo de las convenciones del proyecto. Deja fuera los archivos generados, los archivos de bloqueo y los módulos no relacionados.
Indica lo que no debe cambiar
Los asistentes optimizan para la petición. Si importan la compatibilidad hacia atrás, una interfaz pública o el rendimiento, dilo. «No rompas nada» no es una restricción que un modelo pueda comprobar; «mantén sin cambios el esquema de respuesta de GET /orders» sí lo es.
Pide un plan en los cambios grandes
Para cualquier cosa más allá de una edición pequeña, pide primero el plan, revísalo y luego pide la implementación. Es el encadenamiento de prompts aplicado al código, y detecta un enfoque equivocado antes de escribir una sola línea.
Verifica lo que vuelve
Lee el diff. Ejecuta las pruebas. Para cambios mayores, escribe un prompt de revisión que dé al modelo la tarea original y los archivos modificados, y pídele que enumere dónde el cambio no cumple los criterios de aceptación.
Parte 2: Prompts dentro de tu aplicación
Mantén los prompts bajo control de versiones
Un prompt forma parte del comportamiento de tu programa. Guárdalo en un archivo, revisa los cambios en pull requests y etiqueta las versiones. Consulta la gestión y el versionado de prompts.
Usa plantillas con variables delimitadas
Nunca concatenes la entrada del usuario en las instrucciones. Usa variables con nombre y envuelve cada una en etiquetas.
PROMPT = """Classify the support ticket in the tags as billing, bug, or other.
Return only the label.
<ticket>
{ticket}
</ticket>"""
Exige salida estructurada y valídala
Si tu código analiza la respuesta, solicita JSON conforme a un esquema, usa la función de salida estructurada del proveedor cuando exista y valida el resultado antes de usarlo. Consulta los prompts de salida estructurada.
Presupuesta los tokens
Sabe cuántos tokens usa tu prompt fijo, porque lo pagas en cada llamada. Cuenta con el tokenizador real del modelo, no con una estimación por caracteres. Consulta la optimización de tokens.
Prueba los prompts en CI
Las comprobaciones estáticas detectan regresiones que no necesitan un modelo: un formato de salida eliminado, una sección duplicada, un recuento de tokens por encima del presupuesto, una clave de API confirmada en el repositorio. La puerta de pruebas de prompts las ejecuta en cada pull request.
- run: promptflow check "prompts/**/*.md" --min-score 70 --max-tokens 1500
Trata la salida del modelo como no confiable
La salida puede ser errónea y puede ser dirigida por texto inyectado en la entrada. No la pases a una shell, a una consulta SQL ni a una página HTML sin la misma validación que aplicarías a la entrada de un usuario. Consulta la seguridad de prompts.
Llamar al motor desde código
Las mismas comprobaciones están disponibles por HTTP sin clave, lo que resulta útil para una prueba de integración rápida o una herramienta interna:
curl -s https://promptflowengine.com/api/v1/analyze \
-H 'content-type: application/json' \
-d '{"prompt":"Write something about our product."}'
Consulta la API HTTP para ver los endpoints, o conéctala a un agente de programación mediante MCP.