Ingeniería de prompts de IA: Comandos y técnicas esenciales para desarrolladores
Consejos de prompting específicos por herramienta
Codex CLI sobresale en un amplio espectro de escenarios de desarrollo. Aquí están los casos de uso más comunes donde ofrece las mayores ganancias de productividad.
Biblioteca de plantillas de prompts
Prompting zero-shot
Prompting few-shot
Cuando necesitas validar rápidamente una idea, Codex CLI puede generar un prototipo funcional en minutos en lugar de horas. Describe la funcionalidad central que deseas y genera una implementación funcional con estructura apropiada, manejo de errores e incluso estilo básico si estás construyendo una interfaz web. Esto acorta drásticamente el ciclo de retroalimentación de la idea al prototipo funcional:
Prompting de cadena de pensamiento
Variable de entorno (recomendado): Configura OPENAI_API_KEY en tu archivo de configuración de shell. Esto mantiene la clave segura y automáticamente disponible para todas las sesiones de terminal:
Prompting de rol
Write a Python function that validates an email address using regex.
The function should return True for valid emails and False for invalid ones.Prompts de sistema vs. prompts de usuario
Archivo de configuración: Crea un archivo ~/.codex/config.json para almacenar tu clave API. Esto es útil para pipelines CI/CD y scripts de automatización.
"Actúa como..." / "Eres un..." — asignación de roles
Convert these database column names to camelCase JavaScript variable names:
user_first_name -> userFirstName
created_at_timestamp -> createdAtTimestamp
is_email_verified -> isEmailVerified
total_order_count ->
Now convert: product_category_id"Paso a paso" — cadena de pensamiento
Ventana de contexto
"Piensa en voz alta" — transparencia en el razonamiento
Analyze this React component for performance issues. Think step by step:
1. First, identify all state variables and their update patterns
2. Then, check for unnecessary re-renders
3. Next, look for missing memoization opportunities
4. Finally, suggest specific optimizations with code examples
Here's the component:
[component code]"Explícamelo como si tuviera 5 años" — explicación simplificada
Costo relativo
"Revisa y critica" — revisión de código
Act as a senior security engineer with 15 years of experience in web application security. Review this authentication implementation and identify any vulnerabilities, ranking them by severity. For each vulnerability, explain the attack vector and provide a secure code fix."Escribe pruebas para" — generación de pruebas
Generación de código complejo, operaciones multi-archivo
"Refactoriza usando..." — refactorización basada en patrones
"Encuentra errores en" — depuración
# System prompt example
You are a TypeScript expert working on a Next.js 14 project using:
- App Router (not Pages Router)
- Server Components by default
- Prisma for database access
- Tailwind CSS for styling
- Zod for validation
Always use strict TypeScript. Prefer server actions over API routes.
Never use 'any' type. Use 'unknown' and narrow with type guards.
# User prompt example
Add a user profile page that shows the current user's name, email,
avatar, and last 10 activity records. Include loading states and
error handling.¿Portando una herramienta de Python a Go? ¿Traduciendo componentes React a Vue? Codex CLI maneja la traducción de lenguajes con una precisión sorprendente, entendiendo no solo las diferencias de sintaxis sino también los patrones idiomáticos de cada lenguaje. Solo apunta al archivo fuente y especifica el lenguaje objetivo:
"Agrega manejo de errores" — mejora de robustez
| Investigación profunda, integración con el ecosistema de Google | Uso | Claude Code, construido por Anthropic, se ejecuta en tu terminal de manera similar a REPL. Describes las tareas en lenguaje natural, y planifica, ejecuta e itera hasta que la tarea está completa. Codex CLI de OpenAI adopta un enfoque similar con modelos GPT en su núcleo. Ambas herramientas sobresalen en desarrollo de funciones, refactorización a gran escala, depuración de problemas complejos y cualquier tarea que requiera entender cómo los cambios se propagan a través de una base de código. |
|---|---|---|
| "Act as..." / "You are a..." | Generar archivos README | Revisar todo el código generado por IA |
| "Step by step" | Commits frecuentes | Mantener al humano en el circuito |
| "Think aloud" | Hacer tu base de código amigable para IA | Gestión de claves API |
| "Explain like I'm 5" | Gestión de la ventana de contexto | Comparación de tiempo de finalización de tareas |
| "Review and critique" | Revisión de código | Tasa de defectos y calidad del código |
| "Write tests for" | Análisis de uso de IA | Estrategias de adopción en equipo |
| "Refactor using..." | ¿Pueden los asistentes de programación AI reemplazar a los desarrolladores humanos? | ¿Cuáles son los riesgos de seguridad al usar asistentes de programación AI? |
| "Find bugs in" | Depuración | ¿Cuánta mejora de productividad puede aportar el desarrollo asistido por IA? |
| "Convert from X to Y" | ¿Qué es un archivo CLAUDE.md y por qué debería usarlo? | El desarrollo de software está experimentando una transformación fundamental. Los asistentes de programación AI han evolucionado de novedades experimentales a herramientas de productividad centrales que están remodelando cómo los desarrolladores escriben, revisan, prueban y mantienen código. Desde agentes de terminal como Claude Code y Codex CLI que pueden ejecutar autónomamente tareas de desarrollo de múltiples pasos, hasta extensiones IDE como GitHub Copilot y Cursor que proporcionan sugerencias de código en tiempo real mientras escribes, el conjunto de herramientas de desarrollo AI se ha vuelto increíblemente diverso y poderoso. Esta guía integral te guiará a través de flujos de trabajo prácticos para integrar estas herramientas AI en tu proceso de desarrollo diario, ayudándote a construir software más rápido e inteligentemente mientras mantienes los estándares de calidad y seguridad que tu proyecto exige. |
| "Document this" | Generación de documentación | La integración de la IA con el desarrollo de software representa uno de los cambios más significativos en la programación desde la llegada de los lenguajes de alto nivel. Lo que comenzó como simples funciones de autocompletado ha evolucionado en agentes AI sofisticados capaces de entender bases de código completas, ejecutar tareas de múltiples pasos e incluso tomar decisiones arquitectónicas. Esta transformación no ocurrió de la noche a la mañana — es la culminación de décadas de progreso en procesamiento de lenguaje natural, comprensión de código y capacidades de modelos de lenguaje grandes. |
| "Optimize for performance" | Los datos cuentan la historia. Según encuestas recientes de la industria, más del 75% de los desarrolladores profesionales ahora usan herramientas de programación AI en cierta medida. GitHub informa que los desarrolladores que usan Copilot completan tareas un 55% más rápido en promedio, con las mayores ganancias en tareas de codificación repetitivas como escribir código boilerplate, generar pruebas e implementar patrones estándar. Un estudio de McKinsey encontró que los desarrolladores asistidos por IA pueden completar tareas de documentación en la mitad del tiempo y tareas de refactorización de código en aproximadamente dos tercios del tiempo de los métodos tradicionales. | El cambio de la codificación manual a los flujos de trabajo aumentados por IA representa un cambio en cómo los desarrolladores piensan sobre su oficio. En lugar de escribir código línea por línea a mano, los desarrolladores actúan cada vez más como directores y revisores — especificando qué necesita ser construido, guiando a los asistentes AI a través de la implementación y verificando la salida. Esto no disminuye el rol del desarrollador; lo eleva. Los desarrolladores pasan menos tiempo en tareas mecánicas de codificación y más tiempo en resolución creativa de problemas, pensamiento arquitectónico y asegurando que el software satisfaga las necesidades reales de los usuarios. |
| "Add error handling" | Antes de sumergirse en los flujos de trabajo, es crucial entender las diferentes categorías de herramientas de programación AI y sus fortalezas. Cada tipo de herramienta sirve a un propósito diferente, y los desarrolladores más efectivos aprenden a usarlas en combinación. | Claude CodeCodex CLI se ejecutan directamente en tu shell, proporcionando una experiencia agéntica que va mucho más allá del completado de código. Estas herramientas pueden navegar todo tu sistema de archivos, entender la estructura del proyecto, ejecutar comandos de shell, editar múltiples archivos simultáneamente e incluso gestionar operaciones git. Están diseñadas para tareas complejas de múltiples pasos que requieren un contexto profundo del proyecto y ejecución autónoma. |
Tareas simples, explicación de código, soluciones rápidas
Prompt de implementación de funciones
You are a senior backend engineer at a fintech company who specializes
in building secure, high-throughput payment processing systems.
You have deep expertise in PostgreSQL, Redis, and distributed systems.
You always consider edge cases, race conditions, and failure modes.
Design a payment processing API that handles:
- Credit card payments via Stripe
- Bank transfers via Plaid
- Retry logic with exponential backoff
- Idempotency keys to prevent duplicate chargesRazonamiento complejo, depuración de problemas difíciles
Prompt de diseño de API
Debug this SQL query that's causing a timeout. Think step by step:
1. First, analyze the query structure and joins
2. Identify potential performance bottlenecks
3. Check for missing indexes
4. Suggest an optimized version with EXPLAIN analysis
SELECT u.name, COUNT(o.id), SUM(o.amount)
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
LEFT JOIN order_items oi ON o.id = oi.order_id
WHERE o.created_at > '2026-01-01'
GROUP BY u.name
HAVING COUNT(o.id) > 10
ORDER BY SUM(o.amount) DESC;Medio-bajo
Prompt de esquema de base de datos
I need to choose between WebSocket and Server-Sent Events for a
real-time notification system. Think aloud about the trade-offs,
considering: browser support, bidirectional communication needs,
server resource usage, and scalability. Then recommend one with
justification.Razonamiento avanzado con contexto más amplio
Prompt de componente UI
Explain like I'm 5: What is a monad in functional programming,
and why do Haskell developers keep talking about them?
Use a real-world analogy, not code.Modelo subyacente
Prompt de configuración y DevOps
Review and critique this Express.js middleware. Focus on:
- Security vulnerabilities
- Error handling gaps
- Performance concerns
- Best practice violations
- Suggest improvements with code examples
[paste your middleware code]Velocidad de generación de código
Encadenamiento de prompts
Write tests for the UserService.register method using Jest.
Cover these scenarios:
- Happy path with valid input
- Duplicate email registration
- Invalid email format
- Password too short
- Missing required fields
- Database connection failure
- Concurrent registration attempts
Use describe/it blocks. Include setup and teardown.
Mock the database layer.Generalmente más rápida
Relleno de contexto
Refactor this notification system using the Strategy pattern.
Currently, all notification types (email, SMS, push) are handled
in a single class with if-else chains. Create separate strategy
classes for each notification type, a context class that delegates
to the active strategy, and a factory for creating strategies.
[paste your current code]Ligeramente más lenta, más deliberada
Especificación de restricciones
Find bugs in this async Node.js function. It's supposed to process
a batch of orders and update their status, but sometimes orders
get processed twice and the status updates are inconsistent under
high load.
[paste your function code]Calidad de revisión de código
Control de formato de salida
Add error handling to this file upload function. Consider:
- File size limits
- Invalid file types
- Network interruptions during upload
- Disk space errors
- Concurrent upload conflicts
- Partial upload cleanup
Use try-catch with specific error types. Add retry logic for
transient failures. Return meaningful error messages to the client.Cada proyecto acumula código boilerplate — endpoints CRUD, validación de formularios, flujos de autenticación, migraciones de base de datos, archivos de configuración. Codex CLI elimina la monotonía de escribir código repetitivo. Describe el patrón una vez y genera todo el boilerplate con la estructura apropiada, dejándote libre para enfocarte en las partes únicas de tu aplicación.
Refinamiento iterativo
Buena, detecta problemas obvios
Instrucciones vagas
Implement a user avatar upload feature for a Next.js 14 application.
Tech stack: Next.js App Router, TypeScript, Prisma, PostgreSQL, AWS S3
Requirements:
- Accept JPEG, PNG, WebP (max 5MB)
- Resize to 200x200 and 400x400 thumbnails using Sharp
- Upload originals to S3 with unique keys
- Store S3 URLs in the User model
- Delete old avatar when uploading a new one
- Return presigned URLs for frontend display
Acceptance criteria:
- Invalid file types return 400 with error message
- Files over 5MB return 413
- Successful upload returns 200 with avatar URLs
- Old avatars are cleaned up from S3
Create: API route, service layer, Prisma schema update, and types.Excelente, análisis más profundo y matizado
Falta de contexto
Design a RESTful API for a project management application.
Architecture: Express.js with TypeScript, following clean architecture
Auth: JWT with refresh token rotation
Versioning: URL-based (/api/v1/)
Response format: { success: boolean, data?: T, error?: { code, message } }
Endpoints needed:
- Projects CRUD with team membership
- Tasks CRUD with assignee, priority, status
- Comments on tasks with mentions
- Activity feed (recent actions across projects)
Include:
- Request/response TypeScript interfaces
- Zod validation schemas
- Error handling middleware
- Pagination for list endpoints (cursor-based)Razonamiento de formato largo
Sobrecarga de prompts
Design a Prisma schema for an e-commerce platform with these entities:
- Users (authentication, profile, addresses)
- Products (variants, categories, inventory)
- Orders (line items, status history, payments)
- Reviews (ratings, images, helpful votes)
- Cart (items, applied coupons)
Requirements:
- Use PostgreSQL with UUID primary keys
- Soft deletes with deletedAt timestamps
- Proper indexes for common query patterns
- Enums for order status, payment status
- Decimal fields for prices (not float)
- Full-text search on product name and description
- Include a migration fileFuerte con modelos de razonamiento
Ignorar el formato de salida
Create a reusable DataTable component in React with TypeScript.
Styling: Tailwind CSS + shadcn/ui conventions
Features:
- Column definitions with sort, filter, and custom renderers
- Server-side pagination with page size selector
- Row selection (single and multi) with checkboxes
- Loading skeleton state
- Empty state with custom message
- Responsive: card layout on mobile, table on desktop
Accessibility:
- Keyboard navigation (arrow keys, Enter, Escape)
- Screen reader announcements for sort and filter changes
- ARIA labels on all interactive elements
Props interface:
- data, columns, isLoading, pagination, onSort, onFilter, onSelect
Include a usage example with a user list table.Excepcional, especialmente en arquitectura
No iterar
Create a Docker Compose setup for a development environment with:
- Next.js app (hot reload enabled)
- PostgreSQL 16 with persistent volume
- Redis for session storage
- MinIO (S3-compatible) for local file storage
Requirements:
- All services on a shared network
- Environment variables from .env file
- Health checks for all services
- Volumes for node_modules (avoid bind mount issues)
- PostgreSQL initialized with seed data
- Non-root containers where possible
Also create:
- Dockerfile for the Next.js app (multi-stage build)
- .env.example with all required variables
- Makefile with common commands (up, down, logs, reset-db)Cuando estás atascado en un bug, Codex CLI puede analizar registros de errores, rastrear rutas de código y sugerir correcciones. Pega tu mensaje de error y código relevante, y proporcionará diagnósticos y soluciones:
¿Qué es la ingeniería de prompts y por qué es importante para los desarrolladores?
Operaciones multi-archivo
¿Cuáles son las técnicas de prompting más importantes para desarrolladores?
# Step 1: Design the architecture
"Design the architecture for a real-time chat application.
List the components, their responsibilities, and how they
communicate. Use a diagram-like text format."
# Step 2: Define the data model
"Based on the architecture above, design the database schema
for the chat application. Include users, conversations,
messages, and read receipts. Use Prisma schema format."
# Step 3: Implement the API
"Implement the REST API for the chat application based on
the architecture and schema we designed. Start with the
message endpoints: send, list, delete."
# Step 4: Add WebSocket support
"Now add WebSocket support for real-time message delivery.
Use Socket.io. Integrate with the existing message API."
# Step 5: Write tests
"Write integration tests for the chat API and WebSocket
events using Jest and Supertest."¿Qué herramienta de programación AI es mejor para la ingeniería de prompts?
Excelente, edición batch eficiente
¿Qué errores comunes debo evitar al hacer prompts de código a la IA?
{
await this.db.query('UPDATE users SET email = $1 WHERE id = $2', [email, id]);
await this.cache.del(`user:${id}`);
}
}
```
Here is the User type:
```typescript
interface User {
id: string;
email: string;
name: string;
role: 'admin' | 'user';
createdAt: Date;
}
```
Now, add an updateProfile method that allows updating name and email,
with validation that the email is not already taken by another user. Observa cómo proporcionar el código y los tipos existentes permite a la IA generar métodos que se alinean perfectamente con los patrones existentes, utilizando la misma estrategia de caché y siguiendo las definiciones de tipo existentes.
Muy buena, enfoque más cauteloso
La ingeniería de prompts es la práctica de diseñar y optimizar las entradas de texto que das a los modelos de IA para obtener la mejor salida posible. Para los desarrolladores, es una habilidad crítica que determina si la IA genera código de calidad de producción o basura con errores. Un buen prompting puede reducir el tiempo de desarrollo en un 40-60%, mientras que un mal prompting conduce a una depuración interminable.
Build a URL shortener API with these constraints:
MUST:
- Use Node.js 20+ with native fetch (no axios)
- Use PostgreSQL via pg driver (no ORM)
- Generate short codes of exactly 7 characters
- Support custom aliases (max 20 chars)
- Return 301 for existing short URLs
- Rate limit to 100 creates per hour per IP
MUST NOT:
- Use any ORM or query builder
- Store full URLs without normalization
- Allow short codes that conflict with existing routes
- Return database errors to the client
PERFORMANCE:
- Handle 10,000 requests per second
- Cache hot URLs in Redis with 5-minute TTL
- P99 latency under 50ms for redirectsHasta 200K tokens
Las técnicas más importantes incluyen: prompting de cadena de pensamiento (pedir a la IA que explique su razonamiento paso a paso), prompting de rol (asignar una persona experta como "eres un desarrollador senior de React"), prompting few-shot (proporcionar ejemplos de la salida deseada) y especificación de restricciones (definir explícitamente qué bibliotecas, patrones y estilos usar). Cada técnica tiene fortalezas específicas para diferentes tareas de desarrollo.
Analyze this codebase and provide the output in this exact format:
## Architecture Overview
[2-3 paragraph summary]
## Component Diagram
```mermaid
graph TD
[components and relationships]
```
## API Endpoints
| Method | Path | Description | Auth |
|--------|------|-------------|------|
## Database Tables
| Table | Columns | Indexes | Relations |
|-------|---------|---------|-----------|
## Recommendations
1. [Priority] [Description] - [Estimated effort]
2. ...
## Technical Debt
- [ ] [Description] - [Impact: High/Medium/Low]Precios API de OpenAI (pago por token)
No hay una sola "mejor" herramienta — diferentes herramientas sobresalen en diferentes estilos de prompting. Claude Code y Claude (web) son excelentes para prompts de razonamiento complejos de múltiples pasos con contexto extenso. GitHub Copilot y Cursor son mejores para prompts cortos y contextuales dentro del IDE. ChatGPT es versátil para prompts de planificación y arquitectura. La mejor estrategia es dominar técnicas de prompting que funcionen en todas las herramientas.
# Iteration 1: Get a starting point
"Write a rate limiter middleware for Express.js"
# Iteration 2: Add specificity
"Good start. Now modify it to use Redis for distributed
rate limiting across multiple server instances. Use sliding
window instead of fixed window."
# Iteration 3: Add edge cases
"Add handling for: Redis connection failures (fall back to
in-memory), custom rate limits per route, burst allowance
for legitimate traffic spikes, and proper headers
(X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset)."
# Iteration 4: Add tests
"Write comprehensive tests for all the scenarios we've
covered, including Redis failures and burst handling."Los errores comunes incluyen: prompts vagos como "arregla este código" en lugar de describir el comportamiento esperado, no proporcionar suficiente contexto como rutas de archivos y dependencias, sobrecargar el prompt con demasiadas solicitudes no relacionadas, no especificar el formato de salida deseado y no iterar cuando la primera respuesta no es satisfactoria. Siempre sé específico, proporciona contexto y refina iterativamente.
Codex CLI puede identificar causas raíz que podrían tomar horas descubrir manualmente — desajustes de renderizado servidor/cliente, condiciones de carrera, versiones de dependencia incorrectas o errores lógicos sutiles en condicionales complejos.
La ingeniería de prompts es la habilidad más importante de la era de la IA. Dominarla transforma a los desarrolladores de consumidores pasivos de IA a creadores que orquestan asistentes de IA para producir código de calidad de producción. Los prompts que escribes determinan no solo si la IA completa una tarea, sino si el resultado es mantenible, seguro y alineado con los estándares de tu proyecto.
ChatGPT / GPT-4
Prueba tus prompts con nuestra herramienta de prueba de IA gratuita. Experimenta con diferentes técnicas de prompting y compara los resultados de diferentes modelos.
- Usa instrucciones personalizadas: Configura tu stack tecnológico y preferencias en las instrucciones personalizadas de ChatGPT para no tener que repetirlas en cada conversación.
- Identificar oportunidades de refactorización
- Usa formato markdown en los prompts: GPT-4 responde bien a prompts estructurados con encabezados, viñetas y bloques de código.
- Ejecutar migraciones a gran escala
- Usa mensajes del sistema: En la API, usa mensajes del sistema para establecer instrucciones persistentes como estándares de codificación y contexto del proyecto.
# Effective GPT-4 prompt structure
**Role:** Senior TypeScript developer
**Task:** Implement a JWT authentication middleware
**Context:** Express.js API, PostgreSQL, existing User model
**Constraints:** No external auth libraries, use crypto module
**Output:** Complete, production-ready code with types
**Format:** Single file with inline comments for complex logicClaude / Claude Code
Prueba el probador de prompts
- Usa CLAUDE.md: Esto es lo más impactante que puedes hacer. Coloca el contexto de tu proyecto, convenciones y preferencias en CLAUDE.md.
- Especifica ubicaciones de archivos explícitamente: Claude Code funciona mejor cuando especificas qué archivos leer y modificar.
- Déjalo ejecutar comandos: Claude Code puede ejecutar comandos de prueba y construcción. Pídele que verifique su trabajo ejecutando pruebas.
- Usa /compact en sesiones largas: Cuando el contexto se vuelve extenso, usa /compact para comprimir la conversación conservando la información más importante.
- Aprovecha las etiquetas XML: Claude responde bien a las partes del prompt delimitadas con XML, separando claramente las diferentes secciones de una solicitud.
# Effective Claude Code prompt
Read the following files to understand the current architecture:
- src/routes/userRoutes.ts
- src/middleware/authMiddleware.ts
- src/models/User.ts
Then refactor the authentication flow to support:
1. JWT access tokens (15 min expiry) + refresh tokens (7 day expiry)
2. Token rotation on refresh (invalidate old refresh token)
3. Rate limiting on the refresh endpoint (5 per minute per user)
Update all related files and run the test suite when done.GitHub Copilot
AI y flujos de trabajo de desarrollo: Cómo integrar la IA en tu proceso de desarrollo
- Generación de documentación asistida por IA
- Usa tipos de TypeScript: Los tipos e interfaces bien definidos guían a Copilot hacia la implementación correcta.
- Proporciona ejemplos en comentarios: Muestra la entrada/salida esperada en comentarios para ayudar a Copilot a coincidir con el formato deseado.
- Acepta sugerencias parciales: A veces Copilot tiene la estructura correcta pero detalles incorrectos. Acepta la sugerencia y luego edita los detalles.
- Usa Copilot Chat para tareas complejas: Para cambios en múltiples archivos o decisiones de arquitectura, usa Copilot Chat en lugar de sugerencias en línea.
> {
// Copilot will generate the implementation based on these types Cursor
Comprendiendo las herramientas de programación AI
- Usa referencias @file: Referencia archivos específicos con @filename para dar a Cursor un contexto preciso.
- Usa @codebase para contexto amplio: Cuando necesites que Cursor busque en todo el proyecto, usa @codebase.
- Usa @docs para documentación de bibliotecas: Cursor puede referenciar documentación de bibliotecas de terceros con @docs.
- Aprovecha Cmd+K para edición en línea: Selecciona código y usa Cmd+K para describir cambios en lenguaje natural.
- Configura reglas de proyecto: Usa un archivo .cursorrules (similar a CLAUDE.md) para establecer instrucciones de proyecto persistentes.
# Effective Cursor prompt
@src/services/paymentService.ts @src/types/payment.ts
Refactor the processPayment function to use the Strategy pattern.
Create separate strategy classes for each payment provider
(Stripe, PayPal, BankTransfer). The function should accept a
payment method and delegate to the appropriate strategy.
Keep the same public API so existing callers don't break.Codex CLI
Configuración de un entorno de desarrollo impulsado por IA
- Proporciona objetivos claros: Codex CLI funciona mejor con objetivos de alto nivel claros en lugar de instrucciones paso a paso.
- Especifica el directorio de trabajo: Asegúrate de ejecutar Codex CLI desde el directorio raíz correcto del proyecto.
- Usa el modo de propuesta primero: Antes de dejar que Codex haga cambios, usa el modo de propuesta para revisar su plan.
- Configura los permisos de sandbox con cuidado: Controla lo que Codex puede ejecutar configurando los permisos de sandbox.
- Itera en los resultados: Como con otras herramientas, el primer intento puede necesitar refinamiento a través de prompts de seguimiento.
Errores comunes y cómo evitarlos
Desarrollo de funciones asistido por IA
Precios API de Anthropic (pago por token)
Depuración y corrección de errores asistida por IA
# Bad
"Fix the login bug"
# Good
"Fix the bug where users with uppercase emails cannot log in.
The issue is in src/auth/login.ts - the email comparison is
case-sensitive but emails are stored in lowercase in the database.
The fix should normalize the email to lowercase before comparison."Código abierto
Refactorización y migración de código asistida por IA
# Bad
"Write a function to send emails"
# Good
"Write an email sending function for our NestJS application.
We use:
- @nestjs/mailer with Handlebars templates
- SMTP via AWS SES
- Templates stored in src/templates/emails/
- Existing MailService class in src/mail/mail.service.ts
The function should accept a template name, recipient, and
template variables. Include error handling for SES throttling
and bounce notifications."Explorar ToolHub
Documentación asistida por IA
# Bad - Too many tasks in one prompt
"Build a complete user management system with authentication,
profile management, email verification, password reset,
role-based access control, and an admin dashboard"
# Good - Break it into focused prompts
Prompt 1: "Design the database schema for a user management system..."
Prompt 2: "Implement the authentication endpoints..."
Prompt 3: "Add email verification flow..."
Prompt 4: "Implement role-based access control middleware..."Consejo de seguridad: Nunca codifiques tu clave API en archivos fuente ni la commits al control de versiones. Usa variables de entorno o los comandos de autenticación integrados, y considera configurar límites de uso en el panel de tu cuenta de OpenAI para prevenir cargos inesperados.
Mejores prácticas de desarrollo con IA
# Bad
"List all the API endpoints"
# Good
"List all API endpoints in a markdown table with these columns:
| Method | Path | Description | Auth Required | Request Body | Response |"Consejo profesional: Después de generar código con Codex CLI, ejecuta codex "revisa mis cambios recientes en busca de posibles problemas, vulnerabilidades de seguridad y adherencia a las mejores prácticas" para obtener una segunda opinión impulsada por IA antes de commitear.
Tipos de herramientas de programación AI
# Instead of accepting the first response, iterate:
"Good start. Now add input validation using Zod schemas."
"Now add proper error handling with custom error classes."
"Now add logging for all operations."
"Now write tests for all the edge cases we've discussed."Codex CLI es un excelente compañero de aprendizaje. En lugar de revisar documentación extensa, puedes pedirle que demuestre cómo realizar una tarea específica con el framework que estás aprendiendo. Solicita ejemplos funcionales con explicaciones, luego haz preguntas de seguimiento sobre patrones y convenciones:
Archivos de configuración a nivel de proyecto
Plantilla 1: Implementación de funcionalidad
You are a senior {language} developer specializing in {framework}.
Implement {feature_description} for our {project_type} application.
Tech stack:
- {language} {version} with {framework} {version}
- {database} for data storage
- {orm} for database access
- {testing_framework} for tests
Requirements:
- {requirement_1}
- {requirement_2}
- {requirement_3}
Constraints:
- Must follow existing patterns in the codebase
- Must include input validation
- Must handle errors gracefully
- Must be backward compatible
Output:
1. Implementation code with inline comments for complex logic
2. Unit tests covering happy path and edge cases
3. Brief explanation of design decisionsPlantilla 2: Investigación de bugs
You are a debugging specialist with expertise in {language}/{framework}.
Investigate and fix this bug:
**Symptom:** {describe_the_observed_behavior}
**Expected:** {describe_the_expected_behavior}
**Frequency:** {always/sometimes/under_specific_conditions}
**Environment:** {production/staging/development}
Relevant code:
```
{paste_relevant_code}
```
Error output / stack trace:
```
{paste_error_output}
```
Think step by step:
1. Identify the root cause
2. Explain why this bug occurs
3. Provide the fix with code
4. Suggest how to prevent similar bugs
5. Write a regression testPlantilla 3: Revisión de código
You are a senior code reviewer at a {company_type} company.
Review this {language} code for:
1. **Correctness:** Logic errors, off-by-one errors, null handling
2. **Security:** Injection, XSS, auth bypasses, data exposure
3. **Performance:** N+1 queries, unnecessary allocations, missing caches
4. **Maintainability:** Code smells, naming, complexity
5. **Testing:** Missing test cases, brittle tests
Code to review:
```
{paste_code}
```
For each issue found, provide:
- Severity: 🔴 Critical / 🟡 Warning / 🔵 Info
- Category: Which of the 5 areas above
- Description: What's wrong and why
- Suggestion: How to fix it, with code example
End with an overall assessment and top 3 priorities.Plantilla 4: Diseño de endpoints API
Design a {http_method} {endpoint_path} endpoint for {resource_description}.
Framework: {framework}
Auth: {auth_method}
Database: {database}
The endpoint should:
- {functionality_1}
- {functionality_2}
- {functionality_3}
Provide:
1. Route definition with middleware chain
2. Request validation schema ({validation_library})
3. Controller/handler function
4. Service layer function
5. Database query/function
6. Response types (success and error)
7. Example curl request and responsePlantilla 5: Migración de base de datos
Create a database migration for {change_description}.
Current schema:
```
{current_schema}
```
Desired changes:
- {change_1}
- {change_2}
ORM: {orm_name}
Database: {database_type}
Requirements:
- Migration must be reversible (include down migration)
- Preserve existing data (write data migration SQL if needed)
- Add appropriate indexes for new columns
- Consider performance impact on large tables
- Include rollback safety checksPlantilla 6: Generación de suite de pruebas
Write a comprehensive test suite for {function_or_class_name}.
Testing framework: {framework}
Mocking library: {library}
Code under test:
```
{paste_code}
```
Test categories to cover:
- ✅ Happy path: All valid inputs produce correct outputs
- 🔄 Edge cases: Empty inputs, boundary values, null/undefined
- ❌ Error cases: Invalid inputs, permission denied, network failures
- 🏎️ Performance: Response time expectations for critical paths
- 🔒 Security: Auth checks, input sanitization
For each test:
- Use descriptive test names that read like documentation
- Follow Arrange-Act-Assert pattern
- Include setup/teardown for shared state
- Mock external dependenciesPlantilla 7: Plan de refactorización
You are a software architect specializing in {language} refactoring.
Current code:
```
{paste_current_code}
```
Problems with current code:
- {problem_1}
- {problem_2}
Refactor using {pattern_or_principle}.
Provide:
1. **Analysis:** What's wrong and why the current approach doesn't scale
2. **Target Architecture:** How the refactored code should be structured
3. **Step-by-step Plan:** Ordered refactoring steps (safe, incremental)
4. **Refactored Code:** Complete implementation
5. **Migration Guide:** How to transition from old to new without breaking changes
6. **Risk Assessment:** What could go wrong and how to mitigatePlantilla 8: Generación de documentación
Generate documentation for this {language} code:
```
{paste_code}
```
Documentation type: {JSDoc/TSDoc/Python docstrings/README section}
Requirements:
- Document all public functions/classes/methods
- Include parameter descriptions with types
- Include return type descriptions
- Add usage examples for non-obvious APIs
- Note any side effects or important caveats
- Use {style_guide} conventions
For README documentation, include:
- Overview (1-2 paragraphs)
- Installation instructions
- Quick start example
- API reference table
- Configuration optionsPlantilla 9: Optimización de rendimiento
You are a performance engineering specialist.
Analyze and optimize this code for performance:
```
{paste_code}
```
Current performance:
- {metric}: {current_value}
- Target: {target_value}
- Bottleneck suspected at: {location}
Optimization constraints:
- Must not change the public API
- Must maintain all existing test passes
- Must not sacrifice readability for micro-optimizations
- {additional_constraint}
Provide:
1. **Profiling Analysis:** Where time/memory is being spent
2. **Optimization Strategies:** Ranked by expected impact
3. **Optimized Code:** With comments explaining each change
4. **Benchmark Comparison:** Before vs after expected metrics
5. **Trade-offs:** Any readability or complexity costsPlantilla 10: Auditoría de seguridad
You are a security engineer specializing in {language}/{framework} security.
Perform a security audit on this code:
```
{paste_code}
```
Check for:
- Injection attacks (SQL, NoSQL, command, LDAP)
- Authentication and authorization bypasses
- Cross-site scripting (XSS) vulnerabilities
- Cross-site request forgery (CSRF) exposure
- Insecure direct object references (IDOR)
- Sensitive data exposure (logging, error messages)
- Insecure cryptography or key management
- Race conditions in concurrent operations
- Denial of service vulnerabilities
For each finding:
- Severity: Critical / High / Medium / Low
- OWASP Category: Which Top 10 category
- Description: Clear explanation of the vulnerability
- Attack Scenario: How an attacker would exploit it
- Remediation: Specific code fix
- Verification: How to confirm the fix worksPlanificación del desarrollo de funciones
Chat en editor: Contexto completo del proyecto en el chat, edición de múltiples archivosPreguntas frecuentes
¿Qué es la ingeniería de prompts?
Implementación de funciones con IA
Técnicas básicas de prompting
Revisión de código asistida por IA
¿Cómo escribir mejores prompts para asistentes de programación de IA?
Escritura de pruebas
Comandos AI esenciales para desarrolladores
Reportar bugs
Patrones de prompts para generación de código
Análisis de causa raíz asistido por IA
Estrategias avanzadas de prompting
Ejemplo de análisis de causa raíz
¿Cómo manejar las alucinaciones en la generación de código de IA?
Agregar pruebas de regresión