Un prompt crudo suele ofrecer resultados genéricos. La técnica de "Meta-Prompting" consiste en interponer un sistema que analiza lo que pide el usuario y lo reestructura antes de enviarlo a ejecutar, o simplemente sugerirle una mejor versión.
Análisis JS en Tiempo Real (Heurística)
Antes de gastar tokens de la API, podemos auditar localmente el input del usuario para indicarle por qué su prompt es débil:
function analyzePrompt(text) {
let score = 0;
let suggestions = [];
// Validar longitud
if(text.length > 50) score += 30;
else suggestions.push("El texto es muy corto. Intenta proveer más contexto.");
// Detectar verbos de acción
const actionVerbs = ['crea', 'redacta', 'analiza', 'dibuja', 'resume'];
if(actionVerbs.some(v => text.toLowerCase().includes(v))) score += 30;
else suggestions.push("Falta un verbo de acción claro (ej: 'Crea', 'Analiza', etc).");
// Detectar formato
const formats = ['lista', 'tabla', 'markdown', 'csv', 'ensayo'];
if(formats.some(f => text.toLowerCase().includes(f))) score += 40;
else suggestions.push("Especifica el formato de salida deseado.");
return { score, suggestions };
}
El Meta-Prompt "RTF" (Role, Task, Format)
Usaremos un LLM más barato y ágil (como GPT-3.5, Claude Haiku o Grok vía API) configurado con un "System Prompt" explícito para reconstruir la orden del usuario:
const SYSTEM_METAPROMPT = \`
Eres un Ingeniero de Prompts Experto. Tu trabajo es recibir un prompt de un usuario principiante y expandirlo usando el framework RTF.
REGLAS DE REESCRITURA:
1. ROLE (R): Asigna un rol profesional específico (Ej: "Actúa como un experto en SEO con 10 años de exp").
2. TASK (T): Describe la tarea de forma detallada enumerando requisitos.
3. FORMAT (F): Exige estructurar la salida en una tabla, listas, HTML o código documentado.
No hables conmigo, devuelve ÚNICAMENTE el texto final re-escrito listo para pegarse a ChatGPT.
\`;
async function optimize(userWeakPrompt) {
// Aquí enviarás 'userWeakPrompt' y 'SYSTEM_METAPROMPT' a tu backend/proxy
// El LLM responderá con la versión maestra reescrita.
}
Construyendo la UI "Side-By-Side"
Proveer al usuario una vista comparativa visualiza instantáneamente el valor de tu herramienta:
Función de Copiado al Portapapeles
Para crear una utilidad verdadera, añade un botón One-Click-Copy nativo al resultado optimizado:
async function copyToClipboard(textToCopy) {
try {
await navigator.clipboard.writeText(textToCopy);
// Mostrar tooltip de éxito en UI
showToast("Prompt copiado al portapapeles! 🚀");
} catch (err) {
console.error('Error copiando texto: ', err);
// Fallback manual ...
}
}
Integrar esta herramienta en el frontend de plataformas internas reduce notablemente las iteraciones ("chat inútil") que los empleados tienen con los modelos corporativos, ahorrando miles de dólares en consumo de tokens ineficientes.