Sobre el rol
Buscamos un Ingeniero Fullstack de IA para construir aplicaciones de IA para flujos de trabajo de atención médica. Desarrollarás sistemas de generación aumentada por recuperación (RAG), flujos de trabajo de agentes y agentes de voz en tiempo real, llevando las funcionalidades desde el prototipo hasta la producción. Este rol combina el desarrollo práctico de Python y JavaScript con una sólida comprensión de las integraciones de LLM, el estado de la conversación y la arquitectura de aplicaciones confiables. Trabajarás en estrecha colaboración con compañeros de producto e ingeniería para entregar sistemas que sean útiles, medibles y diseñados teniendo en cuenta los datos sensibles de atención médica.
Qué harás
- Diseñar y construir pipelines de RAG, incluyendo ingesta de documentos, chunking, embeddings, almacenamiento vectorial y pruebas de calidad de recuperación.
- Integrar APIs de proveedores de LLM, incluyendo Azure AI Foundry, Amazon Bedrock y OpenAI, equilibrando calidad, costo y latencia.
- Desarrollar flujos de trabajo de agentes utilizando LangChain y LangGraph, incluyendo llamadas a herramientas, orquestación de múltiples pasos y estado de conversación persistente.
- Construir agentes de voz en tiempo real utilizando WebSockets, pipelines de streaming de voz a texto y texto a voz, y plataformas como Retell.
- Desarrollar funcionalidades de aplicaciones y servicios backend utilizando Python 3.12+ y JavaScript/Node.js.
- Diseñar APIs REST y flujos de trabajo de procesamiento asíncrono utilizando colas de mensajes como BullMQ, RabbitMQ o Amazon SQS.
- Implementar salidas estructuradas, validación, reintentos y comportamiento de fallback para hacer que las funcionalidades de IA sean confiables.
- Establecer tracing, evaluación y monitoreo para evaluar el comportamiento del modelo, diagnosticar fallos y mejorar el rendimiento.
- Contenerizar servicios con Docker y Docker Compose, y contribuir a despliegues en AWS y pipelines de CI/CD.
- Colaborar en la planificación de sprints, revisiones de código y decisiones técnicas, aplicando prácticas de privacidad y seguridad apropiadas para aplicaciones de atención médica.
Qué aportarás
Experiencia central
- Sólida experiencia práctica en la construcción de sistemas RAG, con una clara comprensión de la búsqueda vectorial, embeddings, estrategias de chunking y tradeoffs de recuperación.
- Experiencia práctica en la integración de APIs de proveedores de LLM y en el envío de funcionalidades de IA a producción.
- Dominio de Python y JavaScript/Node.js, incluyendo desarrollo de APIs e integraciones de servicios.
- Experiencia con LangChain y LangGraph para orquestar flujos de trabajo de LLM con estado.
- Experiencia en la construcción de aplicaciones de voz en tiempo real, incluyendo streaming, gestión de turnos, manejo de interrupciones y optimización de latencia.
- Familiaridad con colas de mensajes y procesamiento en segundo plano confiable.
Habilidades de apoyo
- Conocimiento práctico de Docker, Docker Compose, Git y GitHub.
- Familiaridad con herramientas de CI/CD como AWS CodePipeline o equivalente.
- Experiencia trabajando en un entorno de desarrollo iterativo utilizando Jira y planificación de sprints.
- Conciencia de HIPAA y las responsabilidades involucradas en el manejo de información de salud protegida (PHI).
- Comunicación clara, juicio técnico sólido y la capacidad de convertir requisitos poco definidos en software mantenible.
Experiencia adicional que valoramos
- Parse y MongoDB.
- Servicios de AWS como ECS, Lambda y Application Load Balancer.
- Software de atención médica u otras aplicaciones que involucren datos sensibles.
- Coordinación multiagente y flujos de trabajo de larga duración con checkpointing, memoria y persistencia.
- Prompt engineering, generación con esquema restringido y definiciones de funciones/herramientas.
- Evaluación de LLM, observabilidad y pruebas de sistemas no deterministas.
- Mitigación de alucinaciones, inyección de prompts y uso inseguro de herramientas a través de validación y diseño de guardrails.
Cómo se verá el éxito
Entregarás funcionalidades de IA que funcionen de manera confiable en flujos de trabajo reales, con calidad de recuperación medible, interacciones de voz receptivas y visibilidad clara del comportamiento del sistema. Tomarás decisiones ponderadas entre calidad del modelo, costo, latencia y límites de contexto, mientras ayudas al equipo a mantener software seguro, comprensible y listo para producción.