GEO Prompt Deriver
GEO Prompt Deriver es una herramienta de la SEO Suite de Antropus que convierte keywords SEO tradicionales en prompts AI realistas — preguntas naturales y conversacionales que un usuario haría a motores de IA generativa como Claude, ChatGPT, Gemini o Perplexity.
La SEO clásica identifica qué palabras clave busca la audiencia en Google. GEO pregunta: ¿qué le preguntaría esa misma audiencia a una IA? GEO Prompt Deriver automatiza esa traducción, generando variaciones naturales de prompts que conservan la intención de búsqueda pero reflejando cómo interactuaría un usuario con un chatbot.
Qué es y para qué sirve
GEO Prompt Deriver responde a estas preguntas:
- ¿Cómo puedo convertir mis keywords SEO en preguntas para IA sin que suene a máquina?
- ¿Debo hacer manualmente un prompt para cada keyword, o puedo automatizarlo?
- ¿Cómo garantizo que los prompts que creo reflejen diferentes intenciones (comparación, recomendación, decisión…)?
- ¿Cómo envío los prompts generados directamente a Prompt Tracker para empezar a medir?
El resultado es un conjunto de prompts variados, agrupados por intent, listos para inyectar en un baseline GEO. Sin necesidad de escribirlos a mano. Sin riesgo de sesgo por intención.
Cómo funciona, paso a paso
- Suministras keywords: lista de 1–60 keywords SEO, opciones de contexto (sector, tu marca, competidores).
- Configuras la generación: cuántos prompts por keyword (1, 2 o 3) y qué tipos de intents deseas (recomendación, comparación, alternativa, decisión, informacional, transaccional).
- Eliges modelo IA: según tu plan, puedes usar Claude, OpenAI, Gemini o Perplexity.
- Antropus genera los prompts: envía un prompt técnico al modelo seleccionado con instrucciones GEO, reglas de variación y contexto (marca, competidores, sector). El modelo devuelve un array JSON con cada prompt derivado.
- Validación y limpieza: cada prompt se valida (no vacío, intent reconocido, rationale acotado) y se asigna un ID único.
- Visualización de resultados: tabla interactiva con filtrado por intent, gráfico donut mostrando distribución, y botones para copiar, exportar CSV o enviar directo a Prompt Tracker.
- Persistencia: el run se guarda en historial para reutilizar configuración o resultados en cualquier momento.
El proceso corre en segundo plano en el servidor. Desde el cliente, ves un spinner con estimación de tiempo (~8–20s típicamente). El resultado está disponible inmediatamente al completarse.
Qué necesitas antes de empezar
| Requisito | Para qué sirve |
|---|---|
| Un proyecto | Define tu marca y dominio. Opcional pero recomendado para asociar el run al historial del proyecto. |
| Keywords | Lista de 1 a 60 keywords SEO. Se desduplicarán automáticamente. |
| Sector / nicho (opcional) | Contexto para que la IA genere prompts más naturales y específicos al sector. |
| Marca propia (opcional) | Se inyecta en prompts de tipo comparison y alternative cuando tiene sentido. |
| Competidores (opcional) | Hasta 10 nombres. También se usan en prompts competitivos. |
| Intents a generar | Eliges cuáles de los 6 types quieres. Por defecto se incluyen todos. |
| Modelo IA | Disponible según tu plan (Starter: OpenAI, Gemini; Pro+: Claude, OpenAI, Gemini, Perplexity). |
Sin keywords, el formulario se bloquea. Todo lo demás es opcional.
Las dos formas de trabajar con GEO Prompt Deriver
1. Generar prompts nuevos (/seo/geo-deriver)
El flujo principal. Pega tus keywords, configura intents y contexto, y Antropus genera los prompts automáticamente repartidos en categorías para que la cobertura sea equilibrada (no sesgada a una sola intención).
2. Importar un run guardado (/seo/geo-deriver/history)
Si ya generaste prompts antes, verás un historial de todos los runs pasados. Clic en cualquiera para recargar sus inputs (keywords, sector, marca, competidores, intents, modelo) y re-ejecutar con la misma configuración o variaciones.
Intents: los 6 tipos de prompts
Cada prompt generado lleva un intent — la intención detrás de la pregunta. GEO Prompt Deriver entiende estos seis tipos:
| Intent | Descripción | Ejemplo de prompt |
|---|---|---|
| recommendation | Pedir recomendación activa | "¿Qué software de CRM me recomendas para una abogacía pequeña?" |
| comparison | Comparar dos opciones | "¿Cuáles son las diferencias entre HubSpot y Pipedrive?" |
| alternative | Buscar alternativas a algo conocido | "¿Qué alternativas hay a HubSpot que sean más baratas?" |
| decision | Decidir entre dos cosas | "Estoy entre Elevam y HubSpot, ¿cuál debería elegir?" |
| informational | Preguntar qué es algo | "¿Qué es GEO SEO?" |
| transactional | Dónde contratar, comprar o acceder | "¿Dónde puedo contratar un abogado de divorcio en Madrid urgente?" |
Al generar, eliges cuáles de estos 6 types deseas. El modelo varía automáticamente los prompts entre intents para que no todos sean recomendación pura, por ejemplo.
Cómo se generan los prompts
El servidor envía instrucciones técnicas al motor de IA seleccionado con estos elementos:
Instrucciones globales:
- Eres experto en GEO (Generative Engine Optimization)
- Cada prompt debe sonar como pregunta natural, no como keyword
- Varía el tipo de intent según lo que el usuario solicite
- Idioma: español de España (informal natural)
Contexto inyectado:
- Sector (si existe)
- Marca propia
- Competidores conocidos
- Lista numerada de las keywords con deduplicación hecha
- Definiciones de cada intent permitido
- Restricción: solo usar los intents solicitados
- Expectativa de salida: N prompts (keywords × promptsPerKeyword)
- Formato esperado: JSON puro, un array con objetos
{sourceKeyword, promptText, intent, rationale}
Restricciones técnicas:
- Límite de respuesta: 8.000 tokens máximo
- Salida garantizada como JSON válido
- No consulta datos externos: es puro procesamiento
Configuración: opciones de generación
Prompts por keyword:
1: un solo prompt por keyword. Rápido, mínima salida (N×1 total).2: dos prompts por keyword. Balance (default). (N×2 total).3: tres prompts por keyword. Máxima variedad y cobertura. (N×3 total).
Selección de intents:
- Por defecto: todos los 6 types están seleccionados.
- Puedes deseleccionar cualquiera. Mínimo 1 debe estar activo (el formulario lo valida).
- Si solo seleccionas "recommendation", todos los prompts generados serán de ese type (menos variedad, pero enfoque claro).
Modelo IA (proveedor): Disponible según tu plan:
- Free/Lite: no tienen acceso a GEO Prompt Deriver (requiere
seo_full). - Starter: OpenAI, Gemini.
- Pro: Claude, OpenAI, Gemini, Perplexity.
- Agency/Enterprise: Claude, OpenAI, Gemini, Perplexity (todos).
Cuando seleccionas un proveedor, Antropus elige automáticamente el modelo más apropiado para tu plan.
Motores de IA y cómo funciona la generación
Motores LLM generativos disponibles:
- Claude (Anthropic)
- OpenAI (GPT)
- Google Gemini
- Perplexity (con búsqueda web integrada)
Contexto y datos que Antropus usa:
- Tuyos: keywords, sector, marca, competidores (máx ~300 caracteres totales de contexto).
- Instrucciones: las reglas GEO codificadas en el system prompt.
Lo que NO hace:
- No consulta Google, Bing ni ningún motor de búsqueda.
- No mide visibilidad (eso es Prompt Tracker).
- No analiza intent histórico.
- No valida si los prompts son "buenos" — solo los genera según reglas.
Cómo se calculan las métricas y se interpreta el resultado
GEO Prompt Deriver NO produce métricas de rendimiento (no mide cómo se posicionan los prompts en motores IA). Es una herramienta de generación, no de medición. Lo que calcula es simple:
- totalKeywords: número de keywords únicas después de deduplicación.
- Fórmula:
|{keywords deduplicados}|
- Fórmula:
- totalPrompts: cuántos prompts se generaron realmente.
- Fórmula:
min(keywords × promptsPerKeyword, prompts válidos devueltos por LLM) - Nota: si el LLM devuelve menos prompts que los esperados, se usan los que devolvió.
- Fórmula:
- byIntent: distribución de prompts por cada uno de los 6 intents.
- Fórmula:
Σ count(p.intent == X)para cada intent X
- Fórmula:
- generatedAt: timestamp ISO 8601 del momento de generación.
No hay fórmulas complejas ni ponderaciones. El resultado es una radiografía cuantitativa de qué se generó y cómo se distribuyó entre tipos.
Cómo leer el informe / los resultados
El resultado de GEO Prompt Deriver se organiza así:
Sección 1: KPIs (números grandes)
- Keywords: número de keywords únicas.
- Prompts: total generado.
- Por intent: si el intent se generó, un card con el count. Intents con 0 no aparecen.
Sección 2: Gráfico donut
- Distribución visual de prompts por intent.
- Centro muestra el total de prompts.
- Cada segment está coloreado por intent (oro=recomendación, ámbar=comparación, púrpura=alternativa, verde=decisión, azul=informacional, rojo=transaccional).
Sección 3: Controles de filtrado
- Botón "Todos" + uno por cada intent con count.
- Al hacer clic en un intent, la tabla abajo se filtra mostrando solo prompts de ese type.
Sección 4: Tabla de prompts
- Columnas:
Keyword origen|Intent(badge coloreado) |Prompt AI(texto + rationale opcional en gris) |Acción (copiar). - Cada row es un prompt. Clic en el botón copiar → al portapapeles.
- Si filtras por intent, solo ves prompts de ese tipo.
Sección 5: Controles de acción
- Copiar todos: copia todos los prompts visibles (o filtrados) al portapapeles, uno por línea.
- CSV: descarga un archivo .csv con columnas keyword | intent | prompt | rationale.
- Enviar a Prompt Tracker: abre un diálogo de confirmación y luego redirige a
/baselinecon los prompts preparados para importar en un baseline nuevo.
Sección 6: Metadata
- Footer con timestamp de generación y resumen "N prompts · M keywords".
Cuánto suele tardar
Estimación mostrada al usuario (UI-side):
estimado = max(8 segundos, ceil(expectedPrompts / 5))
- Mínimo 8 segundos.
- O 1 segundo por cada ~5 prompts esperados.
- Ejemplo: 20 prompts esperados (10 kw × 2) → ~8s; 50 prompts → ~10s; 120 prompts → ~24s.
Tiempo real (server-side):
- Límite hard: 90 segundos.
- Típicamente: 8–20 segundos para un run de 60 keywords × 2 prompts (120 prompts totales).
- Bottleneck: latencia del proveedor LLM seleccionado.
Cuánto consume (créditos)
El coste en créditos de GEO Prompt Deriver depende únicamente del número de prompts generados. No hay descuentos por modelo.
Estimación mostrada en la UI antes de lanzar: El formulario calcula un coste estimado que se actualiza en tiempo real mientras escribes.
Ejemplos orientativos de coste:
- 10 keywords × 2 prompts/kw = 20 prompts → aprox. 5.2 créditos.
- 30 keywords × 2 prompts/kw = 60 prompts → aprox. 12.1 créditos.
- 60 keywords × 3 prompts/kw = 180 prompts → aprox. 32.8 créditos.
Gate de capacidad:
- Mínimo de créditos requerido para ejecutar un run.
- Si tu workspace no tiene créditos suficientes, el servidor rechaza la solicitud.
- Estimación visible: el formulario muestra el coste estimado en créditos en tiempo real mientras escribes; se actualiza si cambias número de keywords o prompts/kw.
Disponibilidad y límites por plan
Acceso a la herramienta:
- Free: ❌ NO incluido
- Lite: ❌ NO incluido
- Starter: ✅ SÍ (categoría
seo_full) - Pro: ✅ SÍ
- Agency: ✅ SÍ
- Enterprise: ✅ SÍ
GEO Prompt Deriver requiere la categoría seo_full, que está disponible desde Starter en adelante.
| Aspecto | Starter | Pro | Agency | Enterprise |
|---|---|---|---|---|
| Acceso | ✅ | ✅ | ✅ | ✅ |
| Máx. keywords/run | 60 | 60 | 60 | 60 |
| Máx. competidores | 10 | 10 | 10 | 10 |
| Máx. intents | 6 | 6 | 6 | 6 |
| Máx. prompts/keyword | 3 | 3 | 3 | 3 |
| Prompts/día | 20 | 50 | 100 | Ilimitado |
| Prompts/semana | 60 | 200 | 400 | Ilimitado |
| Prompts/mes | 200 | 700 | 1.500 | Ilimitado |
| Créditos/mes incluidos | 500 | 1.800 | 5.500 | Custom |
| Historial runs | 30 días | 365 días | Ilimitado | Ilimitado |
| Modelos disponibles | OpenAI, Gemini | Claude, OpenAI, Gemini, Perplexity | Todos | Todos |
| Cuota de prompts | Global por plan; bloqueada si excedes daily/weekly/monthly | Idem | Idem | Idem |
Interpretación:
- Starter: 200 prompts/mes = aprox. 10–20 runs (según config). Modelos limitados a OpenAI/Gemini.
- Pro: 700 prompts/mes = aprox. 35–70 runs. Acceso a Claude y Perplexity.
- Agency/Enterprise: prácticamente sin límites. Retención ilimitada de histórico.
Gates de cuota (server-side):
- Cada run suma al contador de
promptsPerDay,promptsPerWeekypromptsPerMonthdel workspace. - Si el run resultaría en exceder CUALQUIERA de estas tres cuotas, se rechaza aunque tengas cuota mensual.
- Ej: plan Starter (20/día, 60/semana, 200/mes). Ya has lanzado 20 prompts hoy → siguiente run se bloquea incluso si tiene 30 días de mes disponibles.
Errores y casos frecuentes
Errores de validación (HTTP 400):
| Error | Causa | Solución |
|---|---|---|
| "Lista de keywords vacía" | 0 keywords tras trim o todas las líneas vacías | Pega al menos 1 keyword válida |
| "keywords.min(1)" | Validación Zod: 0 keywords | Mínimo 1 keyword |
| "keywords.max(60)" | >60 keywords | Máximo 60 keywords |
| "keyword length" | Una keyword individual >200 caracteres | Acortar keywords |
| "sector max(200)" | Campo sector >200 caracteres | Acortar sector |
| "brand max(120)" | Campo marca >120 caracteres | Acortar marca |
| "competitors.max(10)" | >10 competidores | Máximo 10 |
| "competitor length" | Un competidor >120 caracteres | Acortar nombres |
| "intents.max(6)" | >6 intents seleccionados | Máximo 6 (todos) |
| "promptsPerKeyword" | Valor no es 1, 2 o 3 | Seleccionar 1, 2 o 3 |
Errores de capacidad (HTTP 403):
| Error | Causa | Solución |
|---|---|---|
| "Workspace over capacity" | Insuficientes créditos | Recargar créditos o upgradear plan |
| "Plan no incluye seo_full" | Plan es Free/Lite | Upgradear a Starter o superior |
Errores de cuota (HTTP 429):
| Error | Causa | Solución |
|---|---|---|
| "Exceeded promptsPerDay" | Ya has lanzado N prompts hoy (límite del plan) | Esperar a que reinicie el contador (00:00 UTC) o reducir tamaño del run |
| "Exceeded promptsPerWeek" | Ya has lanzado N prompts esta semana | Esperar a reinicio semanal o reducir tamaño |
| "Exceeded promptsPerMonth" | Ya has lanzado N prompts este mes | Esperar a reinicio mensual o upgradear plan |
Errores de autorización (HTTP 401):
| Error | Causa |
|---|---|
| "Módulo SEO no activado en workspace" | Workspace sin acceso a categoría seo_full |
| "Usuario no autenticado" | Token de sesión expirado o ausente |
Errores del servidor (HTTP 500):
| Error | Causa | Impacto |
|---|---|---|
| "Error parsing LLM response" | El modelo devolvió JSON inválido o no-JSON | Run no se completa; se registra en logs |
| "Error saving tool run" | Fallo en persistencia | Run ejecutado pero no aparece en Historial (best-effort, no bloquea respuesta) |
| "Error tracking usage" | Fallo en trackeo de consumo | Consumo de créditos no se contabiliza inmediatamente (best-effort) |
| Timeout (>90s) | LLM API muy lenta o saturada | Cliente recibe timeout; sin resultado |
Edge cases manejados automáticamente:
-
Duplicados exactos de keywords:
- Se desduplicarán automáticamente.
- Usuario ve "5 keywords pasted" pero formula resume el número único en el desglose.
-
Intent inválido del motor:
- Si el modelo devuelve intent no reconocido, se convierte automáticamente a
"informational". - No genera error; solo fallback silencioso.
- Si el modelo devuelve intent no reconocido, se convierte automáticamente a
-
Prompts faltantes:
- Si esperabas 120 prompts (60 kw × 2) pero el motor devolvió 80 válidos, se retornan los 80.
- Métrica
totalPromptsrefleja lo real, no lo esperado.
-
Contexto vacío:
- Sector, marca y competidores son todos opcionales.
- Si no se proporcionan, el prompt del sistema se adapta para generar prompts genéricos sin inyectar contexto.
-
Rationale muy largo:
- Si el motor devuelve rationale >120 caracteres, se corta automáticamente.
- No genera error; solo truncamiento silencioso.
-
Charset/encoding:
- Soporta UTF-8 completamente (español de España con acentos, signos especiales).
- Prompts con caracteres especiales se preservan.
-
Sin proyecto asociado:
- Campo
projectIdes opcional. Si omites, se registra comoprojectId: "". - No afecta al resultado ni genera error.
- Campo
-
Proveedor no disponible:
- Si seleccionas un proveedor pero tu plan no lo incluye, el frontend lo oculta en el selector.
- Si de todos modos lo intentas (bypass), el server rechaza con HTTP 403.
-
Re-carga desde historial:
- Clic en un run guardado →
/geo-deriver?load=<id>. - Se recargan inputs originales (keywords, sector, marca, competidores, intents, proveedor, config).
- Si proveedor original no está disponible en plan actual, se guardará el valor pero podrás usar otro.
- Al re-ejecutar, usa el nuevo proveedor seleccionado en el form.
- Clic en un run guardado →
-
Deduplicación de prompts generados:
- El servidor NO deduplica prompts entre keywords.
- Si dos keywords generan prompts idénticos (caso raro), ambos aparecen en resultado.
- El UI tampoco filtra; muestra todos.
Integración con Prompt Tracker
Desde los resultados de GEO Prompt Deriver, el botón "Enviar a Prompt Tracker" te lleva directamente a crear un baseline con los prompts generados:
- Los prompts se guardan en localStorage con clave
antropus:geo_deriver_pending. - Redirige a
/baseline?importFromGeoDeriver=true. - El formulario de Prompt Tracker carga los prompts automáticamente en una sección "De GEO Prompt Deriver".
- Puedes revisar, editar o agregar más prompts antes de lanzar el baseline.
No hay doble coste: el baseline corre los prompts contra motores IA para medir visibilidad; GEO Prompt Deriver solo los generó.
Resumen técnico para clientes
Qué es: Herramienta que convierte keywords SEO en prompts naturales para IA en 60 segundos.
Para quién: Equipos que hacen GEO (Generative Engine Optimization) y necesitan cobertura rápida de prompts variados.
Cuánto cuesta: El coste se calcula basándose en el número total de prompts generados. La UI muestra una estimación en créditos mientras configuras.
Cuánto tarda: 8–20 segundos típicamente. Máximo 90 segundos.
Plan mínimo: Starter (incluye categoría seo_full).
Cuotas típicas: 200 prompts/mes (Starter), 700 (Pro), 1.500 (Agency), ilimitado (Enterprise).
Proveedores de IA: Claude, OpenAI, Gemini, Perplexity (según plan).
Integración: Botón directo a Prompt Tracker desde resultados. Los prompts se cargan automáticamente.
Historial: Todos los runs se guardan (30 días Starter, 365 Pro, ilimitado Agency+).