Chatea con OpenClaw: "Investiga X" → hecho.
🇺🇸 English · 🇨🇳 中文 · 🇯🇵 日本語 · 🇰🇷 한국어 · 🇫🇷 Français · 🇩🇪 Deutsch · 🇪🇸 Español · 🇧🇷 Português · 🇷🇺 Русский · 🇸🇦 العربية
pip install -e . && researchclaw run --topic "Your research idea here" --auto-approve
Tienes una idea. Quieres un artículo. Eso es todo.
AutoResearchClaw toma un tema de investigación y produce de forma autónoma un artículo académico completo — con literatura real de arXiv y Semantic Scholar (multi-fuente, arXiv primero para evitar limitaciones de tasa), experimentos en sandbox adaptados al hardware (detección automática de GPU/MPS/CPU), análisis estadístico, revisión por pares y LaTeX listo para conferencia (orientado a 5,000-6,500 palabras para NeurIPS/ICML/ICLR). Sin supervisión. Sin copiar y pegar entre herramientas.
| 📄 | paper_draft.md | Artículo académico completo (Introducción, Trabajo relacionado, Método, Experimentos, Resultados, Conclusión) |
| 📐 | paper.tex | LaTeX listo para conferencia (plantillas NeurIPS / ICLR / ICML) |
| 📚 | references.bib | Referencias BibTeX reales de Semantic Scholar y arXiv — auto-depuradas para coincidir con las citas en línea |
| 🔍 | verification_report.json | Verificación de integridad + relevancia de citas en 4 capas (arXiv, CrossRef, DataCite, LLM) |
| 🧪 | experiment runs/ | Código generado + resultados en sandbox + métricas JSON estructuradas |
| 📊 | charts/ | Gráficos de comparación de condiciones auto-generados con barras de error e intervalos de confianza |
| 📝 | reviews.md | Revisión por pares multi-agente con verificación de consistencia metodología-evidencia |
| 🧬 | evolution/ | Lecciones de auto-aprendizaje extraídas de cada ejecución |
| 📦 | deliverables/ | Todos los entregables finales en una sola carpeta — listos para compilar en Overleaf |
El pipeline se ejecuta de principio a fin sin intervención humana (a menos que configures etapas con compuerta para revisión manual). Cuando los experimentos fallan, se auto-repara. Cuando las hipótesis no se sostienen, pivotea.
researchclaw run --topic "Agent-based Reinforcement Learning for Automated Scientific Discovery" --auto-approve
El pipeline no se ejecuta de forma lineal. La etapa 15 (RESEARCH_DECISION) evalúa los resultados experimentales frente a las hipótesis y toma una decisión autónoma:
Cada ciclo PIVOT/REFINE versiona los artefactos anteriores (stage-08_v1/, stage-08_v2/, ...) para que no se pierda trabajo y la evolución de decisiones sea completamente rastreable.
Las etapas críticas utilizan un protocolo de debate estructurado con múltiples perspectivas LLM:
Cada ejecución del pipeline extrae lecciones detalladas — no solo "falló" sino por qué:
RuntimeWarning: division by zero)Estas lecciones persisten en un almacén JSONL con ponderación por decaimiento temporal con vida media de 30 días y se inyectan como capas de prompt en ejecuciones futuras. El pipeline literalmente aprende de sus errores.
Cada ejecución construye una base de conocimiento estructurada (almacenada en docs/kb/) con 6 categorías:
Un monitor de calidad en segundo plano que detecta problemas que el pipeline principal podría pasar por alto:
| 🦞 |
AutoResearchClaw es un servicio compatible con OpenClaw. Instálalo en OpenClaw y lanza investigación autónoma con un solo mensaje — o úsalo de forma independiente vía CLI, Claude Code o cualquier asistente de programación con IA. |
Si ya usas OpenClaw como tu asistente de IA:
1️⃣ Comparte la URL del repositorio de GitHub con OpenClaw 2️⃣ OpenClaw lee automáticamente RESEARCHCLAW_AGENTS.md → comprende el pipeline 3️⃣ Di: "Investiga [tu tema]" 4️⃣ Listo — OpenClaw clona, instala, configura, ejecuta y devuelve los resultados
Eso es todo. OpenClaw se encarga de git clone, pip install, configuración y ejecución del pipeline automáticamente. Tú solo chateas.
RESEARCHCLAW_AGENTS.md → aprende el rol de orquestador de investigaciónREADME.md → comprende la instalación y la estructura del pipelineconfig.researchclaw.example.yaml → config.yamlpip install -e . + researchclaw run --topic "..." --auto-approvePara una integración más profunda, AutoResearchClaw incluye un sistema de adaptadores bridge con 6 capacidades opcionales:
# config.arc.yaml
openclaw_bridge:
use_cron: true # ⏰ Ejecuciones de investigación programadas
use_message: true # 💬 Notificaciones de progreso (Discord/Slack/Telegram)
use_memory: true # 🧠 Persistencia de conocimiento entre sesiones
use_sessions_spawn: true # 🔀 Generar sub-sesiones paralelas para etapas concurrentes
use_web_fetch: true # 🌐 Búsqueda web en vivo durante la revisión de literatura
use_browser: false # 🖥️ Recopilación de artículos basada en navegador
Cada flag activa un protocolo de adaptador tipado. Cuando OpenClaw proporciona estas capacidades, los adaptadores las consumen sin cambios en el código. Consulta integration-guide.md para más detalles.
| Método | Cómo |
|---|---|
| CLI independiente | researchclaw run --topic "..." --auto-approve |
| API de Python | from researchclaw.pipeline import Runner; Runner(config).run() |
| Claude Code | Lee RESEARCHCLAW_CLAUDE.md — solo di "Ejecuta investigación sobre [tema]" |
| OpenCode | Lee .claude/skills/ — la misma interfaz en lenguaje natural |
| Cualquier CLI de IA | Proporciona RESEARCHCLAW_AGENTS.md como contexto → el agente se auto-configura |
Fase A: Alcance de investigación Fase E: Ejecución de experimentos 1. TOPIC_INIT 12. EXPERIMENT_RUN 2. PROBLEM_DECOMPOSE 13. ITERATIVE_REFINE ← auto-reparación Fase B: Descubrimiento de literatura Fase F: Análisis y decisión 3. SEARCH_STRATEGY 14. RESULT_ANALYSIS ← multi-agente 4. LITERATURE_COLLECT ← API real 15. RESEARCH_DECISION ← PIVOT/REFINE 5. LITERATURE_SCREEN [compuerta] 6. KNOWLEDGE_EXTRACT Fase G: Redacción del artículo 16. PAPER_OUTLINE Fase C: Síntesis de conocimiento 17. PAPER_DRAFT 7. SYNTHESIS 18. PEER_REVIEW ← verif. evidencia 8. HYPOTHESIS_GEN ← debate 19. PAPER_REVISION Fase D: Diseño experimental Fase H: Finalización 9. EXPERIMENT_DESIGN [compuerta] 20. QUALITY_GATE [compuerta] 10. CODE_GENERATION 21. KNOWLEDGE_ARCHIVE 11. RESOURCE_PLANNING 22. EXPORT_PUBLISH ← LaTeX 23. CITATION_VERIFY ← verif. relevancia
Las etapas con compuerta (5, 9, 20) se pausan para aprobación humana o se auto-aprueban con
--auto-approve. Al rechazar, el pipeline retrocede.
Bucles de decisión: La etapa 15 puede activar REFINE (→ Etapa 13) o PIVOT (→ Etapa 8), con versionado automático de artefactos.
| Fase | Qué sucede |
|---|---|
| A: Alcance | El LLM descompone el tema en un árbol de problemas estructurado con preguntas de investigación |
| A+: Hardware | Detección automática de GPU (NVIDIA CUDA / Apple MPS / solo CPU), advierte si el hardware local es limitado, adapta la generación de código en consecuencia |
| B: Literatura | Búsqueda multi-fuente (arXiv primero, luego Semantic Scholar) de artículos reales, filtrado por relevancia, extracción de fichas de conocimiento |
| C: Síntesis | Agrupa hallazgos, identifica brechas de investigación, genera hipótesis comprobables mediante debate multi-agente |
| D: Diseño | Diseña plan experimental, genera Python ejecutable adaptado al hardware (nivel de GPU → selección de paquetes), estima necesidades de recursos |
| E: Ejecución | Ejecuta experimentos en sandbox, detecta NaN/Inf y errores en tiempo de ejecución, auto-repara código mediante reparación LLM dirigida |
| F: Análisis | Análisis multi-agente de resultados; decisión autónoma PROCEED / REFINE / PIVOT con justificación |
| G: Redacción | Esquema → redacción sección por sección (5,000-6,500 palabras) → revisión por pares (con consistencia metodología-evidencia) → revisión con guardia de longitud |
| H: Finalización | Compuerta de calidad, archivado de conocimiento, exportación LaTeX con plantilla de conferencia, verificación de integridad + relevancia de citas |
git clone https://github.com/aiming-lab/AutoResearchClaw.git
cd AutoResearchClaw
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
cp config.researchclaw.example.yaml config.arc.yaml
project:
name: "my-research"
research:
topic: "Your research topic here"
llm:
base_url: "https://api.openai.com/v1" # Cualquier endpoint compatible con OpenAI
api_key_env: "OPENAI_API_KEY" # Nombre de la variable de entorno con tu clave
primary_model: "gpt-4o" # Cualquier modelo soportado por tu endpoint
fallback_models: ["gpt-4o-mini"]
s2_api_key: "" # Opcional: clave API de Semantic Scholar para mayores límites de tasa
experiment:
mode: "sandbox"
sandbox:
python_path: ".venv/bin/python"
# Configura tu clave API
export OPENAI_API_KEY="sk-..."
# 🚀 Ejecuta el pipeline completo
researchclaw run --config config.arc.yaml --auto-approve
# 🎯 Especifica un tema en línea
researchclaw run --config config.arc.yaml --topic "Transformer attention for time series" --auto-approve
# ✅ Valida la configuración
researchclaw validate --config config.arc.yaml
# ⏩ Reanuda desde una etapa específica
researchclaw run --config config.arc.yaml --from-stage PAPER_OUTLINE --auto-approve
Salida → artifacts/rc-YYYYMMDD-HHMMSS-<hash>/ con un subdirectorio por etapa.
Todos los entregables para el usuario se recopilan automáticamente en una única carpeta deliverables/:
artifacts/rc-YYYYMMDD-HHMMSS-<hash>/deliverables/ ├── paper_final.md # Artículo final (Markdown) ├── paper.tex # LaTeX listo para conferencia ├── references.bib # Bibliografía BibTeX verificada (auto-depurada) ├── neurips_2025.sty # Archivo de estilo de conferencia (auto-seleccionado) ├── code/ # Código experimental + requirements.txt ├── verification_report.json # Informe de integridad de citas ├── charts/ # Visualizaciones de resultados (comparación de condiciones, barras de error) └── manifest.json # Índice de entregables con metadatos
La carpeta deliverables/ está lista para compilar — incluye los archivos .sty y .bst de la conferencia para que puedas compilar paper.tex directamente con pdflatex + bibtex o subirlo a Overleaf sin descargar nada adicional.
La etapa 4 consulta APIs académicas reales — no artículos alucinados por el LLM. Usa una estrategia arXiv primero para evitar limitaciones de tasa de Semantic Scholar.
@article{cite_key, ...} válidas con metadatos realesfrom researchclaw.literature import search_papers
papers = search_papers("transformer attention mechanisms", limit=20)
for p in papers:
print(f"{p.title} ({p.year}) — cited {p.citation_count}x")
print(p.to_bibtex())
Después de redactar el artículo, la etapa 23 verifica cada referencia tanto en integridad como en relevancia:
| Capa | Método | Qué verifica |
|---|---|---|
| L1 | arXiv API id_list | Artículos con IDs de arXiv — verifica que el ID realmente existe |
| L2 | CrossRef /works/{doi} + fallback DataCite | Artículos con DOIs — verifica que el DOI resuelve y el título coincide (DataCite maneja DOIs 10.48550 de arXiv) |
| L3 | Semantic Scholar + búsqueda por título en arXiv | Resto — coincidencia difusa de títulos (≥0.80 de similitud) |
| L4 | Puntuación de relevancia por LLM | Todas las refs verificadas — evalúa relevancia temática para la investigación |
Cada referencia → VERIFIED ✅ · SUSPICIOUS ⚠️ · HALLUCINATED ❌ · SKIPPED ⏭️ · LOW_RELEVANCE 📉
Limpieza automática: Las citas alucinadas se eliminan silenciosamente del texto del artículo (sin etiquetas [HALLUCINATED]). Las entradas bibliográficas no citadas se podan. El references.bib final contiene solo referencias verificadas y citadas.
La etapa 1 detecta automáticamente las capacidades de GPU locales y adapta todo el pipeline:
| Nivel | Detección | Comportamiento |
|---|---|---|
| Alto | GPU NVIDIA con ≥8 GB VRAM | Generación de código PyTorch/GPU completa, auto-instala torch si falta |
| Limitado | NVIDIA <8 GB o Apple MPS | Experimentos ligeros (<1M parámetros, ≤20 epochs), advertencia al usuario |
| Solo CPU | No se detecta GPU | Solo NumPy/sklearn, sin imports de torch, advertencia con recomendación de GPU remota |
El perfil de hardware se guarda en stage-01/hardware_profile.json e influye en la generación de código, los imports del sandbox y las restricciones de los prompts.
experiment_harness.py inmutable inyectado en el sandbox con guardia de tiempo should_stop(), rechazo de NaN/Inf en report_metric() y escritura de resultados finalize() (inspirado en el patrón de eval inmutable de karpathy/autoresearch)results.json con métricas tipadas (no solo análisis de stdout)is_metric_name())El pipeline de redacción apunta a estándares NeurIPS/ICML/ICLR (9+ páginas, 5,000-6,500 palabras):
export:
target_conference: "neurips_2025" # o "iclr_2026" o "icml_2026"
| Conferencia | Paquete de estilo | Columnas |
|---|---|---|
| NeurIPS 2025 | neurips_2025 | 1 |
| ICLR 2026 | iclr2026_conference | 1 |
| ICML 2026 | icml2026 | 2 |
| NeurIPS 2024 | neurips_2024 | 1 |
| ICLR 2025 | iclr2025_conference | 1 |
| ICML 2025 | icml2025 | 2 |
El convertidor Markdown → LaTeX maneja: encabezados de sección (con deduplicación de auto-numeración), matemáticas inline/display, negrita/cursiva, listas, tablas (con \caption/\label), figuras (\includegraphics), bloques de código (seguros para Unicode), referencias cruzadas y referencias \cite{}.
| Compuerta | Etapa | Al rechazar → Retrocede a |
|---|---|---|
| Filtrado de literatura | 5 | Re-recopilar literatura (Etapa 4) |
| Diseño experimental | 9 | Re-generar hipótesis (Etapa 8) |
| Compuerta de calidad | 20 | Re-escribir artículo desde el esquema (Etapa 16) |
Usa --auto-approve para omitir todas las compuertas, o configura etapas específicas en security.hitl_required_stages.
# === Proyecto ===
project:
name: "my-research" # Identificador del proyecto
mode: "docs-first" # docs-first | semi-auto | full-auto
# === Investigación ===
research:
topic: "..." # Tema de investigación (requerido)
domains: ["ml", "nlp"] # Dominios de investigación para búsqueda de literatura
daily_paper_count: 8 # Artículos objetivo por consulta de búsqueda
quality_threshold: 4.0 # Puntuación mínima de calidad para artículos
# === Tiempo de ejecución ===
runtime:
timezone: "America/New_York" # Para marcas de tiempo
max_parallel_tasks: 3 # Límite de experimentos concurrentes
approval_timeout_hours: 12 # Timeout de etapas con compuerta
retry_limit: 2 # Número de reintentos por fallo de etapa
# === LLM ===
llm:
provider: "openai-compatible" # Tipo de proveedor
base_url: "https://..." # Endpoint de API (requerido)
api_key_env: "OPENAI_API_KEY" # Variable de entorno para la clave API (requerido)
api_key: "" # O codifica la clave aquí directamente
primary_model: "gpt-4o" # Modelo principal
fallback_models: ["gpt-4o-mini"] # Cadena de fallback
s2_api_key: "" # Clave API de Semantic Scholar (opcional, mayores límites de tasa)
# === Experimento ===
experiment:
mode: "sandbox" # simulated | sandbox | docker | ssh_remote
time_budget_sec: 600 # Tiempo máximo de ejecución por corrida (por defecto: 600s)
max_iterations: 10 # Máximo de iteraciones de optimización
metric_key: "val_loss" # Nombre de la métrica principal
metric_direction: "minimize" # minimize | maximize
sandbox:
python_path: ".venv/bin/python"
gpu_required: false
allowed_imports: [math, random, json, csv, numpy, torch, sklearn]
max_memory_mb: 4096
docker:
image: "researchclaw/experiment:latest"
network_policy: "setup_only" # none | setup_only | pip_only | full
gpu_enabled: true
memory_limit_mb: 8192
auto_install_deps: true # Detección automática de imports → requirements.txt
ssh_remote:
host: "" # Nombre de host del servidor GPU
gpu_ids: [] # IDs de GPU disponibles
remote_workdir: "/tmp/researchclaw_experiments"
# === Exportación ===
export:
target_conference: "neurips_2025" # neurips_2025 | iclr_2026 | icml_2026
authors: "Anonymous"
bib_file: "references"
# === Prompts ===
prompts:
custom_file: "" # Ruta a YAML de prompts personalizados (vacío = valores por defecto)
# === Seguridad ===
security:
hitl_required_stages: [5, 9, 20] # Etapas que requieren aprobación humana
allow_publish_without_approval: false
redact_sensitive_logs: true
# === Base de conocimiento ===
knowledge_base:
backend: "markdown" # markdown | obsidian
root: "docs/kb"
# === Notificaciones ===
notifications:
channel: "console" # console | discord | slack
target: ""
# === Bridge de OpenClaw ===
openclaw_bridge:
use_cron: false # Ejecuciones de investigación programadas
use_message: false # Notificaciones de progreso
use_memory: false # Persistencia de conocimiento entre sesiones
use_sessions_spawn: false # Generar sub-sesiones paralelas
use_web_fetch: false # Búsqueda web en vivo
use_browser: false # Recopilación de artículos basada en navegador
Inspirado por:
MIT — consulta LICENSE para más detalles.
Construido con 🦞 por el equipo de AutoResearchClaw