El blog de Deska
Código de investigación y agentes: la reproducibilidad primero
Descubre cómo utilizar código de investigación y agentes para asegurar la reproducibilidad en la computación científica y el desarrollo de software académico.
· 14 min de lectura
El desarrollo de software académico enfrenta un conjunto único de desafíos que lo distinguen de la ingeniería comercial. El objetivo principal suele ser el descubrimiento de nuevos conocimientos en lugar de un producto terminado, lo que frecuentemente deriva en scripts difíciles de replicar. A medida que crece la complejidad de la simulación científica y el análisis de datos, la integración de código de investigación y agentes ha surgido como una estrategia para cerrar la brecha entre la exploración experimental y la reproducibilidad rigurosa. Estas herramientas autónomas y semiautónomas pueden ayudar a los investigadores a documentar entornos, refactorizar scripts antiguos y asegurar que una base de código permanezca funcional en diferentes configuraciones de hardware.
La crisis de reproducibilidad en el software científico
La reproducibilidad es la piedra angular del método científico. En el contexto del software, esto significa que un investigador independiente debería poder tomar tu código y tus datos para obtener los mismos resultados. Sin embargo, muchos proyectos académicos sufren de una degradación donde las dependencias cambian, las API quedan obsoletas o los entornos locales personalizados nunca se documentan completamente.
Cuando los investigadores escriben código, a menudo priorizan el resultado inmediato. Esto resulta en repositorios cargados de scripts con rutas absolutas y archivos de requerimientos inexistentes. Los agentes de IA pueden ayudar a resolver esto auditando el código en busca de patrones no portátiles. Al utilizar agentes para programar, un investigador puede automatizar la generación de scripts de configuración y entornos que, de otro modo, serían ignorados.
Integración de agentes de IA en el flujo de trabajo de investigación
Los agentes de IA no son simplemente herramientas de autocompletado. Son capaces de razonar sobre directorios completos y ejecutar comandos. En un entorno de investigación, pueden utilizarse para varias tareas específicas:
- Pruebas automatizadas de hipótesis: un agente puede iterar a través de diferentes hiperparámetros en una simulación y registrar los resultados de manera sistemática.
- Refactorización de código heredado: muchos laboratorios dependen de scripts antiguos escritos en Fortran o Python 2. Los agentes pueden asistir en la traducción de estos a equivalentes modernos preservando la lógica subyacente.
- Documentación y metadatos: los agentes pueden escanear una carpeta de scripts y generar un README exhaustivo que describa el flujo de ejecución y las dependencias necesarias.
La clave del éxito es mantener al humano en el flujo de trabajo. Mientras el agente puede escribir la estructura básica, el investigador debe validar la validez científica del resultado. El uso de un lienzo infinito permite a un investigador ver la salida del agente, la terminal donde se ejecuta el código y el código fuente original al mismo tiempo. Esta organización espacial evita el efecto de caja negra donde el investigador pierde el rastro de lo que la IA ha modificado.
Comparativa de arquitecturas de agentes para investigación
Diferentes marcos de agentes ofrecen diversas ventajas para el trabajo académico. Algunos se centran en la velocidad, mientras que otros se enfocan en el razonamiento profundo y la interacción con el sistema de archivos.
| Característica | Claude Code | Codex CLI | OpenCode |
|---|---|---|---|
| Estilo de Interacción | Terminal CLI | Línea de comandos | Panel colaborativo |
| Acceso al Sistema de Archivos | Alto | Moderado | Alto |
| Especializado para Investigación | No | No | Sí |
| Fortaleza Principal | Iteración rápida | Tareas simples | Conciencia del contexto |
Estas herramientas difieren en su enfoque sobre cómo manejan los archivos locales. Algunas requieren subir fragmentos a la nube, mientras que otras operan en tu máquina local. Para los investigadores que manejan datos sensibles o conjuntos de datos propietarios, un enfoque local-first suele ser obligatorio para cumplir con los requisitos éticos y de privacidad institucionales.
Deska como entorno de investigación
Deska proporciona un espacio de trabajo especializado para quienes trabajan con código de investigación y agentes. No reemplaza tus herramientas especializadas, sino que las coordina. En lugar de cambiar entre una terminal, un navegador para la documentación y un editor de texto, puedes colocarlos como paneles en un lienzo infinito.
Puedes ejecutar Claude Code, Codex CLI y OpenCode lado a lado en diferentes paneles. Esto te permite comparar cómo diferentes modelos abordan el mismo problema científico. Si un agente se queda atrapado en un bucle, puedes usar Ask Deska, el asistente de voz y chat integrado, para abrir una nueva terminal o verificar el estado de otra sesión. Debido a que Deska utiliza un modelo BYOK para su nivel vitalicio, los investigadores pueden usar sus propias claves de API institucionales para mantener el control sobre sus presupuestos y límites de uso.
Gestión de experimentos de larga duración
Las computaciones científicas a menudo toman horas o días. Un riesgo significativo en la investigación remota es perder la conexión con una sesión en ejecución. Deska aborda esto a través de su aplicación móvil y su sistema de relevo seguro. Los investigadores pueden emparejar su teléfono directamente con su computadora de escritorio. Esto te permite monitorear la salida de una simulación larga mientras estás lejos de tu escritorio. Puedes ver la salida de la terminal en tiempo real e incluso enviar comandos para detener o modificar el experimento si los registros indican una falla. Esta conexión se establece directamente entre dispositivos sin exponer puertos abiertos a la internet pública, lo cual es una preocupación de seguridad común en las redes universitarias.
Mejores prácticas para un código de investigación reproducible
- Usa control de versiones consistentemente: nunca ejecutes un experimento con código que no haya sido guardado en un commit. Usa agentes para escribir mensajes de commit significativos vinculados al ID del experimento.
- Contenedoriza tu entorno: utiliza agentes para ayudar a escribir Dockerfiles o archivos de entorno de Conda desde el principio del proceso.
- Desacopla los datos del código: asegúrate de que tus scripts reciban las rutas de datos como argumentos en lugar de tenerlas escritas directamente en el código.
- Regístralo todo: utiliza las notas y cuadernos dentro de tu espacio de trabajo para capturar el porqué de las decisiones arquitectónicas específicas en tu código.
FAQ
¿Cómo empiezo a usar código de investigación y agentes para mi tesis?
Comienza configurando un entorno local donde puedas ejecutar un agente como Claude Code junto a tus scripts. Enfócate primero en usar el agente para documentar tu código existente y generar un archivo requirements.txt. Esto establece una base de reproducibilidad antes de comenzar a añadir nuevas funciones.
¿Son confiables los agentes de IA para el análisis de datos científicos?
Los agentes son excelentes escribiendo la sintaxis para el análisis de datos, pero no entienden la física o estadística subyacente. Debes verificar su lógica. Úsalos para crear el código base de visualización y los pasos de limpieza de datos, pero revisa manualmente las transformaciones matemáticas que aplican a tus datos brutos.
¿Es seguro usar agentes con datos de investigación propietarios?
La seguridad depende de la arquitectura de la herramienta. Prefiere herramientas que sigan una filosofía local-first donde tus archivos permanezcan en tu hardware. Si usas un servicio de inferencia administrado, revisa la política de privacidad del proveedor respecto al entrenamiento de datos. Usar tus propias claves de API suele darte más control sobre cómo se manejan tus datos.
Conclusión
La integración de código de investigación y agentes representa un cambio hacia una ciencia más robusta y verificable. Al automatizar los aspectos tediosos del mantenimiento de software y la configuración de entornos, los investigadores pueden dedicar más tiempo al descubrimiento y menos a la depuración. Deska ofrece un entorno flexible y local-first para gestionar estos flujos de trabajo complejos, proporcionando las herramientas necesarias para mantener los experimentos organizados y reproducibles.
Para ver cómo un lienzo infinito y agentes integrados pueden mejorar tu flujo de trabajo de investigación, puedes descargar la aplicación para tu sistema operativo.