Claude Code y Cursor: Desarrollo junto a agentes de IA de codificación
Al finalizar este tema
Aprenderá cómo se encuentra el principio de los agentes del número 9 en la aplicación práctica más madura: los agentes de IA de codificación. Se resumen los usos prácticos de Claude Code, Cursor, Windsurf y GitHub Copilot, las fortalezas de cada herramienta y cómo aprovecharlas en un laboratorio de biología.
Esta es la tercera entrega de la sección de herramientas de la Fase 3. En 2025, estas son las herramientas que están cambiando radicalmente la forma de desarrollar software. Si los laboratorios de biología aprovechan esta tendencia, el análisis de datos, la construcción de pipelines y la reproducción del código de artículos se acelerarán drásticamente.
Qué hacen los agentes de IA de codificación
Como se mencionó en el número 9, agente = LLM + Herramientas + Bucle + Memoria. Los agentes de IA de codificación son una forma especializada de esta estructura para el entorno de desarrollo.
Herramientas esenciales.
- Sistema de archivos: Lectura, escritura y búsqueda de archivos.
- Ejecución de terminal: Ejecución de comandos shell y pruebas.
- Git: Verificación del estado, confirmaciones (commits) y diff.
- Acceso web: Consulta de documentación e información de bibliotecas.
- Integración con el editor: Reconocimiento de la posición del cursor y del código seleccionado.
Con estas herramientas, el agente puede escribir, ejecutar y depurar código realmente.
Tareas típicas.
- Implementación de nuevas funciones.
- Corrección de errores (bugs).
- Escritura de pruebas.
- Refactorización.
- Redacción de documentación.
- Revisión de código.
- Migración.
Tareas prácticas en biología.
- Scripts de pipelines de análisis de scRNA-seq.
- Visualización de datos experimentales (matplotlib, plotly).
- Integración de APIs (PubMed, UniProt, ClinicalTrials.gov).
- Flujos de trabajo Snakemake y Nextflow.
- Análisis en cuadernos Jupyter.
Mapa de herramientas principales
Claude Code
El agente de codificación CLI de Anthropic. Conversación directa desde la terminal.
# En la carpeta del proyectoclaude
# Iniciar conversación> "Refactoriza la parte de análisis de datos en src/analysis.py"Características.
- Nativo de terminal. Sin GUI dedicada, compatible con cualquier editor.
- Herramientas potentes. Integración sólida de Bash, archivos, git y herramientas web.
- Sesiones largas. Gestión automática del contexto en episodios #10 (compaction·offloading).
- Skills·Plugins. Extensión de lógica personalizada por proyecto.
- Soporte MCP. Conexión a servidores MCP del episodio #9.
Casos de uso biológicos.
- Procesamiento masivo de archivos en carpetas de datos experimentales.
- Desarrollo de pipelines de análisis con CLI en lugar de cuadernos Jupyter.
- Sesiones SSH directas en servidores remotos (HPC).
Cursor
Bifurcación de VS Code. IDE especializado en programación colaborativa con IA.
Funciones principales.
- Autocompletado Tab: Completado en línea que comprende el contexto del archivo.
- Cmd+K: Edición de código mediante comandos en lenguaje natural.
- Cmd+L (Chat): Conversación en la barra lateral.
- Cmd+I (Composer): Agente de edición de múltiples archivos.
- Indexación de codebase: Indexación completa del proyecto, búsqueda semántica.
- Reglas para IA: Especificación de reglas por proyecto (estilo de codificación·arquitectura).
Características.
- IDE visual. Adaptación inmediata para usuarios familiarizados con VS Code.
- Edición en línea. Selección de bloques de código específicos y edición mediante lenguaje natural.
- Selección de modelo: Posibilidad de elegir entre Claude, GPT-4o, Gemini, su propio modelo rápido, etc.
Windsurf (Codeium)
IDE competidor de la familia Cursor. Famoso por su modo agente Cascade.
Diferenciadores.
- Flows: Planificación y ejecución automática de cambios extensos que abarcan múltiples archivos.
- Windsurf Cascade: Comprensión activa del código (referencia automática a archivos relevantes, no solo a los seleccionados por el usuario).
- Competitividad en precios: Generalmente más bajo que Cursor.
GitHub Copilot
Copilot Chat: Conversación en la barra lateral. Copilot Workspace: Automatización de issues → planificación → implementación → PR. Modo Agente Copilot: Funciones de agente similares a las de Cursor y Claude Code recientes.
Apoyado por Microsoft y OpenAI. Integración fuerte con VS Code. Infraestructura madura a escala empresarial.
Otros
- Zed: Editor priorizado en rendimiento. Refuerzo reciente de funciones de IA.
- Continue.dev: Extensión de codificación de código abierto (VS Code·JetBrains).
- Aider: Agente de código abierto basado en CLI.
- Devin (Cognition): Agente completamente autónomo. Ejecución en la nube.
Flujo práctico de Claude Code
Ejemplos concretos de cómo usar Claude Code en la práctica profesional de bioinformática.
Inicio
cd ~/lab_projectclaudeEn la primera conversación, consulte la descripción del proyecto y el archivo CLAUDE.md. El agente aprende las reglas y la estructura del proyecto.
Delegación de tareas
Ejemplo 1: Script de análisis de datos scRNA-seq.
"Hay 5 archivos h5ad de scRNA-seq nuevos en la carpeta
data/samples/. Crea un script que realice QC, filtrado, normalización, UMAP y agrupamiento de Leiden para cada muestra usando Scanpy, y guarda los resultados en la carpetaresults/{sample_id}/. También crea una tabla resumen de los resultados por muestra."
El agente:
- Verifica la estructura de carpetas (
ls,find). - Revisa los archivos de muestra (tamaño y extensión).
- Escribe el script del pipeline estándar de Scanpy.
- Verifica e instala las bibliotecas necesarias.
- Ejecuta una prueba con una muestra pequeña.
- Corrige si se detectan problemas.
- Devuelve el script final y la documentación de uso.
Revisión de código
Ejemplo 2: Revisión de código de PR.
"Revisa los cambios de esta rama. Presta especial atención a si falta la corrección por múltiples comparaciones en la parte de las pruebas estadísticas."
El agente verifica los cambios en git diff main, identifica la sección relacionada con estadística, señala la omisión del procesamiento en p_adjusted y propone código de corrección FDR en statsmodels.
Depuración
Ejemplo 3: Depuración de un pipeline fallido.
"Al ejecutar run_analysis.py, se produce un crash en la tercera muestra. El registro está en logs/error.log. Encuentra la causa y corrígela."
El agente lee el registro → revisa el archivo problemático → identifica una situación atípica en la tercera muestra (por ejemplo, tamaño de celda 0) → añade código de manejo de excepciones → verifica la reejecución.
Generación de documentación
Ejemplo 4: README y tutorial.
"Escribe el README con las instrucciones de uso de este repositorio. Incluye instalación, preparación de datos, ejecución e interpretación de resultados en ese orden. Asegúrate de incluir todo lo necesario para que un nuevo miembro del laboratorio pueda iniciarse."
Tras escanear el proyecto, se genera un README integral. Se extraen ejemplos de uso reales de los scripts existentes.
Flujo práctico con Cursor
Otros estilos de uso de Cursor.
Edición en línea (Cmd+K)
Selecciona una función específica y pulsa Cmd+K.
"Aplica la vectorización de numpy a esta función para eliminar el bucle for."
Cursor propone la edición de la función → aceptar o rechazar.
Diálogo en la barra lateral (Cmd+L)
"Quiero cambiar los colores de la visualización UMAP en este notebook abierto según el tipo celular."
El chat de Cursor comprende el contexto del notebook y sugiere fragmentos de código.
Composer (Cmd+I)
Para cambios grandes que abarcan varios archivos.
"Refactorización de la gestión de configuración en
@src/utils.pyy@src/analysis.py, pasando de código fijo a una clase Settings de Pydantic."
Composer puede modificar ambos archivos simultáneamente, permitiendo revisar los cambios mediante diff.
Reglas para IA
En la raíz del proyecto .cursorrules.
- Utilizar siempre anotaciones de tipo.
- Los docstrings deben seguir el estilo Google.
- Aislar las funciones relacionadas con Scanpy en el módulo utils.scanpy_helpers.
- Las pruebas deben usar pytest, con cobertura del 80%+.
- Mantener los términos del dominio Bio en su idioma original (inglés); los comentarios en coreano.Estas reglas se incluyen automáticamente en el prompt del sistema de cada conversación.
Vibe Coding — un nuevo flujo de trabajo
Vibe Coding — los desarrolladores expresan la intención y la sensación en lenguaje natural en lugar de código detallado, y el agente lo implementa. Es un flujo de trabajo que se está expandiendo recientemente.
Desarrollo tradicional:
Leer documentación → Escribir código → Ejecutar → Depurar → IterarVibe Coding:
Solicitud en lenguaje natural → Ejecución del agente → Revisión de resultados → AjusteEjemplo de BioPlayground.
"Dibuja un mapa de calor de la expresión de 8 genes con seaborn. Los genes deben ordenarse mediante agrupamiento jerárquico y las muestras deben mantener su orden original. Usa una paleta divergente centrada en la media. Las faltantes se muestran en gris."
Esta única frase se implementa inmediatamente en 20 a 30 líneas de código. Si el resultado no es satisfactorio, vuelve a modificarlo con lenguaje natural.
Casos adecuados.
- Scripts de análisis iterativo (ciclo explorar-graficar-refinar).
- Visualizaciones temporales y exploración de datos.
- Prototipos y MVP (Producto Mínimo Viable).
- Automatización de scripts.
Casos inadecuados.
- Precisión crítica: Relacionado con lo clínico o regulatorio. La revisión del código es obligatoria.
- Decisiones de arquitectura: El diseño del sistema debe basarse en el juicio humano.
- Sensibilidad a la seguridad: Autenticación, cifrado, prevención de inyecciones, etc.
Principio fundamental. El código generado por el agente debe ejecutarse y probarse siempre, revisando los resultados. No basta con confiar solo en la "vibe" (sensación general). Las alucinaciones descritas en el capítulo 11 también ocurren en el código.
Gestión del contexto del proyecto
Es importante que el agente comprenda el contexto global en proyectos grandes.
CLAUDE.md (Claude Code)
Coloca CLAUDE.md en la raíz del proyecto. El agente lo referenciará automáticamente al inicio de cada sesión.
Ejemplo de contenido.
# Contexto del proyecto
## Objetivo del proyecto
Este repositorio es un pipeline de análisis automatizado para datos de secuenciación de ARN de célula única.
## Estructura principal
- `data/`: archivo h5ad original (excluido de git).
- `src/`: código del pipeline.
- `notebooks/`: análisis exploratorio.
- `results/`: Resultados de la ejecución.
## Estilo de codificación
- Type hint obligatorio.
- Docstring: Estilo Google.
- Los nuevos scripts van debajo de `src/scripts/`.
## Convención de datos
- Las etiquetas de tipo celular priorizan la nomenclatura CellTypist.
- Los símbolos de genes siguen la versión más reciente de HGNC.
## Tareas frecuentes
- Agregar nueva muestra: `python src/scripts/add_sample.py {sample_id}`.
- Regenerar informe de QC: `snakemake qc_report`.
## Notas importantes
- No modificar nunca `data/raw/`.
- Ejecutar pre-commit antes de cualquier git push.El agente consultará este documento para cumplir con las convenciones del proyecto.
.cursorrules (Cursor)
Cursor es el archivo .cursorrules. El formato es ligeramente diferente, pero el propósito es el mismo.
Otras herramientas son similares
Windsurf (.windsurfrules), Continue (config.json), etc., tienen sus propios archivos de reglas. El archivo de contexto del proyecto es una extensión persistente del proyecto del sistema prompt del episodio #7.
Integración del servidor MCP
El MCP tratado en el episodio #9 es particularmente útil para agentes de codificación.
Servidores MCP útiles
Filesystem: Acceso al sistema de archivos (por defecto). GitHub: Manipulación de repositorios, issues y PRs. Slack: Comunicación del equipo. Postgres: Consultas a bases de datos. Puppeteer: Automatización de navegadores web. Memory: Mantenimiento de conocimiento entre sesiones. Notion: Lectura y escritura de páginas de Notion.
Servidores MCP especializados en biología (personalizados).
- PubMed MCP: Búsqueda y consulta detallada de artículos.
- UniProt MCP: Información de proteínas.
- PDB MCP: Datos estructurales.
- LIMS de laboratorio: Gestión interna de experimentos.
Configuración del servidor MCP (ejemplo de Claude Code)
~/.claude/mcp.json:
{
"mcpServers": {
"pubmed": {
"command": "python",
"args": ["/path/to/pubmed_mcp_server.py"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"]
}
}
}El agente reconoce y utiliza automáticamente las herramientas de estos servidores.
Mejores prácticas
Patrones de conversación efectivos
1. Objetivo claro.
Mal: "Revisa este código." Bien: "Parece que la complejidad temporal de esta función es O(n^2). Revisa si se puede mejorar a O(n log n)."
2. Proporcionar contexto.
Mal: "¿Por qué no funciona?" Bien: "Este script falla en la tercera muestra. El registro está aquí: (pegar)"
3. Solicitar verificación.
Mal: "Refactoriza esto."
Bien: "Después de refactorizar, verifica que las pruebas existentes sigan pasando. pytest tests/."
4. Planificar primero.
Mal: "Implementa la nueva función." Bien: "Primero el plan para implementar la nueva función. Luego, tras obtener aprobación, proceder."
El modo Plan de Claude Code obliga a esto: se aprueba el plan antes de ejecutarlo.
Prevención de errores
1. Verificar operaciones destructivas. Confirmación explícita para eliminar archivos, hacer git force push o borrar datos.
2. Ejecutar pruebas automáticamente. Ejecutar las pruebas automáticamente tras los cambios en el código. Intervención humana si fallan.
3. Revisar commits de Git. Revisar el diff antes de que el agente realice el commit.
4. Conciencia de costos. Claude Opus y GPT-4o tienen tarifas por token. Verificar el costo estimado de sesiones largas.
Uso en equipo
Reglas compartidas: Gestionar CLAUDE.md y .cursorrules mediante git.
Registros de sesión: Documentar las decisiones importantes.
Educación: Compartir los patrones de conversación efectivos con los miembros del equipo.
Revisión humana: Es obligatorio revisar el código generado por el agente.
Cuándo usar qué herramienta
Experimentación y análisis personal: Cursor + Claude Sonnet · Windsurf. Cómodo si ya se está familiarizado con el IDE. Automatización masiva y flujos de trabajo CLI: Claude Code. Mantiene la sesión del terminal activa. Programación colaborativa en equipo: Cursor o Copilot. Funciones de colaboración del IDE. MLE e investigación: Combinación de Cursor + Claude Code. Uso paralelo de cuadernos y CLI. Pipelines biológicos (Snakemake·Nextflow): Claude Code. En sesiones SSH de HPC. Prototipado rápido: Windsurf Cascade · Cursor Composer. Refactorización grande: Cursor Composer o el modo plan de Claude Code.
Escenarios de aplicación biológica
Escenario 1 — Automatización de flujos de trabajo con Snakemake
Construir un nuevo pipeline experimental del laboratorio con Snakemake.
Usar Claude Code:
- Especificar en
CLAUDE.mdlos estándares del laboratorio (formato de entrada, convenciones de salida, límites de recursos). - "Crea un flujo de trabajo de Snakemake basado en esta hoja de muestra. Las reglas deben incluir control de calidad, alineación, llamada de variantes y anotación. Debe admitir la presentación al clúster."
- El agente genera el archivo de reglas, config.yaml y la configuración del clúster.
- Verificación mediante una ejecución de prueba.
- Redacción de la documentación.
Escenario 2 — Competencia de Kaggle Bio
Participación en una competencia de clasificación de imágenes biológicas de Kaggle.
Uso de Cursor:
- Exploración de datos (Jupyter + Cursor).
- Modelo base (
torchvisionResNet + ajuste fino). - Experimentos de aumento de datos (probar varias combinaciones de aumento con Cmd+K).
- Implementación de ensemble y TTA.
- Pipeline de envío.
Combinación del conocimiento de PyTorch de la sección #12 con la edición en tiempo real de Cursor.
Escenario 3 — Reproducción de código de un artículo
Aplicar el método de un artículo reciente a sus propios datos.
Claude Code + WebFetch:
- Verificar el enlace de GitHub del artículo.
- Clonar el repositorio de código.
- Configuración del entorno (requirements y entorno conda).
- Adaptación para usar sus propios datos.
- Validación de los resultados.
El agente lee la sección de métodos del artículo y lo compara con el código. Si se detectan diferencias, también se consultan los issues y PRs de los autores del artículo.
Resumen clave
- El agente de codificación por IA = aplicación especializada en el entorno de desarrollo del agente de la sección #9.
- Herramientas principales: Claude Code (CLI), Cursor (IDE), Windsurf y GitHub Copilot.
- Elección del flujo de trabajo entre terminal e IDE, según la naturaleza del proyecto y las preferencias personales.
- Vibe Coding: expresar la intención en lenguaje natural. Verifique siempre los resultados.
- Mantenga las convenciones mediante el archivo de contexto del proyecto (
CLAUDE.md·.cursorrules). - Integre herramientas personalizadas mediante servidores MCP. Construya servidores específicos para bioinformática.
- Mejores prácticas: establezca objetivos claros, contexto, requisitos de validación y un plan previo. Confirme las operaciones destructivas.
- Aplicaciones en la práctica biológica: pipelines de Snakemake, competencias de Kaggle y reproducción de artículos.
Próximos conceptos
- Sección #15
bio-ai-integration— Fase 4. Integrar las secciones #1 a #14 hasta ahora en el flujo de trabajo práctico del laboratorio de biología.
📐 Apéndice — Consejos prácticos para expertos
Dificultad: Muy difícil (Very Hard) Dirigido a: Lectores con experiencia en la operación e implementación en producción de agentes de codificación por IA
A.1 Gestión del contexto del agente (perspectiva de Claude Code)
El contexto de Claude Code aplica los principios tratados en el episodio #10.
Compresión de sesión. Cuando la conversación se alarga, se activa automáticamente la compaction (compresión). Los resultados antiguos de las herramientas se sustituyen por resúmenes.
Skills. Definir lógica de dominio específica personalizada para cada proyecto. Por ejemplo, la skill bio-analysis incluye el conocimiento del estándar de pipelines para scRNA-seq.
Subagentes. Delegar tareas grandes en subagentes. Cada subagente tiene su propia ventana de contexto. Patrón multi-agente tratado en el episodio #9.
A.2 Indexación de la base de código de Cursor
Indexa todo el proyecto.
Procedimiento:
- Dividir cada archivo en chunks (principio de chunking del episodio #8).
- Calcular embeddings (modelo propio de Cursor o OpenAI).
- Almacenar en una base de datos vectorial (local o en la nube).
- Buscar automáticamente el código relevante e insertarlo en el contexto durante el chat.
Sintaxis @. Referencias explícitas mediante @file.py, @Codebase, @Docs.
A.3 Uso de caché de prompts
El caché de prompts tratado en la sección A.4 del episodio #10 es especialmente útil para agentes de codificación.
- CLAUDE.md y el sistema de prompt se repiten en cada sesión → se almacenan en caché.
- Lectura repetida de archivos grandes → se almacena en caché.
- Aplicación automática del caché efímero de Anthropic.
Efecto: reducción de costes y latencia en sesiones de proyectos grandes.
A.4 Optimización del bucle de uso de herramientas
El coste de cada paso del agente se multiplica. Puntos de optimización.
- Llamadas paralelas a herramientas: paralelizar llamadas independientes a herramientas. Claude lo ha soportado recientemente.
- Compresión de resultados de herramientas: resumir resultados grandes (por ejemplo, listas de archivos) antes de insertarlos en el contexto.
- Salida temprana: romper el bucle cuando se haya recopilado información suficiente.
- Reintento con retroceso exponencial: aplicar backoff exponencial ante fallos de ejecución de herramientas.
A.5 Verificación de seguridad del código
El código generado por el agente debe contar con una capa de verificación automática.
Análisis estático: pyright·ruff·mypy. Tipos, estilo y posibles errores.
Ejecución de pruebas: pytest. Verificar que las pruebas existentes pasan.
Escaneo de seguridad: bandit·safety. Vulnerabilidades.
Revisión del diff: los cambios masivos requieren revisión final humana.
Automatización mediante la integración de hooks y pre-commit de Claude Code.
A.6 Estrategia Multi-Repo · Monorepo
Monorepo. Estándar en grandes organizaciones. Bazel·Nx·Turborepo. Utilizar .gitignore·.cursorignore para que el agente indexe solo las partes relevantes.
Multi-Repo. Cada repositorio con su propia sesión. Los cambios entre repositorios se procesan secuencialmente.
A.7 Defensa contra inyección de prompts (contexto de código)
El riesgo de inyección del episodio #7 también ocurre en el código.
- Instrucciones maliciosas incrustadas en README, issues y comentarios.
- Inyección a través de los resultados de búsqueda web.
- Instrucciones dentro del código de dependencias de código abierto.
Defensa:
- Diferenciar claramente entre la solicitud del usuario y el contenido de los archivos.
- Entrenar al modelo para ignorar las "instrucciones del sistema" en el contenido de los archivos.
- Tratar los resultados de la ejecución de Shell únicamente como datos.
Tanto Claude Code como Cursor aprenden esta amenaza durante su entrenamiento.
A.8 Benchmark de rendimiento
SWE-Bench. Tasa de resolución de problemas reales de GitHub. Ver A.10 del episodio #9. HumanEval·MBPP. Tasa de aciertos en la implementación de funciones. Benchmarks de razonamiento de código: Tareas de comprensión y refactorización de código.
A partir de 2025, Claude Sonnet·Opus, GPT-4o·o3 y Gemini 2.5·3 se encuentran entre los líderes. La satisfacción del usuario real puede diferir del ranking de los benchmarks.
A.9 Estrategia de adopción en equipos
Fase 1: Uso individual (1~2 personas). Comenzar con Cursor·Copilot. Fase 2: Piloto en equipo (5~10 personas). Definir reglas compartidas y flujos de trabajo. Fase 3: Despliegue organizacional. Licencias, gobernanza y auditoría.
Gestión de riesgos:
- Prevención de fugas de propiedad intelectual (plan empresarial).
- Prevención de despliegue de código incorrecto (revisión obligatoria).
- Prevención de la degradación de habilidades (aprendizaje continuo y emparejamiento).
A.10 Direcciones futuras
Agentes de ingeniería autónomos. Completan automáticamente las PR a partir únicamente del issue (tipo Devin).
Planificación a largo plazo. Gestión autónoma de proyectos que duran días o semanas.
Comprensión multimodal. Comprensión también de capturas de pantalla, diagramas y videos.
Auto-mejora. Revisión y mejora iterativa del propio código.
Agentes específicos para biología. Conocimiento integrado del dominio biológico. Diseño experimental, análisis y redacción de artículos integrados.
Referencias
El contenido, los escenarios, las metáforas y los datos de este episodio son desarrollos propios de BioPlayground; a continuación se presentan recursos externos que pueden ayudar en el aprendizaje conceptual:
- Claude Code: claude.com/claude-code (Oficial de Anthropic)
- Cursor: cursor.com
- Windsurf: codeium.com/windsurf
- GitHub Copilot: github.com/features/copilot
- Zed: zed.dev
- Continue.dev: continue.dev
- Aider: aider.chat
- Devin (Cognition): cognition.ai
- MCP: modelcontextprotocol.io
- SWE-Bench: swebench.com
- Mejores prácticas de codificación con IA: Guías oficiales de Anthropic, Cursor y GitHub
- Blog de Simon Willison: simonwillison.net/tags/llms — Boletín de noticias sobre tendencias de codificación con IA
Con la entrega #14 se ha consolidado el panorama de los agentes de codificación con IA. En la entrega #15, se explicará cómo integrar todas las entregas anteriores en el flujo de trabajo real del laboratorio de biología.