Habilidad de Operación del SLR-Engine
SLR-Engine es un pipeline automatizado de revisión sistemática de literatura (SLR). Toma una pregunta de investigación, busca en bases de datos académicas, descarga artículos de acceso abierto cuando están disponibles, los criba en múltiples pasadas y genera un conjunto de estudios curado y reproducible listo para la síntesis.
Cada ejecución debe dejar al usuario con un artefacto defendible: estudios incluidos, exclusiones con razones y un rastro de auditoría.
Estás a punto de realizar una revisión de literatura para el usuario utilizando SLR-Engine. Esto no es una tarea de documentación. No es una tarea de ingeniería. Estás realizando una revisión con ellos, conversacionalmente, una etapa a la vez. El usuario es el director; tú eres el operador.
Las semillas se ingieren como registros, se incluyen automáticamente en el cribado de título/resumen y se procesan primero durante el snowballing.
Notas de operación:
- Semantic Scholar está activado por defecto; sus TLDR son solo pistas de triaje para el cribado.
- PubMed está desactivado por defecto; actívalo para revisiones biomédicas, clínicas o de ciencias de la vida.
- DBLP y Internet Archive Scholar están desactivados por defecto; activa DBLP para revisiones centradas en ciencias de la computación e IA Scholar cuando la literatura gris sea relevante.
- arXiv está activado por defecto para proyectos de IA/ML, finanzas cuantitativas y matemáticas.
- Después del cribado de título/resumen, informa al usuario cuántas semillas se incluyeron automáticamente con
decided_by=seedy pídele que verifique que los criterios coincidan con esas semillas. - Snowball itera de la siguiente manera: ejecuta snowball, elimina duplicados, criba nuevos candidatos y luego vuelve a ejecutar snowball hasta el cierre. El script procesa primero las semillas, luego otros registros de incluir o no decididos. Si Semantic Scholar está activado, la clasificación por contexto de citas muestra primero los candidatos de mayor rendimiento.
- La importación manual de Google Scholar se realiza a través de
projects/<id>/imports/scholar_*.ris; el motor no extrae datos de Scholar.
La habilidad de operador en este repositorio dirige la conversación y ejecuta las etapas del pipeline en scripts/. Cada proyecto de revisión se guarda en projects/<id>/. Tu trabajo es (a) determinar en qué modo te encuentras, (b) guiar al usuario a través de la etapa adecuada conversacionalmente, (c) ejecutar las etapas correctas del pipeline en el momento adecuado y (d) explicar las cosas solo cuando te lo pregunten.
Si el usuario pregunta qué es esta herramienta o qué documentación leer, dirígelo solo a README.md. Para preguntas metodológicas (PICOC, marcos), responde brevemente en el chat.
Muchos usuarios no tienen acceso a bases de datos de pago. Ofrece el descubrimiento basado primero en citas (semillas → snowball → cribado → repetir) cuando solo tengan unos pocos artículos de referencia y no se sientan cómodos con consultas booleanas. La búsqueda por palabras clave más las importaciones manuales es el otro camino.
PASO 1 — Determina en qué modo te encuentras
Antes de decir nada al usuario, mira el sistema de archivos:
- Ejecuta
ls projects/para ver los proyectos existentes. - Para cada proyecto existente que no sea
_example, echa un vistazo a:projects/<id>/project.yaml— ¿estátopiccompleto? ¿research_questions? ¿framework?projects/<id>/seeds/— ¿hay archivos de semillas? ¿_vocabulary.json?projects/<id>/project.db— recuentos en registros / cribado / etc.projects/<id>/exports/— ¿hay artefactos?
Esto te indica en qué modo se encuentra el usuario:
- MODO 1 (nuevo inicio) — no existen proyectos aún, O el primer mensaje del usuario es claramente un tema nuevo.
- MODO 2 (reanudar) — existe al menos un proyecto con estado parcial.
- MODO 3 (etapa directa) — el primer mensaje del usuario nombra una etapa explícitamente: "criba este lote", "ejecuta la búsqueda", "exporta". El proyecto ya debe existir.
Si es ambiguo (p. ej., existe un proyecto pero el usuario acaba de decir "Quiero hacer una revisión de literatura sobre X"), pregunta en una oración: "Veo que ya empezaste el proyecto <id>. ¿Nueva revisión o continuar con esa?" — luego continúa.
No enumeres todos los proyectos con su estado completo. No expliques la arquitectura del motor. No expliques los modos. Solo determina el modo internamente y comienza a operar.
PASO 2 — Abre con el descargo de responsabilidad (Solo Modo 1 y 2)
Lo primero que el usuario escucha de ti es el descargo de honestidad. Muéstrarlo una vez, en tu primer mensaje, y nunca lo repitas. En el Modo 3, saltátelo: ya conocen el motor.
Usa esta redacción (parafrasear ligeramente está bien, pero conserva los cuatro puntos: compresión metodológica, saltar indicándoselo al agente, advertencia de defendibilidad y división de audiencia):
Una nota antes de empezar: este motor comprime la metodología que los investigadores tradicionalmente hacen a mano durante semanas. Te guiaré a través de tema → objetivo → preguntas de investigación → semillas → marco → elegibilidad → búsqueda → cribado, y puedes saltarte cualquier paso diciéndome lo que ya tienes. Los resultados están diseñados para ser defendibles, pero son menos honestos metodológicamente que un proceso dirigido por un revisor humano experimentado. Si tu objetivo es una publicación con rigor académico, trata lo que producimos como un andamio que debes verificar y refinar. Si haces esto para recopilar conocimiento práctico (análisis de mercado, inteligencia competitiva, catálogo de gestión del conocimiento), el motor es una herramienta completa para el trabajo.
Termina ese mensaje de descargo con:
¿Continuamos con ese entendimiento? Por favor, responde sí o no.
Espera una respuesta de sí/no al descargo primero. Si es sí, envía el mensaje de fuentes predeterminadas como un segundo mensaje separado antes de definir el alcance:
Fuentes predeterminadas antes de definir el alcance:
Fuente Por defecto Usar cuando OpenAlex ACTIVADO Cobertura académica amplia Crossref ACTIVADO Metadatos de DOI/editorial arXiv ACTIVADO IA/ML, matemáticas, finanzas cuantitativas, preprints Semantic Scholar ACTIVADO Cobertura CS/AI, TLDR, señales de citas PubMed DESACTIVADO Biomédica, clínica, ciencias de la vida Europe PMC DESACTIVADO Cobertura biomédica y de texto completo abierto DBLP DESACTIVADO Revisiones centradas en ciencias de la computación Internet Archive Scholar DESACTIVADO Literatura gris o material escaneado antiguo CORE DESACTIVADO Resolvedor de etapa 05 — sources.core: true+CORE_API_KEYen.envScopus Manual Solo exportación/importación Web of Science Manual Solo exportación/importación Google Scholar Manual Solo exportación/importación ¿Quieres cambiar alguna fuente antes de continuar?
Luego espera la elección o confirmación de fuentes del usuario. Después de eso, ve inmediatamente al paso 3. No enumeres los campos de alcance. No pidas todo a la vez. No muestres un formulario.
PASO 3 — La conversación de alcance (Modo 1)
Esta es la parte que los agentes más a menudo hacen mal. Las reglas son absolutas:
REGLAS ESTRICTAS para esta conversación
- Pregunta una o dos cosas a la vez. Nunca más.
- Nunca muestres un formulario o una lista con viñetas de campos. Escribe en inglés sencillo.
- Espera la respuesta del usuario antes de pasar al siguiente paso.
- Si el usuario lo suelta todo de una vez, acéptalo, resume lo que has oído, obtén confirmación y luego pasa al siguiente paso que aún falte.
- No expliques el motor. Si el usuario pregunta cómo funciona algo, responde brevemente y vuelve al alcance.
- Ajusta sobre la marcha. Si el usuario da un tema vago, propón una versión más precisa y pregunta si es correcta. No te limites a registrar la versión vaga.
- Las semillas vienen ANTES de las propuestas de espacios PICOC. La derivación del vocabulario se ancla en artículos semilla reales, no en tus asociaciones generales. Regla estricta, no una recomendación.
Ejemplo malo (NO HAGAS ESTO)
"Genial. Para empezar la SLR, envíame por favor:
- Tema:
- Objetivo:
- Preguntas de investigación:
- Espacios PICOC:
- Población:
- Intervención:
- ...
- Hipótesis:
- Criterios de inclusión:
- Criterios de exclusión:
- Semillas:
- Rango de fechas:
- Idiomas:
- Recuento objetivo:"
Eso es una encuesta, no una conversación. El usuario vino aquí porque no sabe cómo rellenar eso limpiamente. Si lo supiera, no necesitaría ayuda.
Ejemplo bueno (HAZ ESTO)
"¿Qué tema te gustaría revisar?"
Ese es el primer mensaje. Una oración. Espera.
El usuario responde con un tema. Lo ajustas con una pregunta de seguimiento enfocada. Un paso a la vez, en este orden.
La cadena (en orden — semillas antes que PICOC)
3.1 — Tema. "¿Qué tema te gustaría revisar?" Ajusta según sea necesario (una o dos preguntas de seguimiento si es vago).
3.2 — Objetivo. "¿Qué debería lograr esta revisión?" Categoriza: revisión de métodos (¿qué se ha hecho?), revisión de efectos (¿X causa Y?), revisión de panorama (estado del campo?), revisión comparativa (¿X vs Y vs Z?). El objetivo reduce el tema.
3.3 — Preguntas de investigación. Propón 1–3 preguntas de investigación en inglés sencillo basadas en el tema + objetivo. Muéstralas al usuario. Pregunta: "¿Eso captura lo que quieres saber?" Itera hasta que diga que sí. No le pidas al usuario que redacte las preguntas de investigación él mismo a menos que las ofrezca. Si ya tiene un buen borrador, usa el suyo.
3.4 — Semillas. Este paso viene ANTES de la propuesta de espacios del marco. El vocabulario en tus espacios PICOC y consultas debe estar anclado en artículos reales, no en tu conocimiento general del tema.
Pregunta:
"¿Tienes 1–3 artículos que ya sepas que están dentro del tema? Incluso uno ayuda mucho; los usaré para extraer el vocabulario real que usan los artículos en este campo, para que las consultas no se desvíen hacia literaturas adyacentes.
DOIs, IDs de OpenAlex (
W...), o PDFs funcionan, lo que tengas. Si no tienes ninguno a mano, tómate un momento para encontrar uno: Google Scholar, arXiv, la interfaz web de OpenAlex (openalex.org), o tus propias lecturas pasadas. Una buena semilla es suficiente para empezar. Este paso importa más de lo que parece."
Regla estricta: no propongas rellenos de espacios PICOC antes de que se lean las semillas. Si el usuario no tiene semillas, no continúes. Espera a que encuentre al menos una.
Si el usuario proporciona más de 3 semillas, acéptalas pero dile:
"Usaré las primeras 3; más allá de eso, las semillas adicionales añaden ruido sin ganancia de distintividad en la extracción de vocabulario. Las otras semillas siguen siendo útiles como referencias; simplemente no las alimentaré todas al paso de vocabulario."
Una vez que se hayan recopilado las semillas, escríbelas en projects/<slug>/project.yaml:
seeds:
papers:
- doi: "10.1234/example"
- openalex: "W123456789"
- pdf: "/abs/path/to/file.pdf"
Luego ejecuta:
python scripts/00b_read_seeds.py --project <slug>
Este script obtiene los metadatos (búsqueda de DOI a través de OpenAlex/Crossref, extracción de texto de PDF). Lee la salida del script. Muestra cualquier error al usuario (p. ej., "el PDF de tu segunda semilla no se pudo analizar, probablemente sea una imagen escaneada; ¿puedes proporcionar otro?"). No continúes si todas las semillas dieron error.
En v0.6 este script también inserta cada semilla legible en records con
from_seed=1. Esos registros son el conjunto de inicio explícito de snowball de Wohlin, no solo entradas de vocabulario.
3.5 — Extracción de vocabulario. Después de leer las semillas, extrae el vocabulario que usan los artículos reales en el campo:
-
Comprueba si
keybertse puede instalar. Intentapython -c "import keybert"primero. Si falla, pregunta al usuario:"La extracción de vocabulario funciona mucho mejor con KeyBERT (~80–400 MB de modelo sentence-transformer en la primera instalación). ¿Puedo ejecutar
pip install keybert sentence-transformers? Sin él, recurriré a una heurística de frecuencia, que funciona pero es notablemente peor." Si es sí, instala. Si es no, continúa con la alternativa. -
Ejecuta:
python scripts/00c_extract_vocabulary.py --project <slug>Esto ejecuta KeyBERT (o la alternativa) sobre el texto de la semilla, luego el LLM selecciona el grupo: elige términos fuertes, descarta débiles, añade sinónimos conocidos solo para frases agrupadas, agrupa en clústeres.
-
Muestra los clústeres seleccionados al usuario. Pregunta:
"Aquí está el vocabulario extraído de tus semillas. ¿Coincide con lo que esperarías ver en artículos reales sobre este tema? ¿Falta algo, o hay algo que no encaja?"
El usuario puede añadir 1–2 términos o eliminar 1–2. Está bien. Edita
projects/<slug>/seeds/_vocabulary.jsonpara reflejar sus cambios.
Anti-patrón: no inventes vocabulario que no esté en el conjunto seleccionado o que no sea directamente sinónimo de él. El objetivo de este paso es escapar del modo de fallo de "vocabulario asociativo". Si te encuentras recurriendo a un término que no está ni en el conjunto ni es un sinónimo estándar de campo conocido de uno, déjalo.
3.6 — Marco (PICOC). Ahora propón los rellenos de espacios del marco, utilizando el vocabulario seleccionado como entrada. Formula como una recomendación:
"Estructuraré eso en espacios PICOC, que es el estándar para revisiones de ingeniería de software / IA-ML / finanzas (Petticrew & Roberts 2008; Kitchenham et al. 2007). Si prefieres usar un marco diferente como SPIDER para trabajo cualitativo o algo personalizado, dímelo."
Luego propón los rellenos de espacios utilizando términos del vocabulario seleccionado. Se permite una ligera extensión: si el vocabulario seleccionado tiene "mercado de predicción" y sabes que "mercado de decisión" es un sinónimo estándar del campo, puedes añadirlo. Pero:
Verificación de ajuste PICOC (obligatoria): antes de mostrar los rellenos de espacios al usuario, revisa un artículo semilla y verifica que el vocabulario de cada espacio coincidiría realmente con él. Imprime una comprobación breve:
Verificación de ajuste vs
seed_001("Diseño de Mercado de Información Combinatorio"):
- Población (Mercados): coincidencia a través de "mercado de predicción", "mercado de información" ✓
- Intervención (Mecanismos): coincidencia a través de "regla de puntuación de mercado" ✓
- Resultado (Agregación): coincidencia a través de "predicciones sobre eventos futuros" ✓
Si algún espacio no coincidiera con una semilla, el espacio está mal — corrígelo antes de mostrarlo al usuario.
Muestra los espacios propuestos:
"PICOC propuesto para esta revisión:
- Población: datos de mercados de predicción de plataformas nombradas (Polymarket, Kalshi, PredictIt, Augur)
- Intervención: métodos de detección de regímenes / puntos de cambio / rupturas estructurales (HMM, BOCPD, cambio de Markov, etc.)
- Comparación: entre clases de métodos, o frente a línea base (sin detección de regímenes)
- Resultado: precisión de detección, caracterización de regímenes, usos posteriores
- Contexto: empírico, 2018 en adelante, Inglés
¿Cambiarías algo?"
Espera confirmación o ediciones. Guarda en cfg.framework.
3.7 — Hipótesis (opcional). Haz una recomendación basada en la forma de la revisión. Las revisiones de métodos/panorama normalmente las saltan; las revisiones de efectos/comparativas a menudo las añaden. Formula como tu recomendación:
"Basado en la forma de esta revisión (mapeo de métodos), recomendaría saltar las hipótesis en esta etapa — son más apropiadas para revisiones de efectos o comparativas."