¿Qué hace paper-radar — radar de artículos de IA de grandes tecnológicas?
Sin estado: una ejecución = una ventana = un informe. No se mantiene ninguna biblioteca de artículos. arXiv es la única fuente de verdad, y volver a ejecutar la misma ventana produce necesariamente el mismo resultado, por lo que no hay razón para mantener una segunda copia. Mantener una solo añade estado que se desvía silenciosamente y queda fuera del control de versiones. El costo es volver a extraer toda la ventana en cada ejecución (~1 minuto para 3 días, ~3 minutos para 14 días); lo que obtienes a cambio es reproducibilidad.
Léete esto primero, o llegarás a conclusiones erróneas
arXiv es la única fuente organizada por fecha de publicación. La página de publicaciones de cada proveedor está organizada por año de publicación / sede, lo que estructuralmente no puede responder «qué se publicó en las últimas dos semanas» — una diferencia en el modelo de datos, no técnica. Medido:
- Google Research: las páginas de detalle solo llevan un año, y la lista no es cronológica; 85 títulos en las primeras 8 páginas arrojaron 0 dentro de una ventana de dos semanas, y la entrada más reciente tenía una fecha de publicación en arXiv de tres meses
- Amazon Science: agrupado por año, sin fecha por artículo
- Microsoft:
/research/feed/es un blog curado editorialmente — ~8% de cobertura de la misma ventana - 13 sitios de empresas chinas: 0 aciertos de fecha en todos ellos — son páginas de aterrizaje de laboratorio, no listados de artículos
El otro dato que necesitas: los metadatos de arXiv no incluyen la afiliación del autor.
La tasa de relleno de <arxiv:affiliation> es del 1%, Semantic Scholar 7%, y OpenAlex devuelve 0
raw_affiliation_strings para preprints (medido: 3/3 vacíos, mientras que el mismo endpoint devuelve 34/34
para artículos publicados en Nature). El pipeline estándar de la industria es «el editor deposita una cadena
de afiliación → ML la asigna a ROR», y arXiv nunca deposita esa cadena. Por lo tanto, la afiliación debe
extraerse del propio bloque de autores del artículo.
Ejecutarlo
Los scripts viven en este directorio de la skill y no dependen de nada fuera de él: biblioteca estándar pura, sin paquetes pip.
R=<directorio-skill>/scripts/paper_radar.py
python3 $R # últimos 3 días
python3 $R --days 14 # últimos 14 días
python3 $R --from 2026-07-20 --to 2026-08-04
python3 $R --cats cs.AI,cs.CL,cs.LG,cs.CV # ampliar categorías
python3 $R --no-scrape # solo fuentes oficiales + nombres de equipo (segundos — verificación rápida de empresa)
python3 $R -o ruta.md # escribir el informe aquí
python3 $R -o - # escribir el informe en stdout
Tiempos: para una ventana de dos semanas (~3000 artículos), los metadatos tardan ~2 minutos y la recuperación del bloque de autores ~25 segundos con 6 trabajadores. Una ventana de 3 días termina en menos de un minuto. Para cubrir un historial más largo, amplía la ventana y vuelve a ejecutar: no hay biblioteca que consultar.
Dónde va el informe — tú decides, el script no adivina
El script no sabe, y no debe saber, dónde guarda la investigación el proyecto que lo llama.
Sin -o, escribe en el directorio de trabajo actual.
Decide el destino antes de cada ejecución:
- El usuario nombró una ruta → úsala
- Esta investigación vale la pena conservarla → escríbela en el directorio de investigación de ese proyecto, con la ventana en el nombre del archivo
- Solo estás verificando un dato («¿ha publicado Xiaomi sobre IA auto-evolutiva?») → usa
-o -y no dejes ningún archivo. Una pregunta desechable que deja un archivo se hará pasar por un registro de investigación más tarde
Archivos
| Ruta (relativa a esta skill) | Función |
|---|---|
scripts/paper_radar.py | Pipeline: obtener listado → obtener bloques de autores → resolver afiliación → escribir informe |
scripts/affiliation.py | Capa de resolución: mapeo de superíndices + coincidencia en tres niveles |
scripts/data/ror_anchors.json | IDs ROR de 28 laboratorios + 98 variantes de nombres oficiales (incluyendo chino) |
La única salida es un archivo Markdown (ruta según lo anterior), con un desglose «total de aciertos / de los cuales liderados». El directorio de la skill en sí no produce archivos.
Seis etapas
0 listado API de arXiv: cat × submittedDate → deduplicar por ID
1 texto completo arxiv.org/html/{id} + Range primeros 90KB, cortar ltx_authors → ltx_abstract [85%]
2 estructura escanear de derecha a izquierda la última posición que inicia una secuencia ascendente 1,2,3…
extraer (autor, marcas[]) · (marca, afiliación) · correos · marcadores de rol
3 entidad (a) dominio de correo (b) variantes de nombre ROR (c) tabla de alias de laboratorio
4 calificación orgs_principales = afiliaciones del primer autor (pueden ser varias); interno = marcador presente
5 complementos RSS de Apple · JSON incrustado de MSR · nombres de equipo de arXiv
6 informe deduplicar por clave (un artículo puede llegar tanto del bloque de autores como de una fuente
oficial), escribir Markdown, conservar evidencia + matched_on
Cinco disciplinas, todas pagadas en errores
1. El bloque de autores debe cortarse estrictamente en ltx_abstract. Toma un carácter más y el
resumen se filtra. Consecuencias medidas: Oracle 73 artículos (todos «acceso oracle»), MiniMax 17
(el algoritmo minimax), DeepSeek 58 (artículos que meramente mencionan el modelo). Cortado limpiamente, el
bloque de autores mediano tiene ~201 caracteres.
2. La lista de afiliaciones debe encontrarse de derecha a izquierda. «nombre + dígito en superíndice» en la secuencia
de autores y «dígito + afiliación» en la secuencia de afiliaciones tienen la misma forma, por lo que un escaneo
de izquierda a derecha analiza Yuchen Zhao 1 Bingxuan Li como 1 → «Bingxuan Li».
3. Nunca asumas que «solo una empresa coincide, por lo tanto lidera». Eso solo te dice que las otras afiliaciones no son empresas que rastreas. Atribución errónea medida: Filesystem-Based Memory fue liderado por UIUC pero se calificó como liderado por Adobe porque Adobe era la única coincidencia.
4. La firma de una empresa no es un artículo de la empresa. Solo * en el informe significa liderazgo. Medido en una
ventana de dos semanas: Google acertó 10 artículos pero lideró solo 4; Google DeepMind 7 aciertos, 2 liderados;
Adobe 5 aciertos, 0 liderados. Cualquier afirmación de «N artículos de grandes tecnológicas» debe decir a qué columna se refiere.
5. Indica los puntos ciegos antes que los números.
- El 12% de los envíos son solo PDF y son invisibles — el techo duro de la etapa 1
- Tasa de fallo de Apple ~78% (sus autores omiten con frecuencia la afiliación) → parcheado mediante el feed RSS oficial. Este complemento es obligatorio, no opcional
- Cuando el primer autor lista varias afiliaciones, no se pueden clasificar; ambas obtienen
* internes un marcador, no un juicio — si el artículo de un interno «cuenta» o no es una cuestión definicional, expuesta para que quien llama decida
Tres capas de error — no las confundas
| Capa | Problema | Qué hacer cuando falla |
|---|---|---|
| 1 extracción | No se puede obtener el texto en absoluto | fuentes complementarias; todos los fallos de hoy están en esta capa |
| 2 estructura | No se puede mapear autor a afiliación | degradar a un escaneo de todo el bloque, con precisión reducida |
| 3 entidad | De qué empresa es esta cadena | unmatched conserva el texto sin procesar para la tabla; ROR solo opera aquí |
ROR es una tabla de búsqueda de cadena a ID; necesitas la cadena primero. Medido en dos artículos de Xiaomi: uno no tenía HTML en absoluto, el bloque de autores del otro contenía 8 nombres de personas y ni una palabra de afiliación. ROR no puede salvar ninguno de los dos — solo las fuentes complementarias pueden hacerlo.
Por qué se mantiene cada fuente complementaria
| Fuente | Función | Evidencia |
|---|---|---|
| RSS de Apple | Corrige un fallo sistemático, obligatorio | Ventana de dos semanas: 2 extraídos vs. 9 oficiales — 78% perdidos |
| Nombres de equipo de arXiv | Cubre «el nombre de la empresa está en la ranura del autor, no en la de afiliación» | Equipo Xiaomi MiMo / Equipo Kimi; añadió 2 artículos, redundancia cero |
| JSON incrustado de MSR | Sonda de verificación cruzada | 25 extraídos vs. 7 oficiales — redundante, conservado como control dentro de la ejecución: si una fuente oficial tiene un artículo que el bloque de autores perdió, la etapa 1 está rota |
Cuando una empresa muestra cero — verifica en este orden
- Ventana incorrecta — arXiv indexa con 1–2 días de retraso y no anuncia los fines de semana; amplía primero
- Categorías incorrectas — el valor predeterminado es cs.AI/cs.CL/cs.LG; robótica es cs.RO, visión cs.CV, sistemas cs.SE
- Búsqueda por nombre de equipo —
all:«Xiaomi»/«Hunyuan»/«Kimi Team»funcionan;all:«MiniMax»no es utilizable (más de 5800 resultados del algoritmo minimax) — usaau:«MiniMax» - Canales oficiales — RSS de Apple,
ai.meta.com/results/?content_types[0]=publicationde Meta (nota:/research/publications/devuelve 400 a curl simple), NVIDIAresearch.nvidia.com/publications - Solo cuando todo lo anterior esté vacío, puedes decir «esta empresa no publicó nada en esta ventana»
Hoja de ruta
- Añadir fuente TeX como etapa 1 nivel 2 — descomprimir
arxiv.org/e-print/{id}y leer\author{}. Verificado: los artículos sin HTML a menudo tienen TeX, con superíndices intactos. La ganancia de cobertura más barata disponible - Autoverificación de salud dentro de la ejecución — poner la tasa de aciertos del bloque de autores de la etapa 1, y el recuento de «la fuente oficial lo tiene pero el bloque de autores no», directamente en el encabezado del informe. Protege contra una rotura silenciosa cuando arXiv cambia su marcado (el fallo del 78% de Apple se encontró por accidente). No reintroduzcas tasas de aciertos históricas almacenadas para esto — la verificación cruzada dentro de la ejecución es suficiente
Una cosa más
El recuento de artículos es oferta, no interés. Medido: de 231 artículos de grandes tecnológicas en una ventana de dos semanas, 0 fueron discutidos en Hacker News, mientras que todos los artículos discutidos en HN en la misma ventana provenían de la academia o de una startup. Juzgar el interés requiere una señal social separada.