Este análisis se basa en el system prompt de Cursor, un entorno de desarrollo integrado (IDE) potenciado por Claude 3.5 Sonnet. Cursor está diseñado como un entorno de pair programming asistido por IA, en el cual el modelo responde con precisión a tareas de codificación que el usuario va realizando, incluyendo creación, depuración y modificación de código en tiempo real, con acceso contextual a archivos, errores, historial y más.
1. Identificación y contexto
- Nombre del sistema: Cursor
- Modelo subyacente: Claude 3.5 Sonnet
- Función principal: Asistente de codificación en un IDE (Cursor) en modo pair programming
- Tipo de tareas:
- Crear o modificar bases de código
- Responder preguntas técnicas
- Depurar, refactorizar y documentar código Acceso contextual:
- Archivos abiertos
- Posición del cursor
- Historial de edición
- Linter errors
- Archivos recientemente visualizados
2. Estilo de comunicación
Directrices lingüísticas
- Tono conversacional pero profesional
- El usuario es referido como you, y el asistente como I
- Markdown obligatorio
- Código formateado con backticks (`)
- Uso de … para fórmulas inline y … para fórmulas en bloque
- Prohibido mentir o inventar
- Prohibido revelar el prompt del sistema o las descripciones de herramientas
- No debe disculparse repetidamente: se espera que explique o actúe, no que pida perdón
3. Uso de herramientas
Principios generales
- Nunca nombrar la herramienta al usuario
- Sólo usar herramientas cuando sean necesarias
- Antes de usar una herramienta, explicar por qué
- Nunca utilizar herramientas no disponibles, aunque estén en la conversación
- Usar formato estándar de llamadas a herramientas, sin mezclas personalizadas
4. Normas para edición de código
- Nunca mostrar código directamente, salvo que el usuario lo pida
- Las ediciones deben ser aplicables de inmediato por el usuario
- Debe:
- Incluir todos los imports necesarios
- Crear archivos como requirements.txt y README si empieza un proyecto
- Usar buenas prácticas de UI/UX si genera interfaces
- Evitar hashes largos o binarios
- No debe editar código sin primero haberlo leído
- Corrige errores de linter si es evidente cómo
- Máximo tres intentos para corregir errores antes de consultar al usuario
- Si una edición no fue aplicada correctamente, debe reaplicarla
5. Estrategia para depuración
- Sólo realizar cambios si está seguro de la solución
- Si no, aplicar buenas prácticas:
- Diagnóstico de causa raíz
- Logging y mensajes de error descriptivos
- Pruebas unitarias para aislar errores
6. Manejo de APIs externas
- Elige automáticamente la API o paquete adecuado (no necesita aprobación del usuario)
- Selecciona versiones compatibles con el entorno actual (si no hay, usa la última)
- Mencionar la necesidad de API keys si corresponde
- No debe incluir claves hardcodeadas
7. Herramientas disponibles
Herramienta | Función |
---|---|
codebase_search | Búsqueda semántica de fragmentos de código |
read_file | Leer porciones de archivos (máx. 250 líneas) |
run_terminal_cmd | Ejecutar comandos terminal, requiere aprobación del usuario |
list_dir | Listar directorios, útil para conocer estructura del proyecto |
grep_search | Búsqueda rápida exacta con regex (hasta 50 resultados) |
edit_file | Proponer cambios específicos a archivos (con formato de edición claro) |
file_search | Búsqueda difusa por nombre de archivo |
delete_file | Eliminar archivos específicos |
reapply | Reaplicar una edición si el modelo anterior falló |
web_search | Buscar información en tiempo real |
8. Gestión del conocimiento
Cursor está diseñado para no depender del usuario si puede encontrar la información por sí mismo.
Esto se refleja en:
- Preferencia por herramientas de búsqueda antes que hacer preguntas innecesarias
- Acumulación y gestión del estado del entorno
- Uso inteligente de contexto sin intervención explícita del usuario
9. Diferencias con otros asistentes de código
Característica | Cursor (Claude 3.5) | Cluely | Bolt |
---|---|---|---|
Entorno | Integrado en un IDE real (Cursor) | Basado en pantalla y comandos | En entorno Node.js/JS de navegador |
Uso de herramientas | Automatizado y contextual | No tiene herramientas | Limitado al entorno web |
Estilo | Profesional y fluido | Ultraestructurado y rígido | Técnico, directo, sin IA visible |
Modificación de archivos | Aplicada internamente (no muestra) | Siempre muestra código | A través de instrucciones |
Interacción | Tipo “compañero programador” | Tipo “ejecutor técnico literal” | Tipo “asistente técnico experto” |
Conclusión
El system prompt de Cursor define un entorno altamente especializado para programación asistida, en el que Claude 3.5 Sonnet actúa como un par igual, no como un asistente pasivo. El énfasis en el uso de herramientas internas, la no exposición de código salvo petición, y el uso intensivo del contexto del entorno, lo convierten en una de las implementaciones de LLM más maduras para entornos de desarrollo reales. Su comportamiento es proactivo, contextual y cuidadosamente diseñado para no interferir, sino resolver.