import luciano
← volver

Agente de Evidencia Clínica

EN CURSO
PythonPydanticHexagonal/Clean Architecture

Descripción

En desarrollo de un asistente de apoyo a la decisión que ayude a profesionales de salud mental a fundamentar consultas clínicas en evidencia citada y auditable, en lugar de la fluidez sin fuente de un LLM — arquitecturando primero la base. Un núcleo hexagonal mantiene al dominio agnóstico de proveedor: declara un puerto LLMProvider y no importa ningún SDK de proveedor, así que cambiar de proveedor de modelo es agregar un adapter en lugar de refactorizar, algo que hace cumplir un test de arquitectura que analiza cada módulo con el AST de Python y falla en CI si los imports de una capa cruzan su límite. Un contrato de seguridad en dos capas separa la forma de la política: la salida estructurada de Pydantic garantiza la forma de cada clasificación, mientras que una capa de política monótona eleva a revisión humana ante baja confianza o urgencia clínica, y solo puede agregar supervisión, nunca quitarla. Cada llamada se instrumenta contra baselines de tokens, latencia y costo, con la fuente de la tarifa y su fecha versionadas junto al reporte, y los límites de cuota del proveedor se tratan como una restricción arquitectónica — un decorator de rate-limiting más reintento acotado con backoff — en lugar de un error transitorio para tragarse en silencio. La recuperación sobre un corpus curado de evidencia es la próxima capa, todavía no construida.

Destacados

  • Arquitecturé un asistente de evidencia clínica agnóstico de proveedor sobre un núcleo hexagonal: el dominio declara un puerto LLMProvider y no importa ningún SDK de proveedor, así que reemplazar el proveedor del modelo por uno local es agregar un adapter en lugar de refactorizar — algo que hace cumplir un test de arquitectura que falla en CI cuando una capa cruza su límite.
  • Diseñé un contrato de seguridad en dos capas para apoyo a la decisión en salud mental: la salida estructurada de Pydantic garantiza la forma de cada clasificación, mientras que una capa de política separada eleva a revisión humana ante baja confianza o urgencia clínica — monótona por diseño, de modo que las reglas solo pueden agregar supervisión humana, nunca quitarla.
  • Instrumenté baselines de tokens, latencia y costo con la fuente de la tarifa y su fecha versionadas junto al reporte, y traté los límites de cuota del proveedor como una restricción arquitectónica — decorator de rate-limiting más reintento acotado con backoff — en lugar de un error transitorio para tragarse en silencio.

Arquitectura

Consulta clínica → contrato de triage del dominio (QueryTriage de Pydantic: ruta, prioridad, confianza, evidencia) → política de seguridad monótona (eleva a revisión humana ante baja confianza o alta urgencia, nunca retira una escalación existente) → puerto LLMProvider, sin SDK de proveedor dentro de domain/ → un decorator RateLimitedProvider que impone la cuota por minuto del proveedor → un adapter de Gemini con reintento acotado y backoff ante fallos transitorios. Un test de arquitectura basado en AST analiza cada módulo de cada capa y falla en CI si un import de infrastructure se filtra hacia domain o application. Tokens, latencia y costo se miden en cada llamada y se versionan en un reporte de baseline junto con la fuente de la tarifa y su fecha.